我正在连接MySQL - 8.0与MySQL工作台和得到以下错误:
无法加载认证插件“caching_sha2_password”: dlopen (/ usr /地方/ mysql / lib /插件/ caching_sha2_password。所以,2):图像 没有找到
我也尝试过其他客户端工具。
有什么解决办法吗?
我正在连接MySQL - 8.0与MySQL工作台和得到以下错误:
无法加载认证插件“caching_sha2_password”: dlopen (/ usr /地方/ mysql / lib /插件/ caching_sha2_password。所以,2):图像 没有找到
我也尝试过其他客户端工具。
有什么解决办法吗?
当前回答
像这样的吗?
docker run -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql --default-authentication-plugin=mysql_native_password
mysql -uroot --protocol tcp
试试PWD
https://github.com/GitHub30/docs/blob/change-default_authentication_plugin/mysql/stack.yml
或者你应该使用MySQL Workbench 8.0.11。
其他回答
如果你像我一样在GitLab上得到这个错误: 只要从最新版本更改到5.7版本即可;)
# .gitlab-ci.yml
rspec:
services:
# - mysql:latest (I'm using latest version and it causes error)
- mysql:5.7 #(then I've changed to this specific version and fix!)
我在Windows 10电脑上使用“MySQL Web安装程序”安装MySQL,在尝试使用MySQL工作台连接时遇到了同样的问题。我通过在安装程序窗口中重新配置服务器来解决这个问题。
点击“重新配置”选项将允许重新配置服务器。点击“下一步”,直到你到达“认证方法”。
在这个选项卡上,使用第二个选项“使用遗留身份验证方法(保留MySQL 5。x兼容性)”。
保持一切不变,这就是我如何解决我的问题。
以下是在Windows 10上安装MySQL 8.0后对我有效的解决方案。
假设MySQL用户名为root,密码为admin
打开命令提示符,输入以下命令:
cd C:\Program Files\MySQL\MySQL Server 8.0\bin Mysql_upgrade -uroot -padmin Mysql -uroot -padmin ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY “管理”
对于Windows 10,
修改C:\ProgramData\MySQL\MySQL Server 8.0目录下my.ini文件 (mysqld) default_authentication_plugin = mysql_native_password 重新启动MySQL服务。 通过命令行登录MySQL,在MySQL中执行如下命令: 创建新用户。 创建用户“USER”@“localhost” 授予所有特权。 授予'user'@'localhost'上的所有权限; 打开MySQL工作台,并使用新的用户凭证打开一个新连接。
我也面临着同样的问题,这个方法奏效了。
几乎像上面的答案一样,但可能是在简单的查询中,我在MySQL升级后的spring引导应用程序和hibernate中得到了这个错误。通过对DB运行下面的查询,我们创建了一个新用户。我相信这是一个临时的工作,使用sha256_password而不是最新的和良好的身份验证caching_sha2_password。
CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pa$$word';
GRANT ALL PRIVILEGES ON * .* TO 'username'@'localhost';