mysql數據庫存儲引擎為MyISAM的時候,在大訪問量的情況下數據表有可能會出現被鎖的情況,這就會導致用戶連接網站時超時而返回502,此時就需要MySQL數據庫MyISAM存儲引擎轉為Innodb。
步驟如下:
1、導出CentOS數據庫的表結構
復制代碼 代碼如下:mysqldump -d -uxxx -p centos > centos_table.sql
其中-d參數表示不導出數據,只導出表結構
2、替換centos_table.sql裡的MyISAM為INNODB
復制代碼 代碼如下:sed -i 's/MyISAM/INNODB/g' centos_table.sql
3、新建數據庫centos_new,並導入表結構
復制代碼 代碼如下:mysql > create database centos_new;
mysql -uroot -p centos_new < centos_table.sql
可以通過show table status來檢查表引擎是否為INNODB。
4、導出centos的數據
復制代碼 代碼如下:mysqldump -t -uroot -p centos > centos_data.sql
其中-t參數表示只導數據,不導表結構
5、導入數據到centos_new
復制代碼 代碼如下:mysql -uroot -p centos_new < centos_data.sql