UbuntuやMySQLなどの一部のシステムでは、UNIXauth_socketプラグイン デフォルトで。
基本的には、次のことを意味します。それを使用するdb_usersは、システムユーザーの資格情報によって「認証」されます。 root
かどうかを確認できます ユーザーは次のように設定されます:
sudo mysql -u root # I had to use "sudo" since it was a new installation
mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;
+------------------+-----------------------+
| User | plugin |
+------------------+-----------------------+
| root | auth_socket |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+
クエリでわかるように、root
ユーザーはauth_socket
を使用しています プラグイン。
これを解決するには2つの方法があります:
- ルートを設定できます
mysql_native_password
を使用するユーザー プラグイン - 新しい
db_user
を作成できます あなたとsystem_user
(推奨)
オプション1:
sudo mysql -u root # I had to use "sudo" since it was new installation
mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;
sudo service mysql restart
オプション2: (YOUR_SYSTEM_USERをお持ちのユーザー名に置き換えてください)
sudo mysql -u root # I had to use "sudo" since is new installation
mysql> USE mysql;
mysql> CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY 'YOUR_PASSWD';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost';
mysql> UPDATE user SET plugin='auth_socket' WHERE User='YOUR_SYSTEM_USER';
mysql> FLUSH PRIVILEGES;
mysql> exit;
sudo service mysql restart
オプション#2を使用する場合は、システムユーザー名としてMySQLに接続する必要があることに注意してください(mysql -u YOUR_SYSTEM_USER
。
注: 一部のシステム(例: Debian 9
(ストレッチ))'auth_socket'プラグインはUPDATE user SET plugin='unix_socket' WHERE User='YOUR_SYSTEM_USER';
@andyのコメントから、MySQL8.x.xがauth_socket
を更新/置換したようです。 caching_sha2_password
の場合 。これをテストするためのMySQL8.x.xのシステムセットアップがありません。ただし、上記の手順は、問題を理解するのに役立ちます。返信は次のとおりです:
MySQL 8.0.4での変更点の1つは、新しいデフォルトの認証プラグインが「caching_sha2_password」であるということです。新しい「YOUR_SYSTEM_USER」にはこの認証プラグインがあり、「mysql -u YOUR_SYSTEM_USER -p」を使用してBashシェルからログインし、プロンプトでこのユーザーのパスワードを入力できます。 「UPDATEuserSETplugin」ステップは必要ありません。
8.0.4のデフォルトの認証プラグインの更新については、 https://mysqlserverteam.com/mysql-8-0-4-new-default-authentication-plugin-caching_sha2_password/