在ubuntu 16.04上重新安装了系统,首次尝试运行时python manage.py makemigrations
出现以下错误:
django.db.utils.OperationalError: (1193, "Unknown system variable 'storage_engine'")
我的django数据库设置为:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'license_portal',
'USER': '****',
'PASSWORD': '****',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {
"init_command": "SET storage_engine=MyISAM",
},
},
}
库:
(mmslic) ➜ mmsLicenseServer git:(master) ✗ pip freeze
Django==1.8.12
django-admin-bootstrapped==2.5.7
django-bootstrap3==7.0.1
MySQL-python==1.2.5
mysqlclient==1.3.7
requests==2.9.1
(mmslic) ➜ mmsLicenseServer git:(master) ✗ dpkg -l | grep -i mysql
ii libmysqlclient-dev 5.7.12-0ubuntu1 amd64 MySQL database development files
ii libmysqlclient20:amd64 5.7.12-0ubuntu1 amd64 MySQL database client library
ii libmysqlclient20:i386 5.7.12-0ubuntu1 i386 MySQL database client library
ii libqt4-sql-mysql:i386 4:4.8.7+dfsg-5ubuntu2 i386 Qt 4 MySQL database driver
ii mysql-client-5.7 5.7.12-0ubuntu1 amd64 MySQL database client binaries
ii mysql-client-core-5.7 5.7.12-0ubuntu1 amd64 MySQL database core client binaries
ii mysql-common 5.7.12-0ubuntu1 all MySQL database common files, e.g. /etc/mysql/my.cnf
ii mysql-server 5.7.12-0ubuntu1 all MySQL database server (metapackage depending on the latest version)
ii mysql-server-5.7 5.7.12-0ubuntu1 amd64 MySQL database server binaries and system database setup
ii mysql-server-core-5.7 5.7.12-0ubuntu1
在解决了这个问题之后,我发现问题是MySQL 5.7版本上的更改。
使用MySQL 5.7时,该命令SET storage_engine=MyISAM
将不起作用,所以这就是问题所在!
作为对发现的MySQL 5.7文档的使用default_storage_engine
,而不是!我的配置变为:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'license_portal',
'USER': '****',
'PASSWORD': '****',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {
"init_command": "SET default_storage_engine=MyISAM",
},
},
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句