MySQL错误2049:身份验证协议错误

时间:2013-09-15 17:21:06

标签: mysql

尝试从其他服务器远程连接到我的数据库服务器时遇到问题。 我尝试建立连接时收到以下错误:

ERROR 2049(HY000):使用旧的(4.1.1之前的)身份验证协议参考连接 used(客户端选项'secure_auth'已启用)

我已检查数据库服务器上的 secure_auth 选项,并且关闭,我的客户端似乎已将此选项激活正如消息所说。 有没有办法通过修改数据库服务器上的设置来解决这个问题?

2 个答案:

答案 0 :(得分:1)

我遇到了这个完全相同的问题,这最终对我有用:

我卸载了我的本地mysql客户端(我运行的是MySQL 5.6)并安装了MySQL 5.5,然后重新启动了我的电脑。

我在Mac上使用Homebrew,所以我这样做了:

brew uninstall mysql
brew tap homebrew/versions
brew install mysql55
brew link --force mysql55
ln -sfv /usr/local/opt/mysql55/*.plist ~/Library/LaunchAgents
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql55.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql55.plist

显然我的5.6客户端并不想使用我公司的服务器使用的安全性较低的密码,即使我曾试图在本地关闭secure_auth。 MySQL 5.5并不抱怨密码不太安全,但5.6确实如此。

答案 1 :(得分:0)

这种情况正在发生,因为您的用户帐户的密码使用了古老的哈希算法。使用新式哈希创建一个新用户,现在使用该新用户没有任何问题。检查here相关信息