MySQLは、バージョン5.7 以降、システムアカウントを使用して接続を受け入れるようになりました。 auth_socketを使用する パスワードプラグイン。 mysql_native_passwordオプションを使用したパスワードでrootアカウントを使用してMySQLサーバーに接続する必要がある場合があります。以下に示すコマンドを使用して、rootアカウントのデフォルトの動作を変更してネイティブパスワードを使用できます。
# Login to MySQL
sudo mysql
# Check password scheme of root user
SELECT user,authentication_string,plugin,host FROM mysql.user;
# Note the password plugin of root user
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
# Change password plugin of root user
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<pw>';
# Apply changes
flush privileges;
# Check password scheme of root user
SELECT user,authentication_string,plugin,host FROM mysql.user;
# Note the password plugin of root user
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *E5C4F73D963132CEF9BB4PA79LA818C08BAQC300 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
これが、MySQLユーザーのネイティブパスワードプラグインを使用する方法です。