MySQLが”Failed to find valid data directory”エラーで起動できない

MySQLを手動インストールしたり、別インスタンスを作ろうとしていたところ「Failed to find valid data directory」エラーで立ち上がりませんでした。

解決法を書いておきます。

原因:データディレクトリが初期化されていない

まずこのエラーの主な原因は「データディレクトリが初期化されていない」こと。

エラーの内容を見るとまるでディレクトリがないかのような表現なので、ディレクトリ自体を作り直したり、ディレクトリパスの間違いや権限などのチェックに目が行きがちです。僕もそれで遠回りしてしまいました。

しかも起動すると、指定ディレクトリにエラーログだけが出てくるので、なぜfind valid data directoryなんだ?と混乱します。

2021-08-03T03:24:49.691130Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory.
2021-08-03T03:24:49.692125Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.

 

MySQLは別インスタンスなど、別ini(cnf)で起動する場合は事前にディレクトリの初期化が必要です。

初期化コマンドは(Windowsの場合)

mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\{iniファイル名}" --initialize --console

これをまず実行します。

iniのdatadirに書いてあるディレクトリにいろいろ初期ファイルが作られます。

 

初期化したあとは普通に起動するはずです。

コメント