概要
久しぶりにmysqlの初期化をしようとしたらmysql_install_dbが無くなってたのでメモ。
mysql_install_dbの変更
どうやらMySQL5.7からmysql_install_dbではなく、mysqld –initializeを使用するようだ。
MySQLのデータディレクトリ(デフォルトは/var/lib/mysql)の中身が存在している場合はエラーになるため、実行前に全て削除しておく必要がある。
データディレクトリを削除するとDBのデータは削除されるため、必要であれば事前にバックアップ推奨。
初期化実行
# mysqld --initialize --user=mysql
20191115更新--user=mysql
を追加。rootでの実行のみ有効
このオプションなしで実行した場合/var/lib/mysql以下のファイルが所有者rootになるので、mysql起動時にエラーとなる。
rootで作成済みであれば/var/lib/mysql以下のファイルをmysqlに所有者を変更する事で起動可能
rootのパスワードは自動設定される。/var/log/mysqld.logを参照。
パスワード自動設定無しで初期化する場合は以下のコマンドを実行。
# mysqld --initialize-insecure
以上