实战分享丨MySQL 与Django版本匹配相关经验
摘要:关于MySQL 与Django版本匹配相关知识的经验分享。
run:
(env) E:\PythonPro\PyDjangoProDemo011\xuanyuaniotpro>python manage.py migrate
报错代码提示如下:
raise errorclass(errno, errval)
django.db.utils.ProgrammingError: (, "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")
During handling of the above exception, another exception occurred:

根据提示分析报错原因:
Django2.1不再支持MySQL5.5,必须mysql5.6版本以上
查mysql版本和Django版本:
mysql版本:

Django版本:

根据原因分析得出解决思路:
二选一
(1)Django降级到2.0
(env) PS E:\PythonPro\PyDjangoProDemo011\xuanyuaniotpro> pip install Django==2.0. -i https://pypi.douban.com/simple

>>> import django
>>> django.VERSION

(env) PS E:\PythonPro\PyDjangoProDemo011\xuanyuaniotpro> python .\manage.py makemigrations
No changes detected
(env) PS E:\PythonPro\PyDjangoProDemo011\xuanyuaniotpro>
(env) PS E:\PythonPro\PyDjangoProDemo011\xuanyuaniotpro> python .\manage.py migrate


成功连接数据库。
(2)MySQL升级
1.查看MySQL的版本
mysql --version
mysql Version 14.14 Distrib 5.5., for Linux (x86_64) using reeadline 5.1
从上面可以看出,MySQL版本为5.5.28
2.查看MySQL的安装包
yum list | grep mysql
注意:如果没有看到想要升级的版本,请更新yum安装库,具体操作如下:
) wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
) rpm -ivh mysql-community-release-el6-.noarch.rpm
) 重新查看即可,yum list | grep mysql
3.查看当前已经安装的MySQL安装相关信息
yum list | grep ^mysql
注意:这里的^代表以mysql开头的项
-----------
yum info mysql-server
据说,上面的命令执行完毕后可以看到可升级的版本,但是并没看到。
-----------
yum check-update mysql-server
可以检查可用的安装包
4.升级MySQL及其组件
yum update mysql-server
执行结束,会显示complete之类的关键字。
5.检查是否更新成功
mysql --version
当然,执行完这一步并不代表已经可以用MySQL了。在这里,可能碰到了一个错误。
问题1:
启动服务的时候,提示找不到mysql.sock之类的问题。
解决方案:
.查看错误日志(前提:my.cnf里面有配置日志功能log-error = 路径)
cat /var/log/mysql_error.log
.发现skip-locking5.6不支持,已经过时。改为skip-extenal-locking
(skip-locking可参考链接:)
.保存退出,重启mysqld服务即可
问题2:
启动服务的时候,错误日志显示Unknown/unsupported storage engine: InnoDB
解决方案:
执行删除命令:rm -rf /var/lib/mysql/ib*
删除:ibdata1、ib_logfile0、ib_logfile1文件
重启服务即可,service mysqld restart
当然,你可能会想,如果更新的版本存在5.5、5.6甚至更高,但我只是想更新到指定版本呢?那应该怎么做?
其实很简单,只要在上诉操作中更新前,改动repo配置文件即可。
配置文件路径:/etc/yum.repos.d
修改配置文件:mysql-community.repo和mysql-community-source.repo
修改内容:将所要更新的版本的enabled=,其他版本的enabled=0即可,如下图所示,只更新到mysql .6版本:

