Learn how to convert Moodle database tables from Antelope to Barracuda. Follow step-by-step instructions for a smooth conversion process.
"unsupported_db_table_row_format" where when database (MySQL & MariaDB) is making use of old file format in InnoDB engine called "Antelope" and are recommended to be upgraded to newer format "Barracuda". In this post I will show you how to convert Antelope format into barracuda using command line on Windows server platform.
As I remember when this new server check came out, it created bit of panic in Moodle community forums where people rushed towards converting their database table formats from Antelope to Barracuda overlooking the fact that this is a recommended update and not required.
Where required updates in Moodle are required to run Moodle, recommended updates do not affect the normal operation of Moodle but are recommended for they can either enhance performance (e.g. OpCache), support additional languages (e.g. php_extension_intl) or support additional text columns in database tables when converting from Antelope to Barracuda. Now again reminding, this by no means a required update, but a recommended update and to most of the people this may not be applicable unless you are running a large Moodle site and restoring a course may give errors. But, like me, plenty of people prefer to see all Greens in their environment check, so I will show you how to convert database table format from Antelope to Barracuda using two simple commands.
I have previously explained in detail in how to set up Moodle on Windows Server, so taking same set up, I am going to show the conversion process.
Step 1: Open command prompt in windows server, if you are not already logged in as administrator, right click icon and select "run as administrator".
Step 2: change directory to where your PHP is residing. in my example I had my PHP folder on root drive (C:/) so my path will be C:/PHP/PHP703
Step 3: Once command prompt shows I am in PHP directory, run the following command to list the tables that require conversion
[php c:\inetpub\wwwroot\moodle\admin\cli\mysql_compressed_rows.php -l]
Showing database tables that needs fixing |
Step 4: With list of tables on older format, now is the time to convert them using fix command
[php c:\inetpub\wwwroot\moodle\admin\cli\mysql_compressed_rows.php -f]
Showing database tables that are now on compressed format (Barracuda) |
[post_ads]
This will convert the tables in few seconds, and you're done. In above commands, you have to specify the path of your Moodle folder. Note that as my installation is new for this command to show few tables, it may be different in your case depending on how large and how old your Moodle is running for, also this may show up time to time again depending on if some other tables needed conversion at later stage.
If you may encounter error during fixation/conversion, just make sure you have already declared "innodb_file_format" and "innodb_file_format_max" in database variables as Barracuda, shown below using HeidiSQL screenshot on MariaDB. (Discussed in Video as well)
HeidiSQL interface to manually change file_format to Barracuda |
Watch video below for a walk through of all above steps covered.
External Links
Moodle - converting InnoDB tables to Barracuda
COMMENTS