@Satoh_D no blog

大分にUターンしたので記念に。調べたこととか作ったこととか食べたこととか

MySQLの起動時に "Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist"というエラーが出た

お名前.comのサーバ設定時、MySQLインストール後、起動しようとしたところ何故か失敗ばかり...。
エラーログを見たところ、下記のようなエラーが出ていました。

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

調べてみると、インストール時に mysql_install_db が実行されるが、ディレクトリがわからない状態らしい。
インストール場所とユーザ名を指定して明示的に実行すると良さそうです。

# mysql_install_db --datadir=/var/lib/mysql --user=mysql

datadirとuserの内容は /etc/my.cnf に記載されている内容と同じものを指定しています。
上記のコマンドを実行後、再度MySQLを起動してみます。

# /etc/rc.d/init.d/mysqld start
mysqld を起動中:                                           [  OK  ]

無事に起動出来ました。
この問題でかなりハマりました...。

今回参考にしたページ