我刚刚在我的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}}
感谢任何帮助。
答案 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
相关问题。
Authentication plugin 'caching_sha2_password' cannot be loaded