如何解决 moodle 全新安装问题 mysql_full_unicode_support#File_format 和 mysql_full_unicode_support#Large_prefix

How to resolve moodle fresh installation issue mysql_full_unicode_support#File_format and mysql_full_unicode_support#Large_prefix

我是 Moodle 的新手。当我尝试安装这个时,我遇到了这个问题(请参考屏幕截图)。

谁能帮我解决这个问题?

提前谢谢你。 欧姆卡尔

这是很普遍的问题,很多人都会遇到,我也遇到过。安装最新的 moodle 3.2+ 时,它会检查 MySQL 数据库中是否启用了对 utf8mb4 字符集的支持。这在 MySQL 中不是默认的。您需要在 mysql conf.

中设置一些参数

在基于 Linux 的系统上,您需要更改 my.cnf。这可能位于“/etc/mysql/”中。对 my.cnf 进行以下更改:

[client]
default-character-set = utf8mb4

[mysqld]
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix

character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
skip-character-set-client-handshake

[mysql]
default-character-set = utf8mb4

Post 更改值,重新启动 mysql,错误现在应该已修复。

请参考以下文档

https://docs.moodle.org/32/en/MySQL_full_unicode_support

https://mathiasbynens.be/notes/mysql-utf8mb4#character-sets

请安装(或访问)phpmyadmin 并执行SQL

set Global innodb_file_format = Barracuda
set Global innodb_file_per_table = 1
set Global innodb_large_prefix = "ON"

我遇到了同样的问题,这对我有帮助, 转到 phpmyadmin 并复制信息架构的排序规则 在我的例子中 information_schema -> utf8_general_ci

现在转到 htdocs/moodle/config.php 并更改此部分

$CFG->dboptions = array (
  'dbpersist' => 0,
  'dbport' => '',
  'dbsocket' => '',
  'dbcollation' => 'utf8_general_ci',
);

注意 - 此处仅将 dbcollat​​ion 更改为 'utf8_general_ci' 并刷新安装页面这将解决这两个错误