Django2.1 执行python manage.py migrate失败

版本:CentOS6.8 Django2.1

执行python manage.py makemigrations时正常,但在执行数据迁移python manage.py migrate时,报如下错误!

django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table ((1064, “You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘(6) NOT NULL)’ at line 1”))

经过再三检查,代码没有问题,后来才想起来是不明Django的版本问题,因为之前安装一个软件包,自动升级了Django的版本,由1.8.3升级到2.1,后来网上查了资料,真的是Django的版本问题,查了官方文档,Django2.1只支持mysql5.6以上的版本!
这里写图片描述

然后我查一下mysql版本,mysql -V
这里写图片描述
我的是5.1版本,所以绝对是不兼容的!接下来就是要安装一个5.6以上的mysql!

我尝试了安装mysql5.7,但是出现了很多错误,从报警信息来看估计是依赖包的问题,没有找到很好的解决办法,也没有太多心思去慢慢解决了,有找到资料说升级CentOS7就不会出现这些错误!因为之前一直用的CentOS6.8,很多软件都安装好了,所以也没去升级,因为mysql5.6也是兼容的,我就试试安装mysql5.6。
这里写图片描述

首先卸载旧版本的mysql,输入命令:
yum remove mysql mysql-*
mysql5.6安装过程:
1、如果有重要数据的话就先备份一下
进入mysql数据库目录 cd /var/lib/mysql
mysqldump -uroot -p –all-databases –default-character-set=utf8 > /software/databases.sql( 备份路径)

2、停止MySQL服务,输入命令:
service mysqld stop

3、检测系统是否已经安装过mysql或其依赖,若已装过要先将其删除,否则安装过程会报错,输入命令:
一、yum list installed | grep mysql(如果有文件显示,则删除,没有则不用管)
二、假设有mysql-community-release-el6-5.noarch,则执行命令
yum -y remove mysql-community-release-el6-5.noarch

4、下载安装mysql5.6,(要确定能连接外网)
输入命令:
一、rpm -Uvh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
二、yum install mysql-community-server

这两步完成以后,查看mysql -V版本:
这里写图片描述
安装成功!!

5、启动mysql
service mysqld start
出现错误:
MySQL Daemon failed to start.
Starting mysqld: [FAILED]
解决办法:
rm -fr /var/lib/mysql/* (删除老版本mysql的开发头文件和库)
rm /var/lock/subsys/mysqld (删除锁定文件)
killall mysqld(杀死所有mysql进程)
(按顺序输入这三行代码)

完了以后再输入:service mysqld start,启动成功!!!

6、设置数据库密码
输入:mysql -u root -p 密码不输,直接enter进入数据库
使用set password for ‘username’@’host’ = password(‘newpassword’)修改密码
我的是set password for ‘root’@’localhost’ = 123123;

完成!!!

7、这里进入数据库,你之前建立的数据库全都没了,要重新新建数据库,然后按步骤执行就可以了!

8、python manage.py makemigrations
python manage.py migrate
成功!!
这里写图片描述

学习不易,每次遇到这种版本问题都得花很长时间去弄,也是够累的,只能慢慢总结累积经验,也是一种收获!

猜你喜欢

转载自blog.csdn.net/joe8910/article/details/82315930