MySQL 5.7 インストール後に root パスワードを変更する方法
MySQL 5.7 をインストールした後に、少々はまったので備忘録として。
Advertisement
MySQL の初期パスワードの確認
MySQL 5.7 をインストールすると、インストール時にランダムな文字列が、root ユーザの初期パスワード(temporary password)として自動的に設定されます。
この初期パスワードを確認するには、MySQL のエラーログを確認する必要があります。
例えば、ログの場所が、/var/log/mysqld.log の場合は、以下にように検索できます。
$ cat /var/log/mysqld.log | grep 'temporary password' [Note] A temporary password is generated for root@localhost: [初期パスワード]
ちなみに、初期パスワードが分からなくなった場合は、セーフモードで MySQL Server を起動して root のパスワードを再設定する手段もあります。(参考: 「MySQL 5.7 で root ユーザのパスワードを再設定 – Qiita」参照)
mysql_secure_installation による初期設定
mysql_secure_installation コマンドにより、root ユーザのパスワードを初期パスワードから変更することができます。
$ mysql_secure_installation
mysql_secure_installation により設定される内容は以下となります。
- root ユーザのパスワード変更
- anonymous ユーザの削除
- リモートからの root ユーザでのログインの禁止
- test データベースの削除
パスワードチェックポリシーの無効化
my.cnf に validate-password = OFF を追記することで、パスワードのポリシーチェックを無効にすることができます。
デフォルトでは、パスワードポリシーが厳しすぎるため、少々扱いにくいです。(セキュリティ的には、正しいのですが)
また、MySQL 5.7 からユーザーのパスワードの有効期限がデフォルトで360日になったため、default_password_lifetime = 0 として、パスワードの有効期限を無効にしておきます。
[mysqld] ... default_password_lifetime = 0 validate-password = OFF
参考
- MySQL 5.7 をインストールしたら最初に行うセットアップ
https://weblabo.oscasierra.net/mysql-57-init-setup/ - MySQL 5.7 で root ユーザのパスワードを再設定 – Qiita
https://qiita.com/ksugawara61/items/d8d69b7d57a3afcef980