MySQLをインストールしていて、DBの初期化のときにこんなエラーに当たった。
$ /usr/local/mysql-5.0.67/bin/mysql_install_db
Installing MySQL system tables...
080809 16:23:59 [Warning] option '': unsigned value 18446744073709551615 adjusted to 4294967295
080809 16:23:59 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
ERROR: 1136 Column count doesn't match value count at row 1
080809 16:23:59 [ERROR] Aborting
080809 16:23:59 [Note] /usr/local/mysql-5.0.67/libexec/mysqld: Shutdown complete
Installation of system tables failed!
Examine the logs in /var/lib/mysql for more information.
You can try to start the mysqld daemon with:
/usr/local/mysql-5.0.67/libexec/mysqld --skip-grant &
and use the command line tool
/usr/local/mysql-5.0.67/bin/mysql to connect to the mysql
database and look at the grant tables:
shell> /usr/local/mysql-5.0.67/bin/mysql -u root mysql
mysql> show tables
Try 'mysqld --help' if you have problems with paths. Using --log
gives you a log in /var/lib/mysql that may be helpful.
The latest information about MySQL is available on the web at
http://www.mysql.com
Please consult the MySQL manual section: 'Problems running mysql_install_db',
and the manual section that describes problems on your OS.
Another information source is the MySQL email archive.
Please check all of the above before mailing us!
And if you do mail us, you MUST use the /usr/local/mysql-5.0.67/bin/mysqlbug script!
んーdbの初期化に失敗する。しかもインストール先は/usr/local/mysql-5.0.67/だったのに/var/lib/mysql調べろとか言われるし…。
そういやrpmでmysqlがインストールされてたな。。。使ってないが。でも、エラーとの関連性は見出せず。あとgoogleとかで色々と調べたりしたけど結局解決策はなし。
ちょっと時間を置いて考えてみるとふと気になることが出てきた。my.cnfの存在だ。
サーバ自体はレンタルもので初期設定は既にされた状態で提供される。mysqlもそのサーバ内に用意されてたけどバージョン4.1系だし、これは使わずに5.0系を入れようとした。
もともと入ってる4.1系のmysqlは起動させなければ問題ないと思っていたが、my.cnfがどこに置かれているまでは気にしていなかった。で、調べてみると/etc/my.cnfを発見。
こ、こ、こいつが悪さしてたのか。。。my.cnfの中を見てみると色々と設定しているなぁ。というわけで
# cd /etc/
# mv my.cnf my.cnf.bak
ちょっと別にファイル名に変えてもう一回mysql_install_dbを実行。
$ /usr/local/mysql-5.0.67/bin/mysql_install_db
Installing MySQL system tables...
080809 17:13:18 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
080809 17:13:18 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK
Filling help tables...
080809 17:13:18 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
080809 17:13:18 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/mysql-5.0.67/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql-5.0.67/bin/mysqladmin -u root -h mdxadmin.securesites.net password 'new-password'
Alternatively you can run:
/usr/local/mysql-5.0.67/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr/local/mysql-5.0.67 ; /usr/local/mysql-5.0.67/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/local/mysql-5.0.67/bin/mysqlbug script!
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
よっしゃ、動いた。
あとはmy.cnfは元に戻して、こっちでインストールしたmysqlにはDATADIR/my.cnfを用意してやると多分大丈夫かな。確かこっちの方が優先順位高かったし。
作成日:2008/08/10 14:03:21