CentOS7での『mysqlパスワード初期化』

mysqlのインストールが思った通りにいかなかった、という経験はないだろうか。

その場合mysqlを一旦消し、再インストールすることになる。

だがここで問題が生じる。

二回目に再インストールを行った場合、/var/log/mysqlに初回ランダムパスワードが載らないのだ。

当方の場合は一回目からランダムパスワード入れても下記のメッセージがでて、入れなかったけれど…

こういう場合はパスワードを強制的に変更するしかない。

パスワード初期化

初期化というか強制変更?

CetOS7では、service系のコマンドが使えなくなっているので注意しよう。

まずは–skip-grant-tablesオプションでmysqlを起動する。

--skip-grant-tables

このオプションにより、サーバーは権限システムをまったく使用せずに開始され、サーバーへのアクセス権を持つすべてのユーザーにすべてのデータベースに対する無制限アクセス権が与えられます。

MySQL 5.6 リファレンスマニュアル

これでmysqlにパスワードなしでログインできるようになった。

任意のパスワードを設定しよう。

mysqlの新しいバージョンでは(“設定するパスワード”)の二重引用符が使えなくなったとの情報あり。

権限テーブルの再読み込みを行う。

mysqlを再起動して終了だが、ここで–skip-grant-tablesオプションを解除しておくこと。

これでmysqlに設定したパスワードでログインできるようになった。

おまけ:簡単なパスワードを許可する

最近の、というかmysql 5.7以降は、セキュリティがうんたらかんたらで、やたら厳しいパスワード設定を求められる。

うっかり適当なパスワードを設定すると下記のように怒られる。

だが個人使用なのでそこまで難解なパスワードは必要ない。

そういう方はパスワードレベルを下げておこう。

これで4文字以上ならどんなものでもパスワードとして認められるようになった。

・簡単なパスワードでのユーザー作成。

・rootユーザーのパスワードを変更。