MySQL は、libc
バージョン 5.4.12
以降を必要とします。MySQL が
libc
5.4.46
と連携して正常に動作することは知られています。glibc
バージョン 2.0.6
以降も正常に機能するはずです。Red Hat 製の
glibc
RPM
にはいくつかの問題がありました。したがって、問題が発生した場合は、更新がないかどうかチェックしてください。
glibc
2.0.7-19 および 2.0.7-29 の RPM
は、正常に機能することが知られています。
Red Hat 8.0 以降の glibc
2.2.x
ライブラリを使用している場合は、--thread-stack=192K
オプションを指定して mysqld
を起動してください (MySQL 4
より前のバージョンの場合は -O
thread_stack=192K
を使用してください)。このオプションを使用しないと、mysqld
は gethostbyaddr()
で停止します。これは、新しい
glibc
ライブラリがこのコールのために 128KB
を超えるスタックサイズを必要とするためです。MySQL
4.0.10
以降では、このスタックサイズがデフォルトになりました。
gcc
3.0 を使用して MySQL
をコンパイルする場合は、コンパイルの前に
libstdc++v3
ライブラリをインストールする必要があります。このライブラリをインストールしないと、リンク時に
__cxa_pure_virtual
シンボルが見つからないというエラーが出力されます。
一部の旧バージョンの Linux
ディストリビューションでは、configure
時に以下のようなエラーが出力されることがあります。
Syntax error in sched.h. Change _P to __P in the /usr/include/sched.h file. See the Installation chapter in the Reference Manual.
このエラーメッセージの指示に従って、1
つのアンダースコアしかない _P
マクロに、アンダースコアをもう 1
つ追加してから、再実行します。
コンパイル中にいくつかの警告が表示されることがあります。以下に示した警告は無視してかまいません。
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'
mysql.server
は、MySQL
インストールディレクトリの下の
share/mysql
ディレクトリか、MySQL
ソースツリーの support-files
ディレクトリにあります。
mysqld
が起動時に必ずコアダンプする場合は、旧バージョンの
/lib/libc.a
を使用していることが問題である可能性があります。このファイルの名前を変更して、sql/mysqld
を削除し、新たに make install
を実行して、もう一度起動してみてください。一部の
Slackware
でこの問題が発生することが報告されています。
mysqld
をリンクしているときに以下のエラーが発生した場合は、libg++.a
が正しくインストールされていないことを意味します。
/usr/lib/libc.a(putc.o): In function `_IO_putc': putc.o(.text+0x0): multiple definition of `_IO_putc'
以下のように configure
を実行して、libg++.a
を使用しないようにすることができます。
shell> CXX=gcc ./configure
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.