这两天学习python数据库操作,出现一个无法连接MySQL的问题,卡了两三天。
系统配置
- windows10 64bit
- python使用anaconda3安装,图个省事,安装后为python3.6
出现问题
在使用MySQLdb去链接数据库的时候,出现了图示问题,错误代码2059。
尝试过关闭windows防火墙,无效。windows的cmd窗口可正常连接MySQL。怀疑是pytho3版本问题,于是下载了python2.7版本尝试,依然提示错误(ERROR 1251: Client does not support authentication等等)。
对于2059错误代码,此官网如下解释:
[ 查看官网说明 ]
在网上看到是MySQL版本问题。高版本的MySQL密码认证协议是与低版本不同的。网上也有给出的方法,但亲试后无效。
于是卸载MySQL8.0,安装MySQL5.6版本(zip方法安装,依然是默认端口3306)。再用python连接成功。