MySQL 5.7 初期パスワード設定あれこれメモ
MySQLインストール後、パスワード設定関連であれこれ調べたのでメモ。
root初期パスワード
mysqlインストール後、mysql_secure_installationコマンドで初期設定を開始。
# mysql_secure_installation
---
Securing the MySQL server deployment.
Enter password for user root:
---
・・・rootのパスワードが分からない
調べた所、ログからパスワードを確認可能とのこと。
# vi /var/log/mysqld.log
以下を確認("~root@localhost:"以降が初期パスワード)
---
[Note] A temporary password is generated for root@localhost: KasRjNDHi7#&
---
このパスワードはMySQLインストール時にランダムで生成されるらしい。
validate_passwordプラグイン設定
パスワードが分かった所で、初期設定を実行
# mysql_secure_installation
---
Enter password for user root: [初期パスワード]
The existing password for the user account root has expired. Please set a new password. [新しいパスワード入力]
New password: [新しいパスワードもう一回入力]
Re-enter new password:
... Failed! Error: Your password does not satisfy the current policy requirements
---
ん?「お前のパスワードはポリシーを満たしてない」的なエラー発生。
調べてみると、MySQL5.7ではvalidate_passwordというプラグインがデフォルトでインストールされているとのこと。
デフォルトのポリシーでは、8文字以上+大文字小文字+数値+記号を含める必要がある。とりあえずはポリシーに従ってrootのパスワードを変更。
ユーザーパスワードは既存のものを使用する必要があったため、プラグインのポリシーを変更する。
・デフォルトのポリシー確認
mysql> SHOW GLOBAL VARIABLES LIKE 'validate%';
---
---
・文字数制限変更
mysql> SET GLOBAL validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)
・文字種制限変更
mysql> SET GLOBAL validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)
・変更確認
mysql> SHOW GLOBAL VARIABLES LIKE 'validate%';
---
---
これでよし。
参考にさせて頂いたサイト