如何在MySQL连接器/ python作为后端的Django中设置存储引擎

时间:2014-04-08 09:25:58

标签: python mysql django

我尝试过设置

DATABASES = {
    'default': {
        'NAME': 'db',
        'ENGINE': 'mysql.connector.django',
        'USER': 'dbuser',
        'PASSWORD': 'dbpass', 
        'OPTIONS': {
          'autocommit': True,
          'init_command' : 'SET storage_engine=INNODB',
        },
    }
}

(UPD:更新了上面的代码,所以ppl不会因为我没有正确使用django设置而感到困惑)

在Django设置中,但是这个后端不接受这样的连接选项... http://dev.mysql.com/doc/connector-python/en/connector-python-connectargs.html

有没有其他方法可以做到这一点?

2 个答案:

答案 0 :(得分:2)

您需要设置整个设置:

DATABASES = {
    'default': {
        'NAME': "MyDatabaseName,
        'ENGINE': 'django.db.backends.mysql',
        'USER': "MyUsername",
        'PASSWORD': "MyPassword",
        'HOST': "MyHostName",
        'OPTIONS': {'init_command': 'SET storage_engine=INNODB'},
    }
}

答案 1 :(得分:2)

首先,要使用MySQL Connector / Python Django后端,您必须将ENGINE设置为mysql.connector.django

DATABASE = {
  'default': {
    ..
    'ENGINE': 'mysql.connector.django',
    ..
  }
}

实际上,MySQL Connector / Python没有init_command连接参数。我可以看到添加用于在Django OPTIONS中设置默认存储引擎的选项的价值。如果您真的需要,我建议您在http://bugs.mysql.com上打开功能请求。

请注意,MySQL 5.6(如果你刚开始使用此版本)默认情况下将存储引擎设置为InnoDB。

相关问题