Upgrade 2.7.x to 2.9.1 and migrate to InnoDB?

Upgrade 2.7.x to 2.9.1 and migrate to InnoDB?

by Rick Sparrow -
Number of replies: 1
Hi there, I'm trying to follow the upgrade steps for upgrading to Moodle 2.9.1 and just need a little clarification. My current server is running Ubuntu Server 14.04.2 LTS. Apache 2.4.7, MySQL 5.5.43, and PHP 5.5.9. I have backups of everything but am trying the steps on a test server first. The upgrade steps mention that Moodle 2.9.x requires the InnoDB storage engine for MySQL; MyISAM is no longer supported. So if I go into mysql and type show engines; I see the following:
(snipped)
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |

As this lists InnoDB as Default, am I good to continue on the upgrade steps from 2.7.x to 2.9? The next section in the upgrade notes refers to using the CLI script "php admin/cli/mysql_engine.php", but I'm assuming this step is only required if InnoDB was listed as NO in show engines. Secondly, if running the CLI script is still necessary, would someone be able to clarify the syntax and switches of that script? If I simply type:
apache2 /usr/bin/php admin/cli/mysql_engine.php
I get a list of available switches.

Thanks in advance!
Rick


Average of ratings: -
In reply to Rick Sparrow

Re: Upgrade 2.7.x to 2.9.1 and migrate to InnoDB?

by Ken Task -
Picture of Particularly helpful Moodlers

I think that would be default for new DB's - which means there could be some MyISAM tables that have managed to 'sneak' into the DB for Moodle depending upon how long you've been running Moodle.

It doesn't hurt to run it.

php admin/cli/mysql_engine.php

is the same as running it with the -h (--help) switch.  Given the script no parameters.

php admin/cli/mysql_engine.php -a

shows a list of available engines.

php admin/cli/mysql_engine.php -l

shows a list of moodle tables and that tables engine.

If they are all InnoDB then no worries.

If they aren't, then run:

php admin/cli/mysql_engine.php --engine=InnoDB

They recommend running as the apache user and show that in the examples, but it will run as root user without issue.

'spirit of sharing', Ken