Mysql5.7.10でパスワード有効期限とパスワード変更のコマンド

2017年7月24日

知らなかった、Mysql5.7.4からどうやらパスワードの有効期限なるものがあるらしい。知らなかった、おかげでとんでもないトラブルを抱え込んでしまいました。昨年に最新バージョンとして5.7.10をインストールしたのですが、そのバージョンが鬼門、以前は5.6を使っていたので問題がなかったのですが、サーバーでmysqlを設定してから1年ジャスト、突然サーバーエラーとなりウェブサイトが閲覧不可となりました。

最初は原因がわからない、mysqlの接続ができず、コマンドラインでmysqlからテーブルの参照もエラーが出てしまったのでもしやと思いサーバー内に直接mysqlのコマンドラインを立ち上げパスワードの変更するとビンゴ!

八方ふさがりの状態をなんとか短時間で回避することができました。

mysqlのパスワード変更のコマンド

mysql> set password for ‘root’@’localhost’ = password(‘xxxxxxx’);

しかしそれでは1年後に同じことを繰り返すので有効期限を無期限にしておきます。
(セキュリティ上はあまりお勧めできませんがね、やはり定期的に変更することがいいとは思います、特に個人情報を持っているDBだと尚更ですが、私のサーバーは個人情報は一切ないので無期限にしました。)

iniファイルからもできますが、今回はコマンドラインで

パスワード有効期限を無期限にするコマンド

SET GLOBAL default_password_lifetime = 0;

無期限になっているかどうかの確認コマンド

SHOW GLOBAL VARIABLES LIKE ‘default_password_lifetime’;

GO TO HOME

こちらも合わせて読む