我在安装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]
下添加它,它也不会起作用答案 0 :(得分:0)
说明(5.7.7及更高版本不需要)
获取MySQL 5.6.3 / 5.5.14(或更高版本)和......
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("E:P")) Is Nothing Then
If Target.Cells.Count = 1 then
Cancel = True
Sheets("Sheet1").Range("S13") = Target.Value
End If
End If
End Sub
然后也许你可以索引(255)utf8mb4而不必缩小到191因为767限制。
服务器部分在MySQL中被称为SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_file_per_table=1;
SET GLOBAL innodb_large_prefix=1;
logout & login (to get the global values);
ALTER TABLE tbl ROW_FORMAT=DYNAMIC;
;在MariaDB中它有什么不同吗?