说明:
正在尝试安装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 更改为“Barracuda”
(目前是 Antelope)和 innodb_large_prefix 为“on”
这会导致其他网站任何可能的问题吗?
如果是,我该如何避免它们?我可以仅为单个数据库设置此设置吗?
最佳答案
在您重新创建表之前,这些更改不会生效。只有新表才会接受更改。不过,您不必显式删除这些表。 IIRC a ALTER TABLE foo FORCE;
也可以完成这项工作。不过,这可能需要一段时间。如果您不想停机,可以使用pt-online-schema-change
(来自 percona-tools)。
无论从数据库表中读取或写入数据,都根本不关心这些更改。
不,您不能仅为单个数据库设置这些设置。它适用于您服务器上的所有数据库。
关于mysql - 更改 MySQL innodb_file_format 和 large_prefix 是否会对其他网站造成任何问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54690537/