MySQL错误:无法加载身份验证插件“caching_sha2_password”

时间:2018-04-20 16:01:26

标签: mysql macos macos-high-sierra

我刚刚在我的macOS v10.13.4上安装了MySQL Ver.14.14 Distrib 5.7.22和Homebrew 我跑了命令:
mysql_secure_installation

安装完成后,按照Homebrew的指示,我运行了命令:
Error: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/Cellar/mysql/5.7.22/lib/plugin/caching_sha2_password.so, 2): image not found
并返回错误:mysql_upgrade -u root

我尝试了一些事情,比如在my.cnf文件中将default_authentication_plugin更改为mysql_native_password,但它仍然会抛出同样的错误。

接下来我尝试跑步:
mysql_upgrade: Got error: 2059: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/Cellar/mysql/5.7.22/lib/plugin/caching_sha2_password.so, 2): image not found while connecting to the MySQL server Upgrade process encountered error and will not continue.
我再次抛出同样的错误{{1}}

感谢任何帮助。

4 个答案:

答案 0 :(得分:4)

所以,我通过sudo lsof -i tcp:3306找到了mysqld的运行过程,然后我使用sudo kill -9 <PID>将其杀死了。

在此之后我再次尝试mysql_secure_installation,但遇到了一个新错误:

  

错误:无法通过socket'/tmp/mysql.sock'连接本地MySQL服务器(61)

尝试了一些修复以使mysql.sock工作之后,我用sudo mysql.server start启动了MySQL服务器,然后继续mysql_secure_installation为root用户设置密码。

这最终对我有用。

  

注意:Homebrew要求你在第一次启动MySQL服务器之前先做mysql_secure_installation,但这让我遇到了无休止的错误循环。

答案 1 :(得分:1)

我发现这与安装的mysql版本有关。就像上面一样,您首先应该找到然后杀死端口3306上附加的mysqld进程

sudo lsof -i tcp:3306
sudo kill -9 <Peocess ID>

然后通过brew升级mysql安装,在这种情况下:

brew upgrade mysql

这应该解决它。升级后运行mysql应该在安装后启动服务器。

例如mysql -u root -p [your password here]

答案 2 :(得分:0)

我在Sequel Pro中尝试通过SSH连接到本地安装了MySQL的AWS Ubuntu服务器时遇到此错误。

我使用的是非root用户的MySQL用户,它给了我这个错误。当我用root用户和密码运行它时,它起作用了。

答案 3 :(得分:-1)

重新启动mysql服务器以获取有效的更改并尝试通过mysql与任何mysql客户端连接。

否则使用docker

docker run -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql --default-authentication-plugin=mysql_native_password
mysql -uroot --protocol tcp

Try in PWD

相关问题。

Authentication plugin 'caching_sha2_password' cannot be loaded