【发布时间】:2017-04-05 02:43:35
【问题描述】:
我在安装 django-allauth 时尝试运行 ./manage.py migrate,但总是失败并出现以下错误:django.db.utils.OperationalError: (1709, 'Index column size too large. The maximum column size is 767 bytes.')
我正在使用 MariaDB 10.1.19,在我的 /etc/mysql/my.cnf 文件中,我添加了以下几行来增加可用索引大小:
[server]
innodb-large-prefix = ON
但是,错误仍然发生。
我后来阅读的有关 django-allauth 的文档指出此错误已解决,但我仍然遇到它。
如何确保配置中的这个配置指令真正被读取和使用?
如何解决此索引大小错误?
谢谢!
[更新]: 我在 conf 文件中添加了以下内容:
[server]
innodb_file_format = BARRACUDA
innodb-large-prefix = ON
[table]
ROW_FORMAT = DYNAMIC
仍然收到错误,但是...
[更新 2] 配置文件现在看起来像这样:
[mysqld]
innodb_strict_mode = ON
innodb_file_format = BARRACUDA
innodb-large-prefix = ON
innodb_file_per_table = 1
innodb_buffer_pool_size = 702545920
innodb_file_format_max = BARRACUDA
innodb_log_file_size = 50331648
这些都是有效的,即在我搜索服务器变量时列出。
我已尝试添加:
[client]
innodb_default_row_format = dynamic
但是,这不起作用。也不,如果我在[mysqld]下添加它也行不通
【问题讨论】:
标签: python mysql django mariadb django-allauth