This article will discuss how to deal with a scenario where importing a database from a mysqldump on a different environment provides the following example error:
Storage engine 'MyISAM' does not support system tables. [mysql.user]
This article applies to all supported versions of the API Gateway appliances where MySQL is included.
This occurs when the mysqldump taken from the source environment contains more than just the ssg database and contains all databases including the mysql system database.
The best solution is to correct the issue at the source... the initial mysqldump command that was run. In other words running the mysqldump again from the source environment but in a way that exports only the ssg database and no other databases from MySQL. The following command should be run on the source and any additional parameters added to this command may result in the behaviour reported:
mysqldump ssg --routines > /home/ssgconfig/<source_Gateway>.sql
Be sure to substitute ssg for the name of your Gateway database if it differs from ssg, and replace <source_Gateway> with the name of the file you'll reference later.
If the source environment is no longer accessible or other reasons prevent the best solution above from being executed, then the following workaround may work as well. The workaround in this case would be on the import side, running it with the -o or --one-database parameter to have the import command ignore other databases from the SQL file, such as the following:
mysql --one-database ssg < /home/ssgconfig/<source_Gateway>.sql