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

时间:2013-08-08 12:50:31

标签: mysql authentication

当我尝试将5.0版本中的所有数据库转储恢复到5.6版本时,它已恢复,之后当我尝试重新连接时,我收到以下错误

ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol ref used (client option 'secure_auth' enabled) ..

我尝试在My.ini中添加以下行并重新启动服务,但问题一直持续到。

skip-grant-tables

以下链接说明它是MYSQL中的一个错误。

https://github.com/santisaez/powerstack/blob/master/packages/mysql/mysql-powerstack-secure_auth.patch

有没有人对此解决方案有任何修复?

8 个答案:

答案 0 :(得分:25)

在“管理服务器连接”对话框中对MySQLWorkBench 6.0使用此解决方法:

在连接设置对话框的“高级选项”框中添加useLegacyAuth = 1。

答案 1 :(得分:11)

在命令行中,如果您别无选择,请使用以下内容...

mysql -uTheUseerNAme -pThePassword DbName -h HostName --skip-secure-auth

希望这有助于某人,因为这是我从Linux机箱连接的问题

答案 2 :(得分:3)

最好的办法是将用户密码重置为新的哈希算法

使用工作台:http://blogs.technicise.com/change-root-password-in-mysql-workbench/

命令行:http://www.cyberciti.biz/faq/mysql-change-root-password/

答案 3 :(得分:2)

自MySQL Workbench 6.0.7起修复,此处为更改日志条目:

在连接设置中添加了一个新选项"高级"标签 禁用secure_auth(useLegacyAuth)选项,以选择性地连接到 遗留系统。

enter image description here

答案 4 :(得分:1)

对于管理服务器连接,连接选项卡,高级子选项卡中的MySQL Workbench 6.08,您必须选中“使用旧的身份验证协议”框。

答案 5 :(得分:1)

我在使用MySQL的Centos 7中遇到了同样的问题。如果我尝试通过mysql客户端连接:

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

在我的情况下,如果我指定:

- 跳过安全-AUTH

导致错误消息:

ERROR 1275(HY000):服务器在--secure-auth模式下运行,但是'root'@'localhost'有旧格式的密码;请将密码更改为新格式

仅在我指定时才起作用:

/etc/my.cnf

[mysqld]
...
secure_auth=false

然后重启mysqld

答案 6 :(得分:0)

使用像rayVenues这样的方法但你应该改变你的密码连接,它会正常工作:)

答案 7 :(得分:0)

我有类似的问题,但使用MAC终端连接远程MySQL数据库。

解决方案:我创建了一个具有较少特殊字符的新用户,该问题消失了。