最近使用django2.26,使用python manage.py migrate,一直报错,报错内容为“django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.”。
代码运行环境:python3.7.2 、django2.2.6 、pymysql0.9.3、 mysql5.5
解决方案:
方案一:使用Django2.14以下版本
方案二:直接修改django代码
详见:
https://www.jianshu.com/p/c44b0c88fafe
https://www.cnblogs.com/dotnetcrazy/p/10779304.html
方案三:升级的mysql客户端
(MySQL的版本的问题,因为之前一直用的是MySQL5.5,然后就去MySQL官网下载MySQL5.7。)
简单记录下安装MySQL步骤。
MySQL下载地址:https://downloads.mysql.com/archives/community/
1、解压mysql-5.7.28-winx64.zip文件到你指定的位置,并创建data目录和my.ini文件,同时将mysql加入到环境变量。
如下图所示:
①创建data目录和创建my.ini文件
②加入环境变量
③其中my.ini文件内容直接复制别人的配置,如需使用,请做相应修改:
[mysqld]
port=3306
character_set_server=utf8
basedir=E:\mysql5.7.23
datadir=E:\mysql5.7.23\data
server-id=1
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1
innodb_file_per_table = 1
log_timestamps=SYSTEM
log-error = error.log
slow_query_log = 1
slow_query_log_file = slow.log
long_query_time = 5
log-bin = binlog
binlog_format = row
expire_logs_days = 15
log_bin_trust_function_creators = 1
secure-file-priv=E:\mysql5.7.23\Uploads
[client]
default-character-set=utf8
接下来进入Windows的cmd命令界面
2、初始化数据库命令:
mysqld --initialize-insecure
3、接着注册和启动mysql命令:
// 安装服务(install后面是服务的名字,我们这里以MySQL57作为mysql5.7的服务名)
mysqld –install MySQL57
// 启动MySQL服务
net start MySQL57
4、登陆mysql命令:
mysql -uroot -p
如果不知道mysql的密码,可以在my.ini文件添加skip-grant-tables这一行,重启mysql服务(可以在服务里面启动,也可以通过net命令启动mysql服务),此时密码为空,进入mysql,修改root用户的密码,使用
update mysql.user set authentication_string=password('root') where user='root' ;
就可以修改密码。修改成功之后,记得去除my.ini中的skip-grant-tables这一行内容。
参考