9

当我尝试将 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

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

4

8 回答 8

25

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

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

于 2013-08-31T14:35:09.187 回答
12

在命令行上,使用类似下面的东西,如果你别无选择......

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

希望这对某人有所帮助,因为这是我从 Linux 机器连接的问题

于 2014-08-01T02:29:57.850 回答
3

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

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

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

于 2013-11-11T15:45:46.540 回答
2

自 MySQL Workbench 6.0.7 起已修复,这是更改日志条目:

在连接设置“高级”选项卡中添加了一个新选项,用于禁用 secure_auth (useLegacyAuth) 选项,以选择性地连接到旧系统。

在此处输入图像描述

于 2014-03-28T04:52:46.970 回答
1

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

于 2014-02-21T19:01:34.137 回答
1

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

错误 2049 (HY000):使用旧(4.1.1 之前)身份验证协议的连接被拒绝(启用了客户端选项“secure_auth”)

就我而言,如果我指定:

--skip-secure-auth

它会导致错误消息:

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

它仅在我指定时才有效:

在 /etc/my.cnf

[mysqld]
...
secure_auth=false

然后重启mysqld

于 2014-09-29T12:20:30.640 回答
0

使用 rayVenues 之类的方式,但您应该更改密码连接,它会正常工作:)

于 2015-06-24T04:29:42.590 回答
0

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

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

于 2015-12-17T16:32:40.923 回答