您可以将云数据库 MySQL、Percona、MariaDB 实例的备份数据恢复到自建数据库中。
安装环境依赖,见注意事项DB。下面以mysql为例,对将备份文件恢复到自建数据库进行说明。
下载备份的解压工具,点击下载,并解压,工具名 mysql_backup_extract.py
,使用示例如下
# 增加解压工具文件可执行权限
chmod mysql_backup_extract.py +x
# 查看帮助手册
python mysql_backup_extract.py -h
# 解压云数据库 MySQL 实例的备份数据
python mysql_backup_extract.py -v 5.7 -f ./backup.xbstream
下载备份文件
wget -c '<数据备份下载地址>' -O <自定义备份文件名>.xbstream
-c:启动断点续传
-O:将下载的结果保存为指定的文件,注意文件的后者必须是 .xbstream
解压备份数据,解压后的文件会保存在当前目录的子目录 tmp_snapshot 中,假设当前目录为 $HOME。
python mysql_backup_extract.py -v 5.7 -f <自定义备份文件名>.xbstream
-v 参数可以不指定,默认:5.7,具体 -v 后面可以跟什么变量可以通过 -h 查看帮助手册得知。
恢复解压好的备份文件。工具中包含多个配置文件,根据实际的实例类型及版本进行使用,对应关系见下方表格。
实例类型及版本 | 选择配置文件 |
---|---|
MySQL 5.5、5.6、5.7 | mysql-5.cnf |
MySQL 8.0 | mysql-8.cnf |
MariaDB | mariadb-10.2.cnf |
Percona | percona-7.cnf |
xtrabackup --defaults-file=$HOME/<在工具里面有多个配置文件,根据MySQL版本选择使用>.cnf --parallel=1 --prepare --target-dir=$HOME/tmp_snapshot
当看到 ***innobackupex completed OK!*** 时, 表明执行成功,你就可以继续下一步操作了。
修改文件属主,并确定文件所属为 MySQL 用户
chown -R mysql:mysql $HOME/tmp_snapshot
启动 MySQL 进程。<配置文件根据实例类型及版本选择>.cnf文件与实例版本对应关系同步骤5.
mysqld_safe --defaults-file=$HOME/<配置文件根据实例类型及版本选择>.cnf --user=mysql --datadir=$HOME/tmp_snapshot &
登录 MySQL 数据库
mysql -uroot -p