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 :

PHPScript

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا