阿里RDS MySQL8.0 物理备份文件恢复到自建数据库

因为服务器上的数据库和本地开发测试库有一些差异,但是本地更新迭代的并不重要,还是要生产库为主所以将服务器上的库恢复到本地的虚拟机上的数据库上作为对比

本地安装虚拟机和Centos 并且安装mysql8.0

这里是使用的是mysql8.0的数据库,我用的是rpm安装的方式
官方安装方式
mysql rpm 安装方式
基本步骤就是
1.下载一个rpm 的文件丢在系统中
2.解压 sudo rpm -Uvh platform-and-version-specific-package-name.rpm
3.默认删除 sudo yum module disable mysql
4.安装sudo yum install mysql-community-server
5.启动 sudo service mysqld start
6.找到默认的密码 sudo grep ‘temporary password’ /var/log/mysqld.log
7.登录 mysql -uroot -p
8. 修改密码 ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘新密码’;

恢复之前的准备工作

官方文档
阿里RDS物理备份恢复到本地自建
文档中说道要准备的工具

一,操作系统中已安装数据恢复工具Percona XtraBackup,您可以从Percona XtraBackup官网下载安装。
这里有版本要求的,详细见文档
我这里使用的mysql8.0对应安装 Percona XtraBackup 8.0
这里推荐yum 安装 因为并不大

  1. 先安装yum库 yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
  2. 启用存储库: percona-release enable-only tools release
  3. 安装 yum install percona-xtrabackup-80

二,然后解压的时候需要安装一个qpress 这个也是一个大坑
tar xvf qpress-11-linux-x64.tar
chmod 775 qpress
cp qpress /usr/bin
官网说的 下载就 ,赋权,cp 我第一部就没找到这个 qpress 官网翻半天 好像版本已经更新很多了
并且连接中的官网已经迁移了下载
然后我就在网上找到了另外一个的方法
wget http://www.quicklz.com/qpress-11-linux-x64.tar
tar xvf qpress-11-linux-x64.tar
cp qpress /usr/bin

如果没有qpress ,会无法使用xtrabackup 指令

三 ,关闭linuxse
修改/etc/sysconfig/selinux
配置为diabled
这是关闭安全验证,属于乱拳打死老师傅的操作。
不然各种文件夹拒绝访问,头大。

然后开始执行解包 解压指令

  1. 解包
    cat <数据备份文件名>_qp.xb | xbstream -x -v -C /home/mysql/data

  2. MySQL 8.0解压
    xtrabackup --decompress --remove-original --target-dir=/home/mysql/data

3.我也不知道啥意思这个指令
xtrabackup --prepare --target-dir=/home/mysql/data

4.把数据源copy到mysql默认的数据源中去
xtrabackup --datadir=/var/lib/mysql --copy-back --target-dir=/home/mysql/data

这里理论上是这个样子的,但是安全起见这里建议步骤为

  1. 解包
    cat <数据备份文件名>_qp.xb | xbstream -x -v -C /home/mysql/data

  2. MySQL 8.0解压
    xtrabackup --decompress --remove-original --target-dir=/home/mysql/data

3.我也不知道啥意思这个指令
xtrabackup --prepare --target-dir=/home/mysql/data

4.关机备份
关机(关机命令poweroff),将现在虚拟机备份快照一下

5.将之前mysql的数据目录备份 并且创建新的数据源
1.mv /var/lib/mysql /var/lib/mysqlbak 这里就直接把原来的名字覆盖掉了
2. mkdir /var/lib/mysql 再创建mysql数据源

6.将前面解包和加压出来的数据源 copy 到新建的mysql 中

这里需要注意 当你copy 完成后你的账号密码会变成你阿里上数据库的账号密码

xtrabackup --datadir=/var/lib/mysql --copy-back --target-dir=/home/mysql/data

7.赋权 修改文件属主,并确定文件所属为MySQL用户。
chown -R mysql:mysql /var/lib/mysql

修改配置文件配置/etc/my.cnf
添加配置:
lower_case_table_names=1
不然mysql 无法启动

启动mysql
service mysqld start

登录
mysql -uroot -p

查看
show databases;
use mysql;
show tables;

成功后看到表
阿里RDS MySQL8.0 物理备份文件恢复到自建数据库

外部访问

1.首先把防火墙给干了
查看防火墙状态 -firewall-cmd --state
停止firewall -systemctl stop firewalld.service

开启firewall -firewall-cmd --state

禁止firewall 开机启动 -systemctl disable firewalld.service

2.配置端口转发
其实最开始就应该配置服务器的22 端口转发
这里22 端口的作用可百度先了解下功能

然后配置3306 端口 这样虚拟机上的mysql 可以在本机上使用可视化的工具连接