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实例即可)。
文档内容是否对您有帮助?