1、簡述:
mysql數(shù)據(jù)遷移有多種方式,最常見的就是先把數(shù)據(jù)庫導(dǎo)出,然后導(dǎo)入新的數(shù)據(jù)庫。拷貝數(shù)據(jù)目錄data是另外一種方式。尤其是當(dāng)數(shù)據(jù)庫啟動(dòng)不了,或者大型數(shù)據(jù)庫遷移的時(shí)候,可以考慮這個(gè)方式。
2、場景:
從老的mysql(mysqlA)遷移到新的mysql(mysqlB)。mysqlA對應(yīng)的數(shù)據(jù)路徑為:/var/lib/mysql-old,mysqlB對應(yīng)的數(shù)據(jù)路徑為:/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)、現(xiàn)在/var/lib/mysql下面的文件來源和作用是:
performace_schema: 新,性能監(jiān)控,它在5.6及其之前的版本中,默認(rèn)沒有啟用,從5.7及其之后的版本才修改為默認(rèn)啟用。
數(shù)據(jù)庫目錄:老,具體存儲(chǔ)數(shù)據(jù)的目錄,每個(gè)數(shù)據(jù)庫對應(yīng)一個(gè)文件夾,文件夾的名字和數(shù)據(jù)庫的名稱一致。
ibdata1: 老,用來構(gòu)建innodb系統(tǒng)表空間的文件,這個(gè)文件包含了innodb表的元數(shù)據(jù)、undo日志、修改buffer和雙寫buffer。
iblogfile_0,iblogfile_1: 新,日志文件,被刪除了,重啟后會(huì)重新生成。
5)、重啟mysqlB。