我在尝试从其他服务器远程连接到我的数据库服务器时遇到问题。 当我尝试建立连接时收到以下错误:
错误 2049 (HY000):连接使用旧的(4.1.1 之前的)身份验证协议(protocol)引用 使用(启用客户端选项'secure_auth')
我检查了数据库服务器上的secure_auth选项,它是关闭的,而且我的客户端似乎有这个选项激活正如消息所说。 有什么方法可以通过仅修改数据库服务器上的设置来解决这个问题吗?
最佳答案
我遇到了完全相同的问题,这最终对我有用:
我卸载了我的本地 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 会提示。
关于MySQL 错误 2049 : Authentication protocol error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18815242/