LoginSignup
4
0

More than 3 years have passed since last update.

MySQL8.0に変えたら起こるアレ

Last updated at Posted at 2019-03-31

MySQL8.0にしたらエラーが起こった

エラー内容

SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

解決方法はこれ↓
MySQL8.0以降で接続できない場合は「認証プラグイン」を変更する

記事の抜粋

MySQL8.0以降では認証プラグインがデフォルトでは「caching_sha2_password」となっています。その為、PHP/Ruby/Pythonなどのプログラム言語から接続できない場合があります。

認証方式の確認

mysql> SELECT user, host, plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| my-home-page     | %         | caching_sha2_password |
| root             | %         | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+

認証方式の変更

mysql> ALTER USER 'my-home-page'@'%' IDENTIFIED WITH mysql_native_password BY 'パスワード';
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'パスワード';
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'パスワード';

mysql> SELECT user, host, plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| my-home-page     | %         | mysql_native_password |
| root             | %         | mysql_native_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | mysql_native_password |
+------------------+-----------+-----------------------+

rootを変えたいのであればtestの部分をrootなどの任意のものに指定する。

事前の対策

/etc/my.cnfに書きを追記

[mysqld]
default-authentication-plugin = mysql_native_password

余談

僕はLaravelのphp artisan migrateした時に起こりました。
エラー内容やキーワードを詰め込んだので同じ様に困った人がこの記事にたどり着いて問題を解決してくれるといいな。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0