更改my.cnf文件中的innodb_page_size不会重启mysql数据库

时间:2017-08-30 15:58:58

标签: python mysql django unit-testing innodb

希望你度过美好的一天。我有一个精确的470列表。我正在进行Django单元测试,当我运行命令python manage.py test时测试不会执行错误:

  

行大小太大(> 8126)。将某些列更改为TEXT或BLOB或使用ROW_FORMAT = DYNAMIC或ROW_FORMAT = COMPRESSED可能会有所帮助。在   当前行格式,768字节的BLOB前缀内联存储

要解决此问题,我正在尝试增加MySQL my.cnf文件中的innodb_page_size。当我在my.cnf文件中更改值后重启MySQL服务器时,MySQL不会重新启动。

我在stackoverflow上尝试了几乎所有可用的解决方案但没有成功。

MYSQL版本= 5.5.57 Ubuntu版本= 16.04

非常感谢任何帮助。谢谢

1 个答案:

答案 0 :(得分:0)

由于我从未见过有人使用过大块大小的功能,所以我没有使用它的经验。我建议你不要第一个尝试。

相反,我提供了几种可能的解决方法。

不要盲目使用VARCHAR(255);使所涉数据的长度变得切合实际。

不要将uf8(或utf8mb4)用于只能包含ascii的列。示例:邮政编码,十六进制字符串,UUID,country_code等。使用CHARACTER SET ascii

垂直分区表格。这是将它吐成两个具有相同PRIMARY KEY的表。

不要跨列显示数组;使用另一个表并在其中有多行。示例:phone1,phone2,phone3。