centos7 xtrabackup mysql(8)压缩 全量备份 还原(4)

centos7 xtrabackup mysql(8)压缩 全量备份 还原(4)

查看版本:

xtrabackup --version

qpress --help

主机端
mysql -u root -p
1234aA~1
use company_pro;
insert into employee(name) value (‘20240823_1401’);

sudo mkdir -p /data/20240823
sudo chmod -R 777 /data/20240823

sudo xtrabackup --backup --compress --compress-threads=2 --target-dir=/data/20240823/full_backup --user=root --password=1234aA~1 --parallel=2

log

[jack@localhost data]$ sudo xtrabackup --backup --compress --compress-threads=2 --target-dir=/data/20240823/full_backup --user=root --password=1234aA~1 --parallel=2
xtrabackup: recognized server arguments: --datadir=/opt/datadir/mysql/ --server-id=40 --log_bin=mysql-bin --parallel=2
xtrabackup: recognized client arguments: --socket=/opt/datadir/mysql/mysql.sock --backup=1 --compress --compress-threads=2 --target-dir=/data/20240823/full_backup --user=root --password=*
240823 14:08:48  version_check Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_group=xtrabackup;mysql_socket=/opt/datadir/mysql/mysql.sock' as 'root'  (using password: YES).
240823 14:08:48  version_check Connected to MySQL server
240823 14:08:48  version_check Executing a version check against the server...
240823 14:08:48  version_check Done.
240823 14:08:48 Connecting to MySQL server host: localhost, user: root, password: set, port: not set, socket: /opt/datadir/mysql/mysql.sock
Using server version 5.7.44-log
xtrabackup version 2.4.26 based on MySQL server 5.7.35 Linux (x86_64) (revision id: 19de43b)
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /opt/datadir/mysql/
xtrabackup: open files limit requested 0, set to 1024
xtrabackup: using the following InnoDB configuration:
xtrabackup:   innodb_data_home_dir = .
xtrabackup:   innodb_data_file_path = ibdata1:12M:autoextend
xtrabackup:   innodb_log_group_home_dir = ./
xtrabackup:   innodb_log_files_in_group = 2
xtrabackup:   innodb_log_file_size = 50331648
InnoDB: Number of pools: 1
240823 14:08:48 >> log scanned up to (2822750)
xtrabackup: Generating a list of tablespaces
InnoDB: Allocated tablespace ID 2 for mysql/plugin, old maximum was 0
xtrabackup: Starting 2 threads for parallel data files transfer
240823 14:08:48 [02] Compressing ./ibdata1 to /data/20240823/full_backup/ibdata1.qp
240823 14:08:48 [01] Compressing ./mysql/plugin.ibd to /data/20240823/full_backup/mysql/plugin.ibd.qp
240823 14:08:48 [01]        ...done
240823 14:08:48 [01] Compressing ./mysql/servers.ibd to /data/20240823/full_backup/mysql/servers.ibd.qp
240823 14:08:48 [01]        ...done
240823 14:08:48 [01] Compressing ./mysql/help_topic.ibd to /data/20240823/full_backup/mysql/help_topic.ibd.qp
240823 14:08:48 [02]        ...done
240823 14:08:48 [02] Compressing ./mysql/help_category.ibd to /data/20240823/full_backup/mysql/help_category.ibd.qp
240823 14:08:48 [02]        ...done
240823 14:08:48 [02] Compressing ./mysql/help_relation.ibd to /data/20240823/full_backup/mysql/help_relation.ibd.qp
240823 14:08:48 [02]        ...done
240823 14:08:48 [02] Compressing ./mysql/help_keyword.ibd to /data/20240823/full_backup/mysql/help_keyword.ibd.qp
240823 14:08:48 [02]        ...done
240823 14:08:48 [02] Compressing ./mysql/time_zone_name.ibd to /data/20240823/full_backup/mysql/time_zone_name.ibd.qp
240823 14:08:48 [02]        ...done
240823 14:08:48 [02] Compressing ./mysql/time_zone.ibd to /data/20240823/full_backup/mysql/time_zone.ibd.qp
240823 14:08:48 [02]        ...done
240823 14:08:48 [02] Compressing ./mysql/time_zone_transition.ibd to /data/20240823/full_backup/mysql/time_zone_transition.ibd.qp
240823 14:08:48 [02]        ...done
240823 14:08:48 [02] Compressing ./mysql/time_zone_transition_type.ibd to /data/20240823/full_backup/mysql/time_zone_transition_type.ibd.qp
240823 14:08:48 [01]        ...done
240823 14:08:48 [02]        ...done
240823 14:08:48 [01] Compressing ./mysql/time_zone_leap_second.ibd to /data/20240823/full_backup/mysql/time_zone_leap_second.ibd.qp
240823 14:08:48 [02] Compressing ./mysql/innodb_table_stats.ibd to /data/20240823/full_backup/mysql/innodb_table_stats.ibd.qp
240823 14:08:48 [01]        ...done
240823 14:08:48 [02]        ...done
240823 14:08:48 [01] Compressing ./mysql/innodb_index_stats.ibd to /data/20240823/full_backup/mysql/innodb_index_stats.ibd.qp
240823 14:08:48 [02] Compressing ./mysql/slave_relay_log_info.ibd to /data/20240823/full_backup/mysql/slave_relay_log_info.ibd.qp
240823 14:08:48 [01]        ...done
240823 14:08:48 [02]        ...done
240823 14:08:48 [02] Compressing ./mysql/slave_master_info.ibd to /data/20240823/full_backup/mysql/slave_master_info.ibd.qp
240823 14:08:48 [02]        ...done
240823 14:08:48 [01] Compressing ./mysql/slave_worker_info.ibd to /data/20240823/full_backup/mysql/slave_worker_info.ibd.qp
240823 14:08:48 [02] Compressing ./mysql/gtid_executed.ibd to /data/20240823/full_backup/mysql/gtid_executed.ibd.qp
240823 14:08:48 [01]        ...done
240823 14:08:48 [02]        ...done
240823 14:08:48 [02] Compressing ./mysql/server_cost.ibd to /data/20240823/full_backup/mysql/server_cost.ibd.qp
240823 14:08:48 [02]        ...done
240823 14:08:48 [01] Compressing ./mysql/engine_cost.ibd to /data/20240823/full_backup/mysql/engine_cost.ibd.qp
240823 14:08:48 [02] Compressing ./sys/sys_config.ibd to /data/20240823/full_backup/sys/sys_config.ibd.qp
240823 14:08:48 [01]        ...done
240823 14:08:48 [02]        ...done
240823 14:08:48 [02] Compressing ./company_pro/employee.ibd to /data/20240823/full_backup/company_pro/employee.ibd.qp
240823 14:08:48 [01] Compressing ./company_service/customer.ibd to /data/20240823/full_backup/company_service/customer.ibd.qp
240823 14:08:48 [02]        ...done
240823 14:08:48 [01]        ...done
240823 14:08:49 >> log scanned up to (2822750)
240823 14:08:49 Executing FLUSH NO_WRITE_TO_BINLOG TABLES...
240823 14:08:49 Executing FLUSH TABLES WITH READ LOCK...
240823 14:08:49 Starting to backup non-InnoDB tables and files
240823 14:08:49 [01] Compressing ./mysql/db.opt to /data/20240823/full_backup/mysql/db.opt.qp
240823 14:08:49 [01]        ...done

