使用xb文件恢复mysql数据库
【链接】使用xb文件恢复mysql数据库参考博客
https://www.cnblogs.com/changeEveryDay/p/11758727.html
一.环境配置
安装工具Percona XtraBackup
MySQL 5.6及之前的版本需要安装 Percona XtraBackup 2.3,安装指导请参见官方文档Percona XtraBackup 2.3。
MySQL 5.7版本需要安装 Percona XtraBackup 2.4,安装指导请参见官方文档Percona XtraBackup 2.4。
MySQL 8.0版本需要安装 Percona XtraBackup 8.0,安装指导请参见官方文档Percona XtraBackup 8.0。
【链接】安装工具参考博客
https://blog.csdn.net/yt_php/article/details/95342474
1.安装 xbstream
①安装percona-release
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
②安装percona-xtrabackup-24
yum install percona-xtrabackup-24
③安装qpress
yum install qpress
2.测试安装是否完成
执行命令测试:
innobackupex --version
xtrabackup: recognized server arguments: --server-id=14051 --datadir=/home/mysql/data --open_files_limit=81920 --log_bin=/home/mysql/data/mysql-bin --innodb_open_files=8000 --innodb_buffer_pool_size=4G --innodb_max_dirty_pages_pct=90 --innodb_io_capacity=1000 --innodb_flush_method=O_DIRECT --innodb_file_per_table=1 --innodb_flush_log_at_trx_commit=0 --innodb_log_file_size=100M --innodb_log_buffer_size=10M --innodb_log_files_in_group=3 --innodb_read_io_threads=6 --innodb_write_io_threads=6
innobackupex version 2.4.12 Linux (x86_64) (revision id: 170eb8c)
xtrabackup --version
xtrabackup: recognized server arguments: --server-id=14051 --datadir=/home/mysql/data --open_files_limit=81920 --log_bin=/home/mysql/data/mysql-bin --innodb_open_files=8000 --innodb_buffer_pool_size=4G --innodb_max_dirty_pages_pct=90 --innodb_io_capacity=1000 --innodb_flush_method=O_DIRECT --innodb_file_per_table=1 --innodb_flush_log_at_trx_commit=0 --innodb_log_file_size=100M --innodb_log_buffer_size=10M --innodb_log_files_in_group=3 --innodb_read_io_threads=6 --innodb_write_io_threads=6
xtrabackup version 2.4.12 based on MySQL server 5.7.19 Linux (x86_64) (revision id: 170eb8c)
二.恢复数据库
除/www/wwwroot/hins9966309_data_20191213113203_qp.xb是指xb文件全路径,/www/server/mysql/data/是自建的数据库恢复路径其他都是固定格式
1.解包
cat /www/wwwroot/hins9966309_data_20191213113203_qp.xb|xbstream -x -v -C /www/server/mysql/data/
2.解压
innobackupex --decompress --remove-original /www/server/mysql/data/
3.查看解压文件
ll /www/server/mysql/data/
4.恢复解压好的备份文
innobackupex --defaults-file=/www/server/mysql/data/backup-my.cnf --apply-log /www/server/mysql/data
5.自建数据库不支持如下参数需要修改/www/server/mysql/data/backup-my.cnf 的配置文件信息
注释下面内容(不存在忽略)
#innodb_log_checksum_algorithm
#innodb_fast_checksum
#innodb_log_block_size
#innodb_doublewrite_file
#rds_encrypt_data
#innodb_encrypt_algorithm
#redo_log_version
#master_key_id
6.授权数据目录
chown -R mysql:mysql /www/server/mysql/data/
7.数据备份:
mysqld_safe --defaults-file=/www/server/mysql/data/backup-my.cnf --user=mysql --datadir=/www/server/mysql/data/ &
8.拷贝恢复好的数据库放到MySQL
将恢复好的库文件,ibdata1,ib_logfile* 文件拷贝到数据库datadir路径下面
9.重启数据库
systemctl restart mysqld
10. 验证数据库是否启动成功
mysql -u root -p
三.重新搭建环境
参考卸载Percona Xtrabackup博客
http://blog.itpub.net/15498/viewspace-2168488/
1.卸载 xbstream
①卸载percona-release
yum remove percona-release
②卸载percona-xtrabackup-24
yum remove percona-xtrabackup-24
③卸载qpress
yum remove qpress
注意:卸载的插件可能要加版本