连接MySQL数据库时出现此错误:
Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)
使用不同版本的libmysql.dll似乎会出现问题。
我可以使用我从安装MySQL社区服务器(5.6.0)获得的先前版本进行连接。但是,当我自己构建libmysql.lib和.dll时,使用MySQL C / connector源代码,连接失败并出现上述错误。所以这让我认为在构建DLL文件时可能在源代码中有一个设置,我必须观察它才能正确连接。可能是什么?
答案 0 :(得分:2)
这不是连接器问题,而是数据库问题:这个blog post涵盖了它。基本上,密码哈希从4.1开始改变了,但旧方法保留了OLD_PASSWORD
函数来访问它。但是,5.6版本决定简单地拒绝仍然基于该身份验证方法的连接。
所以你有2个解决方案: