2016年1月31日日曜日

mysqlのパスワード変更ができない!!!



mysqlをインストールしなおしたら
rootのパスワード変更ができなかったため
ちょっとメモ。



パスワードなしでログインしてパスワード変更しようとしたら こんなエラー。


mysql> set password for root@localhost=password('root');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

google先生に聞いてみると


MySQL 5.7.8以降のrpmパッケージではvalidate_passwordプラグインがデフォルトで有効になっている


とのこと。


今回、自分が設定したいパスワードは
ローカル環境のみで動かしていて、チームで決まったパスワードにしているため
「root」にしたい。




公式のページを見るといろいろ書かれてあったので ちょっと試してみました。



https://dev.mysql.com/doc/refman/5.6/ja/validate-password-plugin.html



mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
6 rows in set (0.01 sec)


文字数を4文字以内ならokにしたいから


mysql> SET GLOBAL validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_dictionary_file    |        |
| validate_password_length             | 4      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
6 rows in set (0.00 sec)



文字の種類を緩めたいから


mysql>  SET GLOBAL validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
6 rows in set (0.00 sec)



とすると



mysql> set password for root@localhost=password('root');
Query OK, 0 rows affected, 1 warning (0.01 sec)




やったね!

0 件のコメント:

コメントを投稿