測試用物理方式的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的資料庫引擎且必須是資料庫的同版本,備份過程中將中斷業務。