Convert Database ENGINE from InnoDB to MyISAM
ابتدا از دیتابیس های خود backup تهیه نمایید.
روش اول :
فایل DBlist.txt را ایجاد نمایید و نام دیتابیس هایی که می خواهید Engine آن تغییر نماید در آن ذخیره نمایید.
/root/DBlist.txt
فایل convertdb.sh را ایجاد نمایید و کد زیر را در آن قرار دهید.
nano convertdb.sh
#!/bin/bash
MYSQLCMD=mysql
for db in `cat /root/DBlist.txt`; do
for table in `echo show tables | $MYSQLCMD $db | grep -v Tables_in_`; do
TABLE_TYPE=`echo show create table $table | $MYSQLCMD $db | sed -e’s/.*ENGINE=\([[:alnum:]\]\+\)[[:space:]].*/\1/’|grep -v ‘Create Table’`
if [ $TABLE_TYPE = "InnoDB" ] ; then
mysqldump $db $table > $db.$table.sql
echo “ALTER TABLE $table ENGINE = MyISAM” | $MYSQLCMD $db
fi
done
done
روش دوم
استفاده از اسکریپت PHP زیر برای تغییر Engine :