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
DB関連書籍
Mysqlのおすすめ書籍PostgreSQLのおすすめ書籍
DBエンジニアとして読んでおきたい書籍