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

标签 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 更改为“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/

相关文章:

MySQL 在 Windows 上测试正常后在 Linux 上插入奇怪的错误

python - 根据表中的现有属性在 Python 中填充 SQL 表

php - 如何更改 Moodle 中的注册页面设计

java - 我的应用程序可以与 Moodle 通信吗?

moodle - 如何获取Moodle中最受欢迎的类(class)列表

mysql - 巨大的文本文件到 mySql

mysql - 1000 多个帖子的 Wordpress 慢元查询

php - 通过 jquery javascript 函数使用 SESSION 变量更新 MySQL

file - Moodle 中的日志文件位于哪里?

Moodle - 如何在 apache2 上启用斜杠参数 (ubuntu 14.04)