今までローカルでrailsアプリ開発をやっているとMySQLのパスワードは空白の方が何かと楽に開発できるので空白にしてました。
しかしMySQL5.7だと強制的にパスワードを設定しないと行けなくなっているっぽいですね。
一応解決方法があったのでメモ。
やるのは自己責任でお願いします。
まずはMySQLの設定を確認する。
SHOW GLOBAL VARIABLES LIKE 'validate%';
を実行すると以下の結果が返るはず。
Variable_name | Value |
---|---|
validate_password_check_user_name | OFF |
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 |
validate_password_lengthでパスワード数が8桁以上とかになっている。
なのでこの設定を変更して空白を登録できるようにするよ。
以下の順番でSQLを実行してみましょう。
1 2 3 4 5 6 |
SET GLOBAL validate_password_policy=LOW; SET GLOBAL validate_password_length=0; SET GLOBAL validate_password_special_char_count=0; SET GLOBAL validate_password_number_count = 0; SET GLOBAL validate_password_mixed_case_count = 0; flush privileges;# 設定の反映 |
再度以下SQLを実行すると
SHOW GLOBAL VARIABLES LIKE 'validate%';
Variable_name | Value |
---|---|
validate_password_check_user_name | OFF |
validate_password_dictionary_file | |
validate_password_length | 0 |
validate_password_mixed_case_count | 0 |
validate_password_number_count | 0 |
validate_password_policy | LOW |
validate_password_special_char_count | 0 |
最後に以下SQLを実行するとrootユーザのパスワードが空白になります。
1 |
UPDATE user SET authentication_string=PASSWORD('') where User='root'; |
直接パスワードを空に修正すると
Your password does not satisfy the current policy requirements
とエラーになると思います。
が上記手順を行えばパスワードを空白にすることができました。
参考
MySQL Bugs: #74794: use validate password plugin result in mysqld shutdown abnormally
mysql5.7でパスワードを変更する
スポンサードリンク