SQLSTATE[HY000] [2054] 服务器请求客户端未知的身份验证方法 (SQL: select <database and table> = BASE_TABLE ))

SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client (SQL: select <database and table> = BASE_TABLE ))

我在 gitlab CI 控制台中有这个错误。

SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client (SQL: select * from information_schema.tables where table_schema = <mydatabase> and table_name = migrations and table_type = 'BASE TABLE')

搜索后,我已经试过了

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypassword';

有人可以帮助我吗?我使用 debian 生产服务器 !

在新的 my-sql 中,如果安装时密码为空,则它基于 auth_socket 插件。

正确的方法是使用 sudo 权限登录 my-sql

$ sudo mysql -u root -p

如果您在 macOS 中使用 MAMP,那么您使用的 MAMP 版本会自行安装在 /Applications/MAMP 中。首先通过 MAMP 控制台确保 Mysql 服务器已打开。然后从命令行像这样连接:

/Applications/MAMP/Library/bin/mysql -uUsername -pPassword

输入您的数据库密码,然后使用以下方式更新密码:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';

其中 new-password 是您的新数据库密码或您想要的

然后在my-sql终端中输入以下命令:

mysql> FLUSH PRIVILEGES;

通过尝试,我希望你的问题能得到解决,如果没有,请发表评论 谢谢