实战分享丨MySQL 与Django版本匹配相关经验的更多相关文章
- Django2.2使用mysql数据库pymysql版本不匹配问题的解决过程与总结
前置条件 django版本:2.2.1 python版本:3.6.6 mysql版本:mysql-community8.0.15 问题 在搭建django项目,配置mysql数据库时遇到无法迁移数据库 ...
- [Django框架之路由层匹配、有名 无名分组、反向解析、路由分发、名称空间、伪静态、本地虚拟环境、django版本区别]
[Django框架之路由层匹配.有名 无名分组.反向解析.路由分发.名称空间.伪静态.本地虚拟环境.django版本区别] 路由层 路由即请求地址与视图函数的映射关系,如果把网站比喻成一本书,那路由就 ...
- [实战]MVC5+EF6+MySql企业网盘实战(28)——其他列表
写在前面 本篇文章将实现,其他文件类型的列表. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5+EF ...
- 二十种实战调优MySQL性能优化的经验
二十种实战调优MySQL性能优化的经验 发布时间:2012 年 2 月 15 日 发布者: OurMySQL 来源:web大本营 才被阅读:3,354 次 消灭0评论 本文将为大家介 ...
- MySQL在Django框架下的基本操作(MySQL在Linux下配置)
[原]本文根据实际操作主要介绍了Django框架下MySQL的一些常用操作,核心内容如下: ------------------------------------------------------ ...
- 老李分享:MySql的insert语句的性能优化方案
老李分享:MySql的insert语句的性能优化方案 性能优化一直是测试人员比较感兴趣的内容,poptest在培训学员的时候也加大了性能测试调优的方面的内容,而性能优化需要经验的积累,经验的积累依 ...
- 漏洞经验分享丨Java审计之XXE(下)
上篇内容我们介绍了XXE的基础概念和审计函数的相关内容,今天我们将继续分享Blind XXE与OOB-XXE的知识点以及XXE防御方法,希望对大家的学习有所帮助! 上期回顾 ◀漏洞经验分享丨Java ...
- mysql 连接 django
版本: django:1.11.9 python3 mysql 5.7.18 在这里我们认为你已经安装好了mysql,python ,django 下面是来自django官方教程的一段话 If you ...
- Linux下安装Python3的django并配置mysql作为django默认数据库(转载)
我的操作系统为centos6.5 1 首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包 ...
随机推荐
- 题解 洛谷 P6351 【[PA2011]Hard Choice】
删边操作不好处理,所以先将操作倒序,将删边转化为加边. 考虑对于两个点的询问,若这两点不连通或这两个点分别处于两个不同的边双连通分量中(两点间存在桥)时,是不满足题目要求的. 可以用\(LCT\)来维 ...
- iOS倒计时button闪烁
v _button.titleLabel.text = [NSString stringWithFormat:@"%d后重发",t]; [_button setTitle:[NSS ...
- Win10下ImageMagick及php-imageck扩展的安装
安装ImageMagick https://imagemagick.org/script/download.php 选择符合自己电脑的版本进行安装即可.安装的时候注意勾选下面的选项自动加入环境变量,否 ...
- socket网络
Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页.QQ ...
- java 方法及引用数据类型
一.方法 在java中,方法就是用来完成解决某件事情或实现某个功能的办法. 1.语法格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){ 执行语句 ……… re ...
- PHP deg2rad() 函数
实例 把角度转换为弧度: <?phpecho deg2rad("45") . "<br>";echo deg2rad("90&quo ...
- windows:shellcode 远程线程hook/注入(五)
前面几篇文章介绍了通过APC注入.进程注入.windows窗口处理函数回调.kernercallback回调执行shellcode,今天继续介绍通过heap Spray(翻译成中文叫堆喷射)执行she ...
- OpenVINO学习系列1
OpenVINO介绍 OpenVINO是英特尔推出一套基于深度学习的计算机视觉加速优化框架,支持其它机器学习平台模型的压缩优化.加速计算等功能. 自发布以后就得到开发者的青睐,其强大的模型优化与压缩能 ...
- 字节跳动2020-ByteCamp暑期夏令营研发组习题
概要 本文主要是记录字节2020夏令营的笔试习题,解答部分待日后不断完善. 选择题部分记录不是很完全,剩下没有被收录的大都偏容易. 单项选择题 箱子里有20个红球,18个白球,逐一随机抽取球,问整个过 ...
- Python自动化运维 技术与最佳实践PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书
点击获取提取码:7bl4 一.内容简介 <python自动化运维:技术与最佳实践>一书在中国运维领域将有"划时代"的重要意义:一方面,这是国内第一本从纵.深和实践角度探 ...