django +mysql 为了把 utf8 改成 utf8mb4 我装了 mysql5.6, 在执行 Python manage.py 的时候总是出现这错

2019-01-02 23:10:11 +08:00
 python30



这是 mysql 里的日志






这是我 settings.py 里的数据库配置

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'xxxx',
'USER': 'xxxxx',
'PASSWORD': 'xxxxx',
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS':{
'init_command':"SET sql_mode='STRICT_TRANS_TABLES'",
'charset':'utf8mb4',
},
}
}


不知道哪里有问题 ?

搞了一晚上有点头晕
再不行就得明天重装了
3209 次点击
所在节点    Python
15 条回复
111qqz
2019-01-02 23:58:24 +08:00
看起来是不支持 mysql ? django 版本是啥?
shylocks
2019-01-03 00:10:09 +08:00
DATABASE 前加上
import pymysql
pymysql.install_as_MySQLdb()
试试?
0xABCD
2019-01-03 00:20:22 +08:00
只支持 postgres/oracle/sqlite3 ?啥版本的 Django ?
e9e499d78f
2019-01-03 01:11:55 +08:00
python30
2019-01-03 10:13:52 +08:00
@111qqz django1.11.12
python30
2019-01-03 10:16:51 +08:00
@0xABCD django 1.11
python30
2019-01-03 10:18:36 +08:00
@shylocks 还是不行,
我是用 yum 安装的 mysql5.6
我删了重装 mysql 试试。
huisezhiyin
2019-01-03 10:22:49 +08:00
你没有按 python 和 mysql 依赖包
试试 yum install MySQL-python
python30
2019-01-03 10:35:30 +08:00
@huisezhiyin 安装了这个了。
也运行了 pip install pymsql
还是不行。不知道是还少哪个包
xpresslink
2019-01-03 10:47:05 +08:00
第一步安装驱动:
pip install pymysql
注意你要是使用了虚拟环境一定要在激活之后再执行这条命令。

第二步启用驱动:
在项目的 settings.py 所在的那个目录中找到__init__.py
在前两行加下面两句
import pymysql
pymysql.install_as_MySQLdb()
izoabr
2019-01-03 10:49:34 +08:00
问题还没到 MYSQL 呢,Python 的 mysql 驱动都还没有,怎么连。

去查一下 django mysql
julyclyde
2019-01-03 17:05:06 +08:00
单就错误信息来看,这事和数据库服务器那边没啥关系,所以你删除再重装 mysql 也不会有任何效果的
julyclyde
2019-01-03 17:19:27 +08:00
/usr/local/lib/python2.7/site-packags/django/db/backends/mysql/
看一下这个路径里有文件没
python30
2019-01-03 22:45:11 +08:00
多谢各位
我用 centos 6.9 安装自带的 mysql5.1 版本。没有 pip install MySQL-python。
这样可以。

我在 centos6.9 上 把 mysql 升级到 5.6 得需要 pip install MySQL-python pymysql

于是通过下面:

pip install MySQL-python
假设错误发生,须要先安装一个开发包:

yum install python-devel
假设还是报错,执行:

yum install mysql-devel.x86_64
然后再执行 pip 命令安装 mysql-python

然后就可以了
现在也在由 utf8 改用 utf8mb4 数据库了


多谢各位
julyclyde
2019-01-04 10:49:47 +08:00
有 pymysql 的情况下就完全不依赖于 mysql-dev
这正是“其它 Linux 发行版”里面,dango 依赖 pymysql 而不依赖 mysql-python 的原因

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/523294

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX