2014年9月5日金曜日

mysql5.6でユーザー作成したらエラーになった

mysql5.6でユーザー作成したらエラーになったので調べてみました。

grant select on test.* to 'test_r'@'localhost' IDENTIFIED BY PASSWORD 'パスワード';
ERROR 1827 (HY000): The password hash doesn't have the expected format. Check if the correct password algorithm is being used with the PASSWORD() function.
どうやらパスワードを生で入れてはだめと言っているようです。
PASSWORD()で暗号化するとよいみたいです。
mysql> select password('パスワード');
+-------------------------------------------+
| password('パスワード')                    |
+-------------------------------------------+
| *CE405B6FE1164FDCD390917220F25F9E97448173 |
+-------------------------------------------+
1 row in set (0.03 sec)
暗号化したパスワードを入れて再度ユーザー作成を行うと、ちゃんと作成できました。
grant select on test.* to 'test_r'@'localhost' IDENTIFIED BY PASSWORD '*CE405B6FE1164FDCD390917220F25F9E97448173';
アプリケーションから接続する時は暗号化する前のパスワードを使う形でよいようです。

参考URL
http://shareolite.blogspot.jp/2014/03/how-to-solve-mysql-error-1827-hy000.html#.U_XEAIB_vGw

0 件のコメント:

コメントを投稿