MySQL erfordert libc
5.4.12 oder höher.
Bekanntermaßen funktioniert es mit libc
5.4.46. glibc
2.0.6 und höher sollten
ebenfalls keine Probleme bereiten. Es hat in der Vergangenheit
einige Probleme mit den glibc
-RPMs von Red
Hat gegeben. Prüfen Sie also bei Auftreten von Problemen, ob
Updates vorhanden sind. Die glibc
-RPMs
2.0.7-19 und 2.0.7-29 RPMs funktionieren ebenfalls
einwandfrei.
Wenn Sie Red Hat 8.0 oder eine neue glibc
2.2.x-Bibliothek verwenden, werden Sie unter Umständen
feststellen, dass sich mysqld in
gethostbyaddr()
aufhängt. Dies geschieht,
weil die neue glibc
-Bibliothek eine
Stapelgröße von mehr als 128 Kbyte für diesen Aufruf
benötigt. Um das Problem zu beheben, starten Sie
mysqld mit der Option
--thread-stack=192K
. (Verwenden Sie
-O thread_stack=192K
bei MySQL vor Version
4.) Diese Stapelgröße ist bei MySQL 4.0.10 und höher
voreingestellt, weswegen das Problem bei diesen Versionen
nicht auftreten sollte.
Wenn Sie zur Kompilierung von MySQL gcc 3.0
und höher verwenden, müssen Sie die Bibliothek
libstdc++v3
vor der MySQL-Kompilierung
installieren, da Sie andernfalls bei der Verknüpfung eine
Fehlermeldung zu einem fehlenden
__cxa_pure_virtual
-Symbol erhalten.
Bei einigen älteren Linux-Distributionen erzeugt configure unter Umständen einen Fehler wie den folgenden:
Syntax error in sched.h. Change _P to __P in the /usr/include/sched.h file. See the Installation chapter in the Reference Manual.
Tun Sie einfach, was die Fehlermeldung vorschlägt: Ergänzen
Sie den Makronamen _P
, der nur einen
Unterstrich aufweist, um einen weiteren Unterstrich und
probieren Sie es dann erneut.
Bei der Kompilierung werden unter Umständen Warnungen angezeigt. Die folgenden können dabei ignoriert werden:
mysqld.cc -o objs-thread/mysqld.o mysqld.cc: In function `void init_signals()': mysqld.cc:315: warning: assignment of negative value `-1' to `long unsigned int' mysqld.cc: In function `void * signal_hand(void *)': mysqld.cc:346: warning: assignment of negative value `-1' to `long unsigned int'
Wenn mysqld beim Start immer einen
Speicherauszug erzeugt, kann dies möglicherweise durch eine
veraltete /lib/libc.a
verursacht worden
sein. Versuchen Sie sie umzubenennen, entfernen Sie
sql/mysqld
, führen Sie ein neues
make install durch und probieren Sie es
dann erneut. Dieses Problem wurde für einige
Slackware-Installationen gemeldet.
Wenn Sie die folgende Fehlermeldung beim Verknüpfen von
mysqld erhalten, ist Ihre
libg++.a
nicht korrekt installiert:
/usr/lib/libc.a(putc.o): In function `_IO_putc': putc.o(.text+0x0): multiple definition of `_IO_putc'
Sie können die Verwendung von libg++.a
vermeiden, indem Sie configure wie folgt
ausführen:
shell> CXX=gcc ./configure
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.