MySQL備份恢復遷移
更新時間:
概述
本文主要介紹使用阿里云ECS實例搭建MySQL時,備份恢復遷移相關的思路以及方法。
詳細信息
請根據現場實際情況,參考以下對應的解決方案。
備份恢復
mysqldump
具體可參考:MySQL官方文檔。
也可參考:mysqldump+二進制日志備份恢復。
xtrabackup
具體可參考文檔:xtrabackup熱備mysql。
遷移
mysqldump
使用mysqldump導出自建數據庫的數據、存儲過程、觸發器和函數。導出期間請勿進行數據更新,耐心等待導出完成。
在Linux命令行下導出自建數據庫的數據,命令如下:
mysqldump -h <服務器IP地址> -u <用戶名> -p --opt --default-character-set=utf8 --hex-blob <自建數據庫名> --skip-triggers --skip-lock-tables > /tmp/<自建數據庫名>.sql
在Linux命令行下導出存儲過程、觸發器和函數,命令如下:
mysqldump -h <服務器IP地址> -u <用戶名> -p --opt --default-character-set=utf8 --hex-blob <自建數據庫名> -R | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > /tmp/<自建數據庫名>Trigger.sql
將導出的兩個文件上傳到ECS實例上,本例路徑為/tmp。
將導出的文件導入到目標實例中,命令如下:
mysql -h <實例連接地址> -P <實例端口> -u <實例賬號> -p <數據庫名稱> < /tmp/<自建數據庫名>.sql
mysql -h <實例連接地址> -P <實例端口> -u <實例賬號> -p <數據庫名稱> < /tmp/<自建數據庫名>Trigger.sql
拷貝物理文件
展示MySQL路徑。
show global variables like "%datadir%";
對文件進行壓縮。
tar -zcvf data.tar.gz sell.sql #具體.sql文件以現場環境為準
通過scp下載文件。
scp <用戶名>@<服務器IP地址>:<文件路徑>data.tar.gz
解壓。
tar -zxvf data.tar.gz
使用
cp
、mv
等命令拷貝data文件到目標服務器對應的MySQL文件夾下。修改權限。
chown -R mysql:mysql . #需要切換到對應的MySQL文件夾下
啟動或重啟對應數據庫服務。
systemctl restart mysqld
DTS遷移
具體可參考:從通過專線、VPN網關或智能接入網關接入的自建MySQL遷移至RDS實例(將目標端RDS更換為ECS上的MySQL實例即可)。
文檔內容是否對您有幫助?