Jam*_*hon 3 python mysql django mysql-python
我的本地Django正在爆炸运行在我们的服务器上运行的manage.py syncdb脚本.
这是我在运行时看到的错误消息python manage.py syncdb,
OperationalError:(1193,"未知的系统变量'TRANSACTION'")
它看起来像一个MySQL问题,仅供参考我在虚拟环境中使用Django 1.5.1进行MySQL-python 1.2.4安装,并且我运行MySQL版本5.6.10.
这是我目前的虚拟环境,全部来自pip list,
Django (1.5.1)
MySQL-python (1.2.4)
pymongo (2.5.2)
python-cjson (1.0.5)
wsgiref (0.1.2)
Run Code Online (Sandbox Code Playgroud)
我对Django不是很精通,谷歌搜索没有任何结果,有人能告诉我这里会发生什么吗?
以下命令的完整引用
Traceback (most recent call last):
File "/Users/jamesmcmahon/src/business-intelligence/mongo2mysql/venv/lib/python2.7/site-packages/django/core/management/base.py", line 222, in run_from_argv
self.execute(*args, **options.__dict__)
File "/Users/jamesmcmahon/src/business-intelligence/mongo2mysql/venv/lib/python2.7/site-packages/django/core/management/base.py", line 255, in execute
output = self.handle(*args, **options)
File "/Users/jamesmcmahon/src/business-intelligence/mongo2mysql/venv/lib/python2.7/site-packages/django/core/management/base.py", line 385, in handle
return self.handle_noargs(**options)
File "/Users/jamesmcmahon/src/business-intelligence/mongo2mysql/venv/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 56, in handle_noargs
cursor = connection.cursor()
File "/Users/jamesmcmahon/src/business-intelligence/mongo2mysql/venv/lib/python2.7/site-packages/django/db/backends/__init__.py", line 326, in cursor
cursor = util.CursorWrapper(self._cursor(), self)
File "/Users/jamesmcmahon/src/business-intelligence/mongo2mysql/venv/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 405, in _cursor
self.connection = Database.connect(**kwargs)
File "/Users/jamesmcmahon/src/business-intelligence/mongo2mysql/venv/lib/python2.7/site-packages/MySQLdb/__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "/Users/jamesmcmahon/src/business-intelligence/mongo2mysql/venv/lib/python2.7/site-packages/MySQLdb/connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (1193, "Unknown system variable 'TRANSACTION'")
Run Code Online (Sandbox Code Playgroud)
编辑:
我在settings.py中找到了导致问题的确切行
DATABASES = {
'default': {
'NAME': 'test',
'ENGINE': 'django.db.backends.mysql',
'USER': 'redacted',
'PASSWORD': 'redacted',
'HOST': 'localhost'
'OPTIONS': { "init_command": "SET storage_engine=INNODB, SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED" }
},
}
Run Code Online (Sandbox Code Playgroud)
提交时,选项行可以解决问题.我唯一能想到的是服务器正在运行MySQL 5.5而我在本地运行5.6.
我还想知道到底发生了什么.
小智 6
使用
DATABASES = {
Run Code Online (Sandbox Code Playgroud)'default': { 'NAME': 'test', 'ENGINE': 'django.db.backends.mysql', 'USER': 'redacted', 'PASSWORD': 'redacted', 'HOST': 'localhost' 'OPTIONS': { "init_command": "SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED"}},
}
即没有"storage_engine = INNODB".最新版本的MySql引擎默认为INNODB.
| 归档时间: |
|
| 查看次数: |
1850 次 |
| 最近记录: |