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
启动成功了,正常连接就可以了