How to convert InnoDB to MyISAM

Although at times faster, you will find InnoDB a very large headache when it comes to table corruption and may want to convert to MyISAM. First backup your databases. Do note that some databases like WordPress may require innoDB. Be sure to backup your databases before hand. Once you have performed this, the following commands may be useful in converting InnoDB to MyISAM:


mysql -e "SELECT concat('ALTER TABLE ', TABLE_NAME,' ENGINE=MYISAM;') FROM Information_schema.TABLES WHERE TABLE_SCHEMA = 'db_name' AND ENGINE = 'InnoDB' AND TABLE_TYPE = 'BASE TABLE'"

/etc/init.d/mysql stop
mkdir -p /root/innodb.bak
mv /var/lib/mysql/ib* /root/innodb.bak/
/etc/init.d/mysql start


To restore use the following:

 


cp /root/innodb.bak/* /var/lib/mysql
echo innodb_force_recovery=4 >> /etc/my.cnf
service mysql restart

 

  • 118 Users Found This Useful

Was this answer helpful?

Related Articles

Disable cPanel Brute Force Command Line

To disable the cPanel brute force detection from the command line usee the following:...

Error: rpmdb open failed with cPanel

This can occur with older packages sitting on your drive. Try running the following: rm -f...

Remount /tmp with exec permission

There are times where you may need to have exec permission available for the /tmp folder. This...

Whitelisting Multiple IPs with Mod_Security

The following can be added to the main modsecurity.conf or a whitelist file such as one...

connection failed for acme-v01-api-letsencrypt org: SSL connect attempt failed

 (Hypertext Transfer Protocol) “post” request to...