当我尝试将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中的一个错误。
有没有人对此解决方案有任何修复?
答案 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)选项,以选择性地连接到 遗留系统。
答案 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数据库。
解决方案:我创建了一个具有较少特殊字符的新用户,该问题消失了。