阿里云rds备份文件本地恢复-mysql-8

admin2023-09-01linux143

//参考官方文档

https://help.aliyun.com/document_detail/41817.html?spm=a2c4g.41833.4.4.16ce3ae9ZVzVwm&scm=20140722.H_41817._.ID_41817-OR_rec-V_1

部署自建MySQL数据库,其中数据库大版本与RDS MySQL的大版本必须相同(例如都是8.0)。

安装宝塔面板,安装对应mysql版本(解压后查看xtrabackup_info文件)

mysql 版本:

server_version = 8.0.28

1.工具准备

安装备份恢复工具Percona XtraBackup。

wget https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/zh-CN/20230825/kpof/t-rds-xtrabackup-80-8.0.31-20230817110455.alios7.x86_64.rpm
yum localinstall -y t-rds-xtrabackup-80-8.0.31-20230817110455.alios7.x86_64.rpm

安装解压工具qpress

Bash
## 下载可执行文件的tar包
wget " 
## 解压下载的tar包,取出可执行文件
tar -xvf qpress-11-linux-x64.tar
## 设置qpress文件的执行权限
sudo chmod 775 qpress
## 拷贝qpress到/usr/bin中
sudo cp qpress /usr/bin

创建一个目录(本文示例目录为/home/data)用于存放解压后的文件。

Bash
mkdir /home/data

2.解包恢复

### MySQL 8.0
qpress -do  1_xb.qp | /u01/xtrabackup80/bin/xbstream -x -v -C /home/data

恢复前准备

/u01/xtrabackup80/bin/xtrabackup --defaults-file=/home/data/backup-my.cnf  --prepare --target-dir=/home/data

停止数据库,备份原始库

/etc/init.d/mysqld stop
mv /www/server/data /www/server/data-back
mkdir /www/server/data

恢复数据

/u01/xtrabackup80/bin/xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/home/data

目录赋权

chown mysql.mysql /www/server/data -R
/etc/init.d/mysqld start

启动报错

2023-08-01T06:51:01.292783Z 1 [ERROR] [MY-013171] [InnoDB] Cannot boot server version 80024 on data directory built by version 80028. Downgrade is not supported
mysqld: Can't open file: 'mysql.ibd' (errno: 0 - )


    编译安装mysql8,版本升级到8.0.28

修改默认root 密码

#跳过验证启动服务
/www/server/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --datadir=/www/server/data  --skip-grant-tables &
#选择mysql库
use mysql
#刷新权限
flush privileges;
#查看用户
select user,plugin from user where user='aliyun_root';
#修改密码:
alter user 'aliyun_root'@'127.0.0.1' identified with caching_sha2_password by 'py.10isp.com';
kill -9 mysql进程
重启mysql