Server
تغییر Database ENGINE از InnoDB به MyISAM
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 :