測試用物理方式的MySql數據遷移

  • 2019 年 10 月 6 日
  • 筆記

遷移上雲,一般涉及到應用系統及資料庫系統,其中資料庫系統的遷移是最麻煩的。應用系統的遷移一般採用重新部署或磁碟物理遷移方式,但資料庫的遷移方式很多,不同的場景有不同的遷移方式。一般資料庫遷移方式有物理、邏輯遷移兩種方式,對資料庫的遷移講究中斷業務時間最短、數據零丟失。前面,我們講過到mysqldump進行邏輯遷移,今天我們試一下不同的物理數據遷移方式。

最野蠻的辦法,直接copy磁碟的資料庫目錄

1、在mysql中將需要備份的資料庫進行加鎖(並實現記憶體數據落盤),避免備份中出現寫操作。

MariaDB [(none)]> flush tables with read lock;

2、進入linux的資料庫保存目錄,查看資料庫文件是否存在

[root@localhost mysql]# cd /var/lib/mysql/mx

[root@localhost mx]# ls

db.opt mx.frm mx.MYD mx.MYI

3、直接將資料庫目錄copy至根目錄下

[root@localhost mx]# cd ..

[root@localhost mysql]# cp -r mx /

4、刪除原資料庫目錄

[root@localhost mysql]# rm mx -rf

5、進行數據物理還原

[root@localhost mysql]# cp /mx ./ -r

6、務必將資料庫目錄的主人設置為mysql

chown -R mysql:mysql /var/lib/mysql/mx

7、在mysql中將資料庫解鎖

MariaDB [none]>unlock tables;

8、檢查數據是否恢復正常

MariaDB [mx]> select * from mx;

+——+

| id |

+——+

| 123 |

+——+

1 row in set (0.00 sec)

採用物理備份的方式有優點:數據快,缺點:只支援MyIsam的資料庫引擎且必須是資料庫的同版本,備份過程中將中斷業務。