Search code examples
mysqlowncloudnextcloud

MySQL 'innodb_file_format' variable doesn't exist


I am currently setting up a Nextcloud server and have everything set up and working, except MySQL 4-byte character support. I am using the default package host for Ubuntu Server 20.04.1 LTS and the MySQL package from said host. It says that it's version is: 'Server version: 8.0.21-0ubuntu0.20.04.4 (Ubuntu)'

Nextcloud's Security & Setup Warnings section of the Administration page says that:

MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL. For further details read the documentation page about this.

The problem is that when I run the command show variables like 'innodb_file_format'; from said documentation page, it returns this:

mysql> show variables like 'innodb_file_format';
Empty set (0.00 sec)

I have tried just listing all of the variables and have posted the output on pastebin here

As you can see, the variable 'innodb_file_format' simply doesn't exist. Is there any way to correct this? I would very much appreciate any ideas


Solution

  • As mysql release notes on v8.0 says (emphasis is mine):

    The following options will be removed:

    innodb_file_format

    innodb_file_format_check

    innodb_file_format_max

    innodb_large_prefix

    So, the documentation linked in the question is simply incorrect, this system variable does not exist in mysql. I do not think it affects its ability to use utf8mb4 charset.