【RDS MySQL物理备份文件本地恢复】

简介

本地创建虚拟机环境,恢复阿里云RDS MySQL物理备份文件(…qp.xb)。

本地虚拟机环境配置

  1. 安装 VMware Workstation 15 Pro,下载 CentOS7 ISO 镜像文件;
  2. 创建虚拟机环境,详见教程
  3. 待能 ping 通 www.baidu.com 后,安装 ifconfig、wget 命令(yum install net-tools / yum install wget)。

恢复 RDS MySQL 物理备份文件

  1. 安装 qpress;
#下载 qpress 压缩包
wget "http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/183466/cn_zh/1608011575185/qpress-11-linux-x64.tar"
tar xvf qpress-11-linux-x64.tar    # 解压
chmod 775 qpress                   # 调整文件权限
cp qpress /usr/bin                 # 复制文件到指定路径
  1. 安装 xtrabackup、mysql;
#下载 xtrabackup
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
#安装 xtrabackup
yum -y install percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
#安装 mysql5.7系列
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
  1. 恢复 RDS MySQL 物理备份文件(…qp.xb);
#将..._qp.xb文件放置/opt目录下
cd /opt
#创建/home/mysql/data/文件夹
mkdir -p /home/mysql/data
#使用xbstream处理qp.xb文件
cat ..._qp.xb | xbstream -x -v -C /home/mysql/data
#进入/home/mysql/data进行解压   显示 completed OK! 即正常
cd /home/mysql/data/
innobackupex --decompress --remove-original /home/mysql/data
innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data
chown -R mysql:mysql /home/mysql/data

#修改mysql配置文件
vi /home/mysql/data/backup-my.cnf
#注释如下不支持的参数,并添加参数 lower_case_table_names=1

在这里插入图片描述
4. 连接MySQL;
连接 MySQL【不知道数据库root账号的密码】:

#不知道数据库 root 账号的密码时
mysqld  --user=mysql --datadir=/home/mysql/data --skip-grant-tables &
#登陆,直接敲msyql 回车即可进入
msyql 
#查看恢复出的数据库有哪些
show databases;

参考

1. 虚拟机安装linux教程
2. 阿里云 qp.xb 数据库文件恢复

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用Python脚本从RDS上下载MySQL备份文件的具体步骤: 1. 安装boto3库 boto3库是Python的AWS SDK,可以方便地与AWS服务进行交互。可以使用以下命令安装boto3库: ``` pip install boto3 ``` 2. 配置AWS访问密钥 在使用boto3访问AWS服务之前,需要先配置AWS访问密钥。可以在AWS控制台上创建一个IAM用户,并生成该用户的Access Key和Secret Access Key,并将该用户加入RDS的访问策略组中。 3. 编写Python脚本 以下是一个从RDS上下载MySQL备份文件的Python脚本示例: ``` python import boto3 # 配置AWS访问密钥 aws_access_key_id = 'your_access_key_id' aws_secret_access_key = 'your_secret_access_key' # 创建rds client对象 client = boto3.client('rds', aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key, region_name='your_rds_region') # 获取最近的mysql备份文件 response = client.describe_db_log_files( DBInstanceIdentifier='your_db_instance_id', FilenameContains='mysql', FileLastWritten=0 ) # 下载mysql备份文件 if len(response['DescribeDBLogFiles']) > 0: file = response['DescribeDBLogFiles'][0] filename = file['LogFileName'] download_response = client.download_db_log_file_portion( DBInstanceIdentifier='your_db_instance_id', LogFileName=filename ) with open('mysql_backup.sql', 'wb') as f: f.write(download_response['LogFileData']) ``` 需要将上面代码中的 `your_access_key_id`,`your_secret_access_key`,`your_rds_region`,`your_db_instance_id` 替换成自己的AWS访问密钥、RDS所在区域和实例ID。 4. 运行Python脚本 将上面的Python脚本保存为一个.py文件,然后在命令行中运行该文件即可从RDS上下载MySQL备份文件: ``` python download_mysql_backup.py ``` 下载下来的MySQL备份文件会保存在当前目录下的mysql_backup.sql文件中。 注意事项: - 如果RDS实例启用了加密,需要在下载备份文件时指定KMS密钥ID。可以在下载备份文件时添加以下参数: ``` python KmsKeyId='your_kms_key_id' ``` 其中,`your_kms_key_id`是KMS密钥ID。 - 如果备份文件比较大,可以使用分块下载的方式下载文件,避免一次性下载整个文件。可以在下载备份文件时添加以下参数: ``` python MaxRecords=1000, Marker='your_marker' ``` 其中,`MaxRecords`表示每次下载的最大记录数,`Marker`表示上一次下载的最后一个记录的标识符。可以将下载的备份文件按照每个分块保存到本地,最后将所有分块合并为一个文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值