Flask连接Windows版MySQL时出现的问题记录

1.ModuleNotFoundError: No module named ‘MySQLdb’

在Flask中连接MySQL时出现ModuleNotFoundError: No module named 'MySQLdb'错误,需要在配置SQLALCHEMY_DATABASE_URI时加上pymysql:
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:dzd123@localhost/你的数据库名'
如果没有pymysql话的需要用pip进行安装。
原因为:MySQLdb只支持Python2.*,还不支持3.*,可以用pymysql代替。

参考链接:https://blog.csdn.net/qq_25046261/article/details/78991442

2.问题 1336 Incorrect string value: '\xD6\xD0\xB9\xFA\……

具体报错为:
default.py:470: Warning: (1366, "Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABLE_VALUE' at row 479")
原因可能是哪一部分的驱动的编码格式有问题。
换成使用mysqlconnector就可以了,如下:
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqlconnector://root:password@localhost/database'

参考链接:https://segmentfault.com/a/1190000010596306

3.python3.5连接mysql8.0.13 出现 caching_sha2_password错误。

具体报错为:
mysql.connector.errors.NotSupportedError: Authentication plugin 'caching_sha2_password' is not supported

原因是因为mysql8.0.11使用了Use Strong Password Encryption for Authentication即强密码加密。

解决方法有两种:1:重新配置mysql,将Use Strong Password Encryption for Authentication改为Use Legacy Authentication Method(在Authentication Method中改) 2:因为python3.5以下不支持caching_sha2_password,可使用python3.6进行连接。

我暂时不想升级到3.6,所以就重新配置MqSQL,下面是流程:
1.运行开始菜单中的
mysql installer
2.对MySQL Server 进行Reconfigure
在这里插入图片描述
3.在这一步中将密码模式换成下面这个legacy Authentication Method,就ok了
在这里插入图片描述

参考链接:https://blog.csdn.net/sinat_36188088/article/details/81174509

感谢以上各位大神。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值