天天看點

MySQL資料庫MyISAM存儲引擎轉為Innodb

之前公司的資料庫存儲引擎全部為MyISAM,資料量和通路量都不是很大,是以一直都沒什麼問題。但是最近出現了MySQL資料表經常被鎖的情況,直接導緻了使用者連接配接網站時逾時而傳回502,于是決定把存儲引擎轉為Innodb的,以解決MyISAM的表鎖問題。下面将操作步驟記錄一下。

1、導出centos資料庫的表結構

  1. mysqldump -d -uxxx -p centos > centos_table.sql

其中-d參數表示不導出資料,隻導出表結構

2、替換centos_table.sql裡的MyISAM為INNODB

  1. sed -i 's/MyISAM/INNODB/g' centos_table.sql

3、建立資料庫centos_new,并導入表結構

  1. mysql > create database centos_new;
  2. mysql -uroot -p centos_new < centos_table.sql

可以通過show table status來檢查表引擎是否為INNODB。

4、導出centos的資料

  1. mysqldump -t -uroot -p centos > centos_data.sql

其中-t參數表示隻導資料,不導表結構

5、導入資料到centos_new

繼續閱讀