240823 14:08:50 [01] Compressing ./performance_schema/status_by_host.frm to /data/20240823/full_backup/performance_schema/status_by_host.frm.qp
240823 14:08:50 [01]        ...done
240823 14:08:50 [01] Compressing ./performance_schema/status_by_account.frm to /data/20240823/full_backup/performance_schema/status_by_account.frm.qp
240823 14:08:50 [01]        ...done
240823 14:08:50 [01] Compressing ./performance_schema/global_status.frm to /data/20240823/full_backup/performance_schema/global_status.frm.qp
240823 14:08:50 [01]        ...done
240823 14:08:50 [01] Compressing ./performance_schema/session_status.frm to /data/20240823/full_backup/performance_schema/session_status.frm.qp
240823 14:08:50 [01]        ...done
240823 14:08:50 Finished backing up non-InnoDB tables and files
240823 14:08:50 [00] Compressing /data/20240823/full_backup/xtrabackup_binlog_info.qp
240823 14:08:50 [00]        ...done
240823 14:08:50 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
xtrabackup: The latest check point (for incremental): '2822741'
xtrabackup: Stopping log copying thread.
.240823 14:08:50 >> log scanned up to (2822750)

240823 14:08:50 Executing UNLOCK TABLES
240823 14:08:50 All tables unlocked
240823 14:08:50 [00] Compressing ib_buffer_pool to /data/20240823/full_backup/ib_buffer_pool.qp
240823 14:08:50 [00]        ...done
240823 14:08:50 Backup created in directory '/data/20240823/full_backup/'
MySQL binlog position: filename 'mysql-bin.000006', position '529'
240823 14:08:50 [00] Compressing /data/20240823/full_backup/backup-my.cnf.qp
240823 14:08:50 [00]        ...done
240823 14:08:50 [00] Compressing /data/20240823/full_backup/xtrabackup_info.qp
240823 14:08:50 [00]        ...done
xtrabackup: Transaction log of lsn (2822741) to (2822750) was copied.
240823 14:08:50 completed OK!

sudo chmod -R 777 /data/20240823/full_backup

主机端
mysql -u root -p
1234aA~1
use company_pro;
insert into employee(name) value (‘20240823_1413’);

slave 机器上面:
cd ~
mkdir tmp

cd /home/jack/tmp

scp -r 192.168.99.40:/data/20240823 .
cd /home/jack/tmp/20240823/full_backup

解压

xtrabackup --decompress --parallel=2 --target-dir=/home/jack/tmp/20240823/full_backup

sudo systemctl stop mysqld

sudo cp -r /opt/datadir/mysql /opt/datadir/bak_mysql

sudo rm -rf /opt/datadir/mysql/*

sudo xtrabackup --prepare --apply-log-only --target-dir=/home/jack/tmp/20240823/full_backup

sudo xtrabackup --copy-back --target-dir=/home/jack/tmp/20240823/full_backup

sudo chown -R mysql.mysql /opt/datadir/mysql/*

sudo systemctl restart mysqld

mysql -u root -p

mysql -V

在主机端:

在这里插入图片描述
show binlog events in ‘mysql-bin.000006’;
在这里插入图片描述

sudo mysqlbinlog --start-position=529 /opt/datadir/mysql/mysql-bin.000006 -vv > load.sql

scp load.sql jack@192.168.99.49://home/jack/tmp/

mysql -u root -p < load.sql

mysql -u root -p
1234aA~1

show databases ;
use company_pro;
show tables ;
select * from employee ;

mydump 太大的文件,需要 分块,不然内存会溢出

show binlog events in ‘bin-log.000004’;

mysql-bin.000006

1.查看binlog文件列表
show binary logs;
2.查看当前正在写入的binlog文件
show master status;

主从mysql服务器 备份流程

主服务器A
从服务器B
一起运行了1年了,生成的数据量有100G,
对应的mysql data目录有270G

然后,某一天 从服务器B,挂掉了。
主服务器A一直在正常运行中。

可以 使用 xtrabackup 对主服务器A 进行全量备份
然后复制到从服务器B上面 还原
还原的时候,不会替换/etc/my.cnf的内容。
根据xtrabackup_info 文件中的内容,
重新设置启动从服务器B。
从服务器B,会自动的从xtrabackup_info 断点的位置,慢慢的同步到主服务器A 当前的位置。
不用执行任何命令,也不用手动 mysqlbinlog 复制过去。
这个期间, 主服务器A 可以进行数据改动,
空白期的数据,也会自动同步过去的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值