1、簡述:
mysql數據遷移有多種方式,最常見的就是先把數據庫導出,然后導入新的數據庫。拷貝數據目錄data是另外一種方式。尤其是當數據庫啟動不了,或者大型數據庫遷移的時候,可以考慮這個方式。
2、場景:
從老的mysql(mysqlA)遷移到新的mysql(mysqlB)。mysqlA對應的數據路徑為:/var/lib/mysql-old,mysqlB對應的數據路徑為:/var/lib/mysql
3、遷移示意圖:
4、步驟:
1)、停止mysqlB。
2)、移除/var/lib/mysql路徑下除performance_schema文件夾的其余文件。
3)、拷貝/var/lib/mysql-old路徑下所有文件到 /var/lib/mysql,除了performace_schema、iblogfile_0,iblogfile_1。
4)、現在/var/lib/mysql下面的文件來源和作用是:
performace_schema: 新,性能監控,它在5.6及其之前的版本中,默認沒有啟用,從5.7及其之后的版本才修改為默認啟用。
數據庫目錄:老,具體存儲數據的目錄,每個數據庫對應一個文件夾,文件夾的名字和數據庫的名稱一致。
ibdata1: 老,用來構建innodb系統表空間的文件,這個文件包含了innodb表的元數據、undo日志、修改buffer和雙寫buffer。
iblogfile_0,iblogfile_1: 新,日志文件,被刪除了,重啟后會重新生成。
5)、重啟mysqlB。