I've only recently begun playing with Moodle and was running it on my own shared web hosting service. I previously had various installs going (2.9 & 3.1) fine but now I'm going for a fresh install but now I'm getting these check errors:
Your database has tables using Antelope as the file format. Full UTF-8 support in MySQL and MariaDB requires the Barracuda file format. Please convert the tables to the Barracuda file format. See the documentation Administration via command line for details of a tool for converting InnoDB tables to Barracuda.
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.
From searching in the forums this seems to not be an issue unless you are using some very large courses, this is not the case for me, I'm only going to be hosting a few small courses. Is there some way I can proceed without barracuda?
My problem is since I'm on a shared hosting service they are not willing to make the global changes required to mySQL. Do I need to install 2.9 then upgrade to 3.2.2 and ignore these issues?
Peter, that use to be optional, but in newer moodle versions its a required part now, and shared hostings will NOT change their DB's just to cater one case of table format change, which is unfortunate.
So only choice you have left in case you're going to use shared hosting is use moodle 3.1.5 (not 3.1.5+) or below - there could be possibility that upgrading from a previous version to latest wont show that issue (I have to test that).
Thanks, 3.1.5 works great. I may try to upgrade in the future but not for now.
It's seems a strange choice to make this mandatory and so make shared hosting not viable for Moodle installs anymore. I've no need or intention to upgrade to VPS hosting. If I understand correctly Barracuda is only required for particularly large courses, so often will not be required by Moodle admins so limiting the install options seems excessive.
Hi, ran into the same issue and also came across this thread in the process. My webhost confirmed they can't change the DB settings, but oddly I found that I didn't get the same error when installing on my live server -- only on my local XAMPP site.
Many installs later, I discovered that using database collation utf8_general_ci instead of utf8mb4_unicode_ci seems to bypass this error and allow the install to proceed. The error no longer shows on install but still appears after the install is complete, as an amber "Check" on the Server > Environment page. I think for my purposes (also a small site), utf8_general_ci seems sufficient enough.
@Nicolas ... thanks for sharing ....
Funny you should mention this! Have been involved recently in upgrading multiple moodles ... after upgrading, got the new componet check (environment.xml) and checked. Hmmm ... no mention of utf8mb4 ... which, as I understand it, is really for the new 'mojis' - see, I keep so up to date that I don't know how to spell it!
So, is thats what makes online learning better ... more modern? Uhhhh ... hadn't seen that research yet (don't think I will either).
I do hope, that now that's been discovered, that one is not subjected to forced use (ieg, it gets 'fixed').
'spirit of sharing', Ken
I added a new noodle instance 3.3+ and created a new database imported the sql file from my old site and ran the command line script to convert from antelope to barracuda but still am unable to clear this error and get past this point in setup? ----- (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. )
I am running on iis windows server 2012.
Using phpMyAdmin and have changed coalitions with no answer.
Nicholas Yang's solution worked for me also, although I also had to edit the `dbcollation` setting in my config file to utf8_general_ci as well, since that had already been created.
@Ken Task—I agree with you. I can't see the benefit that emojis have for education (if someone else can, I am eager to hear the reason for this), but I do know all too well the downside of this: Moodle is essentially off the table for shared hosting and VPS hosting, as all the recommended solution seem to require root access to make this happen. I don't too many people who want (or can afford) to spin up a dedicated server for this.
I tried this version Moodle 3.1.5 (Build: 20170313) as you said and same problem
Same here. Any other idea? Maybe another build of this version?
If you use XAMPP server so, you can add. Go to XAMPP server.
click on Config-> my.ini then open new text file. In this text file, you copy this contain below and paste. I hope resolve your issue.
default-character-set = utf8mb4
innodb_file_format = Barracuda
innodb_file_per_table = 1
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
default-character-set = utf8mb4
Thanks for your helpfull answer, Ambrish Tiwari.
So just my two cents here, I am Running moodle 3.3 on a shared host with rather large courses. I have not had a problem but did the upgrade not the fresh install. My suggestion for you to install 3.2 then upgrade from that. also you need to be sure to change the config.php to utf8 before install otherwise this error will stop your install. Not sure if you can do that after upload and extract on the server, but before you load it in the browser on a fresh install. I also was going to upgrade to 3.4 but the php version is a problem. but that is for another topic.