centos8 mysql8从阿里云rds恢复物理备份数据

2021年5月3日22:14:05

 

本地环境centos8 mysql8

 

rds的数据库备份分两种一种是逻辑备份,就是我们常用的.sql文件,另一种就是物理备份,直接把数据库文件备份了,

如何吧备份数据库的数据导出来呢?

首先要数据库的版本要一直,最少大版本要一致,最好就是同一版本

我的mysql是yum安装的

首先把*.xb文件下载到本地

wget –c 'rds下路路径' –O 8.tar.gz

如果没有存到 8.tar.gz,就自己mv his*  8.tar.gz

然后安装 xtrabackup 

yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm

注意mysql8配合的是 percona-xtrabackup-24 是mysql 5.7以下对应大版本,注意这个版本有innobackupex这个工具的

 yum search XtraBackup

我们要安装的是percona-xtrabackup-80

cat 8.tar.gz |xbstream -x -v -C /data/mysqltest

xtrabackup --decompress --remove-original --target-dir=/data/mysqltest

xtrabackup --prepare --apply-log-only --target-dir=/data/mysqltest

chown -R mysql.mysql /data/mysqltest

注意这里直接启动,多数情况下是启动不了的

修改配置文件

vi data/mysqltest/backup-my.cnf
[mysqld]
lower_case_table_names=1
innodb_checksum_algorithm=crc32
innodb_data_file_path=ibdata1:200M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=524288000
innodb_undo_directory=/data/mysqltest
basedir=/usr
datadir=/data/mysqltest
innodb_undo_tablespaces=0
server_id=999098802
skip-grant-tables=1
sql_mode=''

socket=/data/mysqltest/mysql.sock
log-error=/data/mysqltest/mysqld.log
pid-file=/data/mysqltest/mysqld.pid

如果你用本地客户端连接的话

cd /etc/my.cnf.d/

vi client.cnf
[client]
port=3306
socket=/data/mysqltest/mysql.sock

启动

 mysqld --defaults-file=/data/mysqltest/backup-my.cnf --user=mysql --datadir=/data/mysqltest &

查看一下是否启动成功

ps -ef | grep mysql

 

mysql       5321       1  0 05:27 ?        00:00:48 mysqld --defaults-file=/data/mysqltest/backup-my.cnf --user=mysql --datadir=/data/mysqltest

启动成功了,正常连接就可以了

 

posted on 2021-05-03 23:12  zh7314  阅读(194)  评论(0编辑  收藏  举报