mysqlのDBディレクトリ変更時のエラー

DBの再構築する場合やDBデータディレクトリを変更するなどmy.cnfを修正したときに、 下記ログは起動時に吐かれ、Mysqlが起動できません。

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


[Table 'mysql.host' doesn't exist]とでたらまず、下記コマンドでシステムテーブルの再構築してください。
私の環境では、DBデータが消えることはありませんでした。

mysql_install_db

※MySQL データを初期化し、システム テーブルを再構築する。

つぎに下記のエラーがでます。
これは、上記で起動した際になぜかroot権限で一部のファイルが作成されたまま残っているため、書き込めできずエラーとなります。

[ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/host.frm


Mysqlのディレクトリを権限がrootになっていたのでMysqlユーザへ変更

chown mysql:mysql /var/lib/mysql -R




基礎からのMySQL 改訂版 (プログラマの種シリーズ SE必修! )
著者:西沢 夢路
出版日:2012-05-01

Webエンジニアのための データベース技術[実践]入門
著者:松信 嘉範
出版日:2012-03-09







DB関連書籍

Mysqlのおすすめ書籍
PostgreSQLのおすすめ書籍
DBエンジニアとして読んでおきたい書籍


Google+