更改MySQL innodb_file_format和large_prefix是否会对其他网站造成任何问题?

时间:2019-02-14 12:34:55

标签: mysql moodle

说明:

尝试安装Moodle,安装过程显示我需要在MySQL配置中进行以下更改(以获得完整的unicode支持):

SET GLOBAL innodb_file_format = barracuda

SET GLOBAL innodb_large_prefix = 'on'

SET GLOBAL innodb_file_per_table = 1

这是与cPanel共享的主机,所有其他要求都已设置/安装。

问题:

此服务器上还有许多其他网站都使用旧设置的MySQL,我的问题是我是否运行上面的命令并更改innodb_file_format to "Barracuda"(当前为Antelope),而innodb_large_prefix to "on"会导致<是否对其他网站有任何疑问?

如果是,我如何避免它们?我只能为单个数据库设置此设置吗?

1 个答案:

答案 0 :(得分:2)

在重新创建表之前,这些更改无效。只有新表才能接受更改。您不必显式删除表。 IIRC ALTER TABLE foo FORCE;也可以完成这项工作。不过,这可能需要一段时间。如果您不想宕机,可以使用pt-online-schema-change(例如,从percona工具中获取)。

无论从数据库表中读取或写入数据库表,都根本不需要关心这些更改。

否,您不能仅为单个数据库设置这些设置。它适用于服务器上的所有数据库。