Error when installing Moodle 3.8.9

Error when installing Moodle 3.8.9

by Aleksandar Stojicic -
Number of replies: 2
Hi,

I am trying to install Moodle 3.8.9. I have installed MySQL 8 locally and receiving following errors:

mysql_full_unicode_support#File_format

Your database uses Antelope as the file format. Full UTF-8 support in MySQL and MariaDB requires the Barracuda file format. Please switch to the Barracuda file format. See the documentation MySQL full unicode support for details.

Check
mysql_full_unicode_support#Large_prefix

For full support of UTF-8 both MySQL and MariaDB require you to change your MySQL setting 'innodb_large_prefix' to 'ON'. See the documentation for further details.



How can I switch to Barracuda format when innodb_file_format is removed in MYSQL 8. 

my.ini configuration:

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]

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



Attachment moodle1.JPG
Attachment moodle2.JPG
Average of ratings: -
In reply to Aleksandar Stojicic

Re: Error when installing Moodle 3.8.9

by Leon Stringer -
Picture of Core developers Picture of Particularly helpful Moodlers

This:

database | mariadb (8.0.27) | 🛈 version 5.5.31 is required and you are running 8.0.27

suggests you have $CFG->dbtype = 'mariadb' in config.php, you want $CFG->dbtype = 'mysqli' if you have MySQL.

If you're still having trouble run the following in MySQL to check your settings:

SHOW GLOBAL VARIABLES WHERE variable_name IN ('innodb_file_format', 'innodb_large_prefix', 'innodb_file_per_table');

These are the expected results:

+-----------------------+-----------+ 
| Variable_name         | Value     |
+-----------------------+-----------+
| innodb_file_format    | Barracuda |
| innodb_file_per_table | ON        |  -- or blank
| innodb_large_prefix   | ON        |  -- or blank
+-----------------------+-----------+ 

If they're correct make sure the Moodle database was created with character set utf8mb4 and character collation utf8mb4_unicode_ci.

If that's done make sure $CFG->dboptions['dbcollation'] is 'utf8mb4_unicode_ci' in config.php:

$CFG->dboptions = array ( 
  ⋮
  'dbcollation' => 'utf8mb4_unicode_ci',
);
Average of ratings: Useful (1)