Xtrabackup简介
MySQL冷备、mysqldump、MySQL热拷贝都无法实现对数据库进行增量备份。在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况下,可以每天进行完整备份,如果每天产生的数据量较大,需要定制数据备份策略。例如每周实用完整备份,周一到周六实用增量备份。而Percona-Xtrabackup就是为了实现增量备份而出现的一款主流备份工具。
Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁)。XtraBackup支持所有的Percona Server、MySQL、MariaDB和Drizzle。
xtrabackup有两个主要的工具:xtrabackup、innobackupex
xtrabackup -- 只能备份InnoDB和XtraDB两种数据表
innobackupex -- 则封装了xtrabackup,同时可以备份MyISAM数据表
Innobackupex完整备份后生成几个重要文件
Xtrabackup特点
能够对InnoDB实现热备,无需暂停数据库
能够对MySQL进行增量备份
对MySQL备份能够实现流式压缩并传输给其他服务器,–stream参数实现
MySQL服务运行时能够在MySQL 服务器之间进行表的迁移
能够很容易创建一个MySQL从服务器
备份MySQL时不会增加服务器负担
自动备份校验
还原速度快
XtraBackup能够带InnoDB引擎创建的表实现热备,对MyISAM引擎实现温备
Xtrabackup备份原理
在InnoDB内部会维护一个redo日志文件,我们也可以叫做事务日志文件。事务日志会存储每一个InnoDB表数据的记录修改。当InnoDB启动时,InnoDB会检查数据文件和事务日志,并执行两个步骤:它应用(前滚)已经提交的事务日志到数据文件,并将修改过但没有提交的数据进行回滚操作。
使用xtrabackup进行还原,需要xtrabackup进行”备份”和”准备”:先将文件全部复制过来,再根据事务日志对部分操作进行回滚,如下描述:
xtrabackup的备份过程。Xtrabackup在启动时会记住log sequence number(LSN),并且复制所有的数据文件。复制过程需要一些时间,所以这期间如果数据文件有改动,那么将会使数据库处于一个不同的时间点。所以,xtrabackup会运行一个后台进程,用于监视事务日志,并从事务日志复制最新的修改。Xtrabackup持续地做这个操作,这些数据改动会写入xtrabackup_logfile文件。xtrabackup自启动开始,就不停的将事务日志中每个数据文件的修改都记录下来。
接下来是准备(prepare)过程。在这个过程中,xtrabackup使用之前复制的事务日志,对各个数据文件执行灾难恢复(就像mysql刚启动时要做的一样)。当这个过程结束后,数据库就可以做恢复还原了。
比较详细的过程
1. 调用xtrabackup对innodb表空间文件(这一瞬间的映像Time1)备份,而在这个innodb表备份期间数据库是不加锁的,外部可以继续往库里增减数据(这才能叫热备份)。而在Time1和Time2这两个时间点之间的改动由一个线程不断地扫innodb log获得(ChangeSet1),一旦发现redo中有新的日志写入,立刻将日志记入后台日志文件xtrabackup_log中
2. 锁所有库。
3. 以直接拷贝的方式备份frm,MYD,MYI,MRG,TRG,TRN,opt格式的文件。
4. 步骤3中的数据备份完毕时(Time2),停止扫innodb log的线程,把ChangeSet1的数据拷贝到备份中。
5. 解锁所有库。
6. 终止挂起,备份完毕。
注意要点
1.根据innobackupex的原理可知它不是真正的热备份,MyISAM表越少越小就越有利。要利用Xtrabackup的好处就尽量用innodb表。
2.还原备份前关闭mysql服务;还原备份后检查数据文件权限是否正确。
更加详细的一个xtrabackup备份的流程图:
xtrabackup安装
centos7使用下面
MySQL入门篇-MySQL 8.0 物理备份xtrabackup简介_顶尖高手养成计划的博客-CSDN博客
安装完后的目录结构如下,有4个可执行文件
usr
├── bin
│ ├── xbcrypt
│ ├── xbstream
│ └── xtrabackup
其中最主要的是 innobackupex 和 xtrabackup,前者是一个 perl 脚本,后者是 C/C++ 编译的二进制。
xbcrypt 是加解密用的;xbstream 类似于tar
[root@hadoop102 bin]# ll | grep x*
Binary file xbcloud matches
Binary file xbcrypt matches
Binary file xbstream matches
Binary file xtrabackup matches
[root@hadoop102 bin]# ll | grep in*
Binary file infocmp matches
Binary file infokey matches
Binary file infotocap matches
Binary file install matches
innobackupex常用参数介绍
innobackupex备份实例
测试数据准备:
create database test;
use test;
create table t1(id int,name varchar(1000));
DELIMITER //
CREATE PROCEDURE p5()
BEGIN
declare l_n1 int default 10000000;
while l_n1 > 0 DO
insert into t1 select l_n1,repeat('w',1000);
set l_n1 = l_n1 - 1;
end while;
select l_n1;
END;
//
DELIMITER ;
-- 往测试表录入1000w条数据,执行时间比较长,可以优化下,分批提交
call p5;
--拷贝一个表t2
create table t2 as select * from t1;
全备所有数据库
全备
默认自动创建文件
xtrabackup --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --user=test --password=Mysql@123 --port=3306 --backup --target-dir=backup
执行日志:
[root@hadoop102 ~]# xtrabackup --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --user=test --password=Mysql@123 --port=3306 --backup --target-dir=backup
xtrabackup: recognized server arguments: --server-id=1 --log_bin=/usr/local/mysql/mysql-8.0/data/mysql-bin --datadir=/usr/local/mysql/mysql-8.0/data --innodb_data_home_dir=/usr/local/mysql/mysql-8.0/data --innodb_log_group_home_dir=/usr/local/mysql/mysql-8.0/data/
xtrabackup: recognized client arguments: --socket=/var/lib/mysql/mysql.sock --socket=/var/lib/mysql/mysql.sock --user=test --password=* --port=3306 --backup=1 --target-dir=backup
xtrabackup version 8.0.13 based on MySQL server 8.0.20 Linux (x86_64) (revision id: fdf0f4c)
230210 13:01:34 version_check Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_group=xtrabackup;port=3306;mysql_socket=/var/lib/mysql/mysql.sock' as 'test' (using password: YES).
230210 13:01:34 version_check Connected to MySQL server
230210 13:01:34 version_check Executing a version check against the server...
230210 13:01:34 version_check Done.
230210 13:01:34 Connecting to MySQL server host: localhost, user: test, password: set, port: 3306, socket: /var/lib/mysql/mysql.sock
Using server version 8.0.20
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /usr/local/mysql/mysql-8.0/data
xtrabackup: open files limit requested 0, set to 1024
xtrabackup: using the following InnoDB configuration:
xtrabackup: innodb_data_home_dir = /usr/local/mysql/mysql-8.0/data
xtrabackup: innodb_data_file_path = ibdata1:12M:autoextend
xtrabackup: innodb_log_group_home_dir = /usr/local/mysql/mysql-8.0/data/
xtrabackup: innodb_log_files_in_group = 2
xtrabackup: innodb_log_file_size = 50331648
Number of pools: 1
230210 13:01:34 Connecting to MySQL server host: localhost, user: test, password: set, port: 3306, socket: /var/lib/mysql/mysql.sock
xtrabackup: Redo Log Archiving is not set up.
Starting to parse redo log at lsn = 1453434804
Recovery parsing buffer extended to 4194304.
Recovery parsing buffer extended to 8388608.
230210 13:01:34 >> log scanned up to (1467259212)
xtrabackup: Generating a list of tablespaces
xtrabackup: Generating a list of tablespaces
Scanning './'
Completed space ID check of 2 files.
Allocated tablespace ID 14 for test/table1, old maximum was 0
Using undo tablespace './undo_001'.
Using undo tablespace './undo_002'.
Opened 2 existing undo tablespaces.
230210 13:01:34 [01] Copying /usr/local/mysql/mysql-8.0/data/ibdata1 to /root/backup/ibdata1
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./sys/sys_config.ibd to /root/backup/sys/sys_config.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./mysql/user_info_bak.ibd to /root/backup/mysql/user_info_bak.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./mysql/t.ibd to /root/backup/mysql/t.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./testdata/dept.ibd to /root/backup/testdata/dept.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./testdata/emp.ibd to /root/backup/testdata/emp.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./testdata/salgrade.ibd to /root/backup/testdata/salgrade.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./testdata/bonus.ibd to /root/backup/testdata/bonus.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./testdata/t_utf8.ibd to /root/backup/testdata/t_utf8.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./testdata/t_gbk.ibd to /root/backup/testdata/t_gbk.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./testdata/t_latin.ibd to /root/backup/testdata/t_latin.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./test/table1.ibd to /root/backup/test/table1.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./mysql.ibd to /root/backup/mysql.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./test/table2.ibd to /root/backup/test/table2.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./testdata/t6.ibd to /root/backup/testdata/t6.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./testdata/t7.ibd to /root/backup/testdata/t7.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./testdata/t9.ibd to /root/backup/testdata/t9.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./testdata/t1.ibd to /root/backup/testdata/t1.ibd
230210 13:01:34 [01] ...done
230210 13:01:34 [01] Copying ./test/t1.ibd to /root/backup/test/t1.ibd
230210 13:01:35 >> log scanned up to (1468678177)
230210 13:01:36 >> log scanned up to (1469877243)
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying ./undo_002 to /root/backup/undo_002
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying ./undo_001 to /root/backup/undo_001
230210 13:01:37 [01] ...done
230210 13:01:37 >> log scanned up to (1471466910)
230210 13:01:37 Starting to backup non-InnoDB tables and files
230210 13:01:37 [01] Copying mysql/general_log_202.sdi to /root/backup/mysql/general_log_202.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying mysql/general_log.CSM to /root/backup/mysql/general_log.CSM
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying mysql/general_log.CSV to /root/backup/mysql/general_log.CSV
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying mysql/slow_log_203.sdi to /root/backup/mysql/slow_log_203.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying mysql/slow_log.CSM to /root/backup/mysql/slow_log.CSM
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying mysql/slow_log.CSV to /root/backup/mysql/slow_log.CSV
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/cond_instances_77.sdi to /root/backup/performance_schema/cond_instances_77.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_waits_cur_78.sdi to /root/backup/performance_schema/events_waits_cur_78.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_waits_his_79.sdi to /root/backup/performance_schema/events_waits_his_79.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_waits_his_80.sdi to /root/backup/performance_schema/events_waits_his_80.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_waits_sum_81.sdi to /root/backup/performance_schema/events_waits_sum_81.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_waits_sum_82.sdi to /root/backup/performance_schema/events_waits_sum_82.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_waits_sum_83.sdi to /root/backup/performance_schema/events_waits_sum_83.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_waits_sum_84.sdi to /root/backup/performance_schema/events_waits_sum_84.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_waits_sum_85.sdi to /root/backup/performance_schema/events_waits_sum_85.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_waits_sum_86.sdi to /root/backup/performance_schema/events_waits_sum_86.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/file_instances_87.sdi to /root/backup/performance_schema/file_instances_87.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/file_summary_by__88.sdi to /root/backup/performance_schema/file_summary_by__88.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/file_summary_by__89.sdi to /root/backup/performance_schema/file_summary_by__89.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/host_cache_90.sdi to /root/backup/performance_schema/host_cache_90.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/mutex_instances_91.sdi to /root/backup/performance_schema/mutex_instances_91.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/objects_summary__92.sdi to /root/backup/performance_schema/objects_summary__92.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/performance_time_93.sdi to /root/backup/performance_schema/performance_time_93.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/rwlock_instances_94.sdi to /root/backup/performance_schema/rwlock_instances_94.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/setup_actors_95.sdi to /root/backup/performance_schema/setup_actors_95.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/setup_consumers_96.sdi to /root/backup/performance_schema/setup_consumers_96.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/setup_instrument_97.sdi to /root/backup/performance_schema/setup_instrument_97.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/setup_objects_98.sdi to /root/backup/performance_schema/setup_objects_98.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/setup_threads_99.sdi to /root/backup/performance_schema/setup_threads_99.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/table_io_waits_s_100.sdi to /root/backup/performance_schema/table_io_waits_s_100.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/table_io_waits_s_101.sdi to /root/backup/performance_schema/table_io_waits_s_101.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/table_lock_waits_102.sdi to /root/backup/performance_schema/table_lock_waits_102.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/threads_103.sdi to /root/backup/performance_schema/threads_103.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_stages_cu_104.sdi to /root/backup/performance_schema/events_stages_cu_104.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_stages_hi_105.sdi to /root/backup/performance_schema/events_stages_hi_105.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_stages_hi_106.sdi to /root/backup/performance_schema/events_stages_hi_106.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_stages_su_107.sdi to /root/backup/performance_schema/events_stages_su_107.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_stages_su_108.sdi to /root/backup/performance_schema/events_stages_su_108.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_stages_su_109.sdi to /root/backup/performance_schema/events_stages_su_109.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_stages_su_110.sdi to /root/backup/performance_schema/events_stages_su_110.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_stages_su_111.sdi to /root/backup/performance_schema/events_stages_su_111.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_statement_112.sdi to /root/backup/performance_schema/events_statement_112.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_statement_113.sdi to /root/backup/performance_schema/events_statement_113.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_statement_114.sdi to /root/backup/performance_schema/events_statement_114.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_statement_115.sdi to /root/backup/performance_schema/events_statement_115.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_statement_116.sdi to /root/backup/performance_schema/events_statement_116.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_statement_117.sdi to /root/backup/performance_schema/events_statement_117.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_statement_118.sdi to /root/backup/performance_schema/events_statement_118.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_statement_119.sdi to /root/backup/performance_schema/events_statement_119.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_statement_120.sdi to /root/backup/performance_schema/events_statement_120.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_statement_121.sdi to /root/backup/performance_schema/events_statement_121.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_statement_122.sdi to /root/backup/performance_schema/events_statement_122.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_statement_123.sdi to /root/backup/performance_schema/events_statement_123.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_transacti_124.sdi to /root/backup/performance_schema/events_transacti_124.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_transacti_125.sdi to /root/backup/performance_schema/events_transacti_125.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_transacti_126.sdi to /root/backup/performance_schema/events_transacti_126.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_transacti_127.sdi to /root/backup/performance_schema/events_transacti_127.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_transacti_128.sdi to /root/backup/performance_schema/events_transacti_128.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_transacti_129.sdi to /root/backup/performance_schema/events_transacti_129.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_transacti_130.sdi to /root/backup/performance_schema/events_transacti_130.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_transacti_131.sdi to /root/backup/performance_schema/events_transacti_131.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_errors_su_132.sdi to /root/backup/performance_schema/events_errors_su_132.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_errors_su_133.sdi to /root/backup/performance_schema/events_errors_su_133.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_errors_su_134.sdi to /root/backup/performance_schema/events_errors_su_134.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_errors_su_135.sdi to /root/backup/performance_schema/events_errors_su_135.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/events_errors_su_136.sdi to /root/backup/performance_schema/events_errors_su_136.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/users_137.sdi to /root/backup/performance_schema/users_137.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/accounts_138.sdi to /root/backup/performance_schema/accounts_138.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/hosts_139.sdi to /root/backup/performance_schema/hosts_139.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/socket_instances_140.sdi to /root/backup/performance_schema/socket_instances_140.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/socket_summary_b_141.sdi to /root/backup/performance_schema/socket_summary_b_141.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/socket_summary_b_142.sdi to /root/backup/performance_schema/socket_summary_b_142.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/session_connect__143.sdi to /root/backup/performance_schema/session_connect__143.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/session_account__144.sdi to /root/backup/performance_schema/session_account__144.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/keyring_keys_145.sdi to /root/backup/performance_schema/keyring_keys_145.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/memory_summary_g_146.sdi to /root/backup/performance_schema/memory_summary_g_146.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/memory_summary_b_147.sdi to /root/backup/performance_schema/memory_summary_b_147.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/memory_summary_b_148.sdi to /root/backup/performance_schema/memory_summary_b_148.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/memory_summary_b_149.sdi to /root/backup/performance_schema/memory_summary_b_149.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/memory_summary_b_150.sdi to /root/backup/performance_schema/memory_summary_b_150.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/table_handles_151.sdi to /root/backup/performance_schema/table_handles_151.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/metadata_locks_152.sdi to /root/backup/performance_schema/metadata_locks_152.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/data_locks_153.sdi to /root/backup/performance_schema/data_locks_153.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/data_lock_waits_154.sdi to /root/backup/performance_schema/data_lock_waits_154.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/replication_conn_155.sdi to /root/backup/performance_schema/replication_conn_155.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/replication_grou_156.sdi to /root/backup/performance_schema/replication_grou_156.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/replication_conn_157.sdi to /root/backup/performance_schema/replication_conn_157.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/replication_appl_158.sdi to /root/backup/performance_schema/replication_appl_158.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/replication_appl_159.sdi to /root/backup/performance_schema/replication_appl_159.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/replication_appl_160.sdi to /root/backup/performance_schema/replication_appl_160.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/replication_appl_161.sdi to /root/backup/performance_schema/replication_appl_161.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/replication_grou_162.sdi to /root/backup/performance_schema/replication_grou_162.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/replication_appl_163.sdi to /root/backup/performance_schema/replication_appl_163.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/replication_appl_164.sdi to /root/backup/performance_schema/replication_appl_164.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/log_status_165.sdi to /root/backup/performance_schema/log_status_165.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/prepared_stateme_166.sdi to /root/backup/performance_schema/prepared_stateme_166.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/user_variables_b_167.sdi to /root/backup/performance_schema/user_variables_b_167.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/status_by_accoun_168.sdi to /root/backup/performance_schema/status_by_accoun_168.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/status_by_host_169.sdi to /root/backup/performance_schema/status_by_host_169.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/status_by_thread_170.sdi to /root/backup/performance_schema/status_by_thread_170.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/status_by_user_171.sdi to /root/backup/performance_schema/status_by_user_171.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/global_status_172.sdi to /root/backup/performance_schema/global_status_172.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/session_status_173.sdi to /root/backup/performance_schema/session_status_173.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/variables_by_thr_174.sdi to /root/backup/performance_schema/variables_by_thr_174.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/global_variables_175.sdi to /root/backup/performance_schema/global_variables_175.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/session_variable_176.sdi to /root/backup/performance_schema/session_variable_176.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/variables_info_177.sdi to /root/backup/performance_schema/variables_info_177.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/persisted_variab_178.sdi to /root/backup/performance_schema/persisted_variab_178.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/user_defined_fun_179.sdi to /root/backup/performance_schema/user_defined_fun_179.sdi
230210 13:01:37 [01] ...done
230210 13:01:37 [01] Copying performance_schema/binary_log_trans_180.sdi to /root/backup/performance_schema/binary_log_trans_180.sdi
230210 13:01:37 [01] ...done
230210 13:01:38 Finished backing up non-InnoDB tables and files
230210 13:01:38 Executing FLUSH NO_WRITE_TO_BINLOG BINARY LOGS
230210 13:01:38 Selecting LSN and binary log position from p_s.log_status
230210 13:01:38 [00] Copying /usr/local/mysql/mysql-8.0/data/mysql-bin.000022 to /root/backup/mysql-bin.000022 up to position 10420
230210 13:01:38 [00] ...done
230210 13:01:38 [00] Writing /root/backup/mysql-bin.index
230210 13:01:38 [00] ...done
230210 13:01:38 [00] Writing /root/backup/xtrabackup_binlog_info
230210 13:01:38 [00] ...done
230210 13:01:38 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
xtrabackup: The latest check point (for incremental): '1461501911'
xtrabackup: Stopping log copying thread at LSN 1472514614.
230210 13:01:38 >> log scanned up to (1472529295)
230210 13:01:39 All tables unlocked
230210 13:01:39 [00] Copying ib_buffer_pool to /root/backup/ib_buffer_pool
230210 13:01:39 [00] ...done
230210 13:01:39 Backup created in directory '/root/backup/'
MySQL binlog position: filename 'mysql-bin.000022', position '10420'
230210 13:01:39 [00] Writing /root/backup/backup-my.cnf
230210 13:01:39 [00] ...done
230210 13:01:39 [00] Writing /root/backup/xtrabackup_info
230210 13:01:39 [00] ...done
xtrabackup: Transaction log of lsn (1453434456) to (1474708435) was copied.
230210 13:01:40 completed OK!
可以看到备份到自动命令的文件夹中
cd backup/
ll
[root@hadoop102 backup]# ll
total 85348
-rw-r-----. 1 root root 475 Feb 10 13:01 backup-my.cnf
-rw-r-----. 1 root root 4127 Feb 10 13:01 ib_buffer_pool
-rw-r-----. 1 root root 12582912 Feb 10 13:01 ibdata1
drwxr-x---. 2 root root 181 Feb 10 13:01 mysql
-rw-r-----. 1 root root 10420 Feb 10 13:01 mysql-bin.000022
-rw-r-----. 1 root root 49 Feb 10 13:01 mysql-bin.index
-rw-r-----. 1 root root 28311552 Feb 10 13:01 mysql.ibd
drwxr-x---. 2 root root 8192 Feb 10 13:01 performance_schema
drwxr-x---. 2 root root 28 Feb 10 13:01 sys
drwxr-x---. 2 root root 56 Feb 10 13:01 test
drwxr-x---. 2 root root 184 Feb 10 13:01 testdata
-rw-r-----. 1 root root 12582912 Feb 10 13:01 undo_001
-rw-r-----. 1 root root 12582912 Feb 10 13:01 undo_002
-rw-r-----. 1 root root 23 Feb 10 13:01 xtrabackup_binlog_info
-rw-r-----. 1 root root 99 Feb 10 13:01 xtrabackup_checkpoints
-rw-r-----. 1 root root 548 Feb 10 13:01 xtrabackup_info
-rw-r-----. 1 root root 21276160 Feb 10 13:01 xtrabackup_logfile
-rw-r-----. 1 root root 39 Feb 10 13:01 xtrabackup_tablespaces
备份指定的表
备份场景1:备份不同库下的不同表,还是使用–databases参数,指定到表
xtrabackup --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --user=test --password=Mysql@123 --port=3306 --databases="test.table1 test.table1" --no-timestamp --backup --target-dir=backup123
备份场景2:备份一个库下的表,备份test库下t开头的表
xtrabackup --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --user=test --password=Mysql@123 --port=3306 --include="test.t" --no-timestamp --backup --target-dir=backup1
增量备份
使用–incremental-basedir和–incremental参数来进行增量备份
-- 全量脚本
xtrabackup --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --user=test --password=Mysql@123 --port=3306 --no-timestamp --backup --target-dir=fulldb
-- 增量备份
xtrabackup --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --user=test --password=Mysql@123 --no-timestamp --backup --target-dir=incrdb --incremental-basedir=fulldb
还原
还原时,mysql服务器需要关闭,而且数据目录必须是空的,xtrabackup –copy-back不会覆盖已存在的文件
全库还原
备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此,此时数据文件仍处理不一致状态。“准备”的主要作用正是通过回滚未提交的事务及同步已经提交的事务至数据文件也使得数据文件处于一致性状态。
利用 --apply-log参数,此参数的作用是通过回滚未提交的事务及同步已经提交的事务至数据文件使数据文件处于一致性状态。
执行完后,xtrabackup_checkpoints文件里面的backup_type会变成full-prepared状态(之前是full-backuped的状态)
cd fulldb
cat xtrabackup_checkpoints
[root@hadoop102 fulldb]# cat xtrabackup_checkpoints
backup_type = full-backuped
from_lsn = 0
to_lsn = 2953336028
last_lsn = 2953336038
flushed_lsn = 0
xtrabackup --prepare --apply-log --target-dir=fulldb
再次查看文件
[root@hadoop102 fulldb]# cat xtrabackup_checkpoints
backup_type = full-prepared
from_lsn = 0
to_lsn = 2953336028
last_lsn = 2953336038
flushed_lsn = 0
备份前先关闭数据库
#用这个命令启动以后kill -9 pid会自动重启,要用下面的mysqladmin命令关闭才行
mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
--关闭mysql服务,关闭的用户要有管理员权限
mysqladmin -utest -pMysql@123 -S /var/lib/mysql/mysql.sock shutdown
cd /usr/local/mysql/mysql-8.0/data
rm -rf ./*
-- 还原全库
xtrabackup -user=test --password=Mysql@123 --port=3306 --datadir=/usr/local/mysql/mysql-8.0/data --copy-back --target-dir=fulldb
[root@hadoop102 ~]# xtrabackup -user=test --password=Mysql@123 --port=3306 --datadir=/usr/local/mysql/mysql-8.0/data --copy-back --target-dir=fulldb
xtrabackup: recognized server arguments: --server-id=1 --log_bin=/usr/local/mysql/mysql-8.0/data/mysql-bin --datadir=/usr/local/mysql/mysql-8.0/data --innodb_data_home_dir=/usr/local/mysql/mysql-8.0/data --innodb_log_group_home_dir=/usr/local/mysql/mysql-8.0/data/ --datadir=/usr/local/mysql/mysql-8.0/data
xtrabackup: recognized client arguments: --socket=/var/lib/mysql/mysql.sock --user=ser=test --password=* --port=3306 --copy-back=1 --target-dir=fulldb
xtrabackup version 8.0.13 based on MySQL server 8.0.20 Linux (x86_64) (revision id: fdf0f4c)
230210 13:35:05 [01] Copying undo_001 to /usr/local/mysql/mysql-8.0/data/undo_001
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying undo_002 to /usr/local/mysql/mysql-8.0/data/undo_002
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ib_logfile0 to /usr/local/mysql/mysql-8.0/data/ib_logfile0
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ib_logfile1 to /usr/local/mysql/mysql-8.0/data/ib_logfile1
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ibdata1 to /usr/local/mysql/mysql-8.0/data/ibdata1
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying mysql-bin.000026 to /usr/local/mysql/mysql-8.0/data/mysql-bin.000026
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying mysql-bin.index to /usr/local/mysql/mysql-8.0/data/mysql-bin.index
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./sys/sys_config.ibd to /usr/local/mysql/mysql-8.0/data/sys/sys_config.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./mysql/user_info_bak.ibd to /usr/local/mysql/mysql-8.0/data/mysql/user_info_bak.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./mysql/t.ibd to /usr/local/mysql/mysql-8.0/data/mysql/t.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./mysql/general_log_202.sdi to /usr/local/mysql/mysql-8.0/data/mysql/general_log_202.sdi
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./mysql/general_log.CSM to /usr/local/mysql/mysql-8.0/data/mysql/general_log.CSM
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./mysql/general_log.CSV to /usr/local/mysql/mysql-8.0/data/mysql/general_log.CSV
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./mysql/slow_log_203.sdi to /usr/local/mysql/mysql-8.0/data/mysql/slow_log_203.sdi
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./mysql/slow_log.CSM to /usr/local/mysql/mysql-8.0/data/mysql/slow_log.CSM
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./mysql/slow_log.CSV to /usr/local/mysql/mysql-8.0/data/mysql/slow_log.CSV
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./testdata/dept.ibd to /usr/local/mysql/mysql-8.0/data/testdata/dept.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./testdata/emp.ibd to /usr/local/mysql/mysql-8.0/data/testdata/emp.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./testdata/salgrade.ibd to /usr/local/mysql/mysql-8.0/data/testdata/salgrade.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./testdata/bonus.ibd to /usr/local/mysql/mysql-8.0/data/testdata/bonus.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./testdata/t_utf8.ibd to /usr/local/mysql/mysql-8.0/data/testdata/t_utf8.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./testdata/t_gbk.ibd to /usr/local/mysql/mysql-8.0/data/testdata/t_gbk.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./testdata/t_latin.ibd to /usr/local/mysql/mysql-8.0/data/testdata/t_latin.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./testdata/t6.ibd to /usr/local/mysql/mysql-8.0/data/testdata/t6.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./testdata/t7.ibd to /usr/local/mysql/mysql-8.0/data/testdata/t7.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./testdata/t9.ibd to /usr/local/mysql/mysql-8.0/data/testdata/t9.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./testdata/t1.ibd to /usr/local/mysql/mysql-8.0/data/testdata/t1.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./test/table1.ibd to /usr/local/mysql/mysql-8.0/data/test/table1.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./test/table2.ibd to /usr/local/mysql/mysql-8.0/data/test/table2.ibd
230210 13:35:05 [01] ...done
230210 13:35:05 [01] Copying ./test/t1.ibd to /usr/local/mysql/mysql-8.0/data/test/t1.ibd
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./mysql.ibd to /usr/local/mysql/mysql-8.0/data/mysql.ibd
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/cond_instances_77.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/cond_instances_77.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_waits_cur_78.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_waits_cur_78.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_waits_his_79.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_waits_his_79.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_waits_his_80.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_waits_his_80.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_waits_sum_81.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_waits_sum_81.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_waits_sum_82.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_waits_sum_82.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_waits_sum_83.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_waits_sum_83.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_waits_sum_84.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_waits_sum_84.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_waits_sum_85.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_waits_sum_85.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_waits_sum_86.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_waits_sum_86.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/file_instances_87.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/file_instances_87.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/file_summary_by__88.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/file_summary_by__88.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/file_summary_by__89.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/file_summary_by__89.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/host_cache_90.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/host_cache_90.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/mutex_instances_91.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/mutex_instances_91.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/objects_summary__92.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/objects_summary__92.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/performance_time_93.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/performance_time_93.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/rwlock_instances_94.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/rwlock_instances_94.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/setup_actors_95.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/setup_actors_95.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/setup_consumers_96.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/setup_consumers_96.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/setup_instrument_97.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/setup_instrument_97.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/setup_objects_98.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/setup_objects_98.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/setup_threads_99.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/setup_threads_99.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/table_io_waits_s_100.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/table_io_waits_s_100.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/table_io_waits_s_101.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/table_io_waits_s_101.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/table_lock_waits_102.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/table_lock_waits_102.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/threads_103.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/threads_103.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_stages_cu_104.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_stages_cu_104.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_stages_hi_105.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_stages_hi_105.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_stages_hi_106.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_stages_hi_106.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_stages_su_107.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_stages_su_107.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_stages_su_108.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_stages_su_108.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_stages_su_109.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_stages_su_109.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_stages_su_110.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_stages_su_110.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_stages_su_111.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_stages_su_111.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_statement_112.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_statement_112.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_statement_113.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_statement_113.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_statement_114.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_statement_114.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_statement_115.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_statement_115.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_statement_116.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_statement_116.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_statement_117.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_statement_117.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_statement_118.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_statement_118.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_statement_119.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_statement_119.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_statement_120.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_statement_120.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_statement_121.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_statement_121.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_statement_122.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_statement_122.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_statement_123.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_statement_123.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_transacti_124.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_transacti_124.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_transacti_125.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_transacti_125.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_transacti_126.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_transacti_126.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_transacti_127.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_transacti_127.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_transacti_128.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_transacti_128.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_transacti_129.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_transacti_129.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_transacti_130.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_transacti_130.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_transacti_131.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_transacti_131.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_errors_su_132.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_errors_su_132.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_errors_su_133.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_errors_su_133.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_errors_su_134.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_errors_su_134.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_errors_su_135.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_errors_su_135.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/events_errors_su_136.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/events_errors_su_136.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/users_137.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/users_137.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/accounts_138.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/accounts_138.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/hosts_139.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/hosts_139.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/socket_instances_140.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/socket_instances_140.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/socket_summary_b_141.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/socket_summary_b_141.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/socket_summary_b_142.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/socket_summary_b_142.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/session_connect__143.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/session_connect__143.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/session_account__144.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/session_account__144.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/keyring_keys_145.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/keyring_keys_145.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/memory_summary_g_146.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/memory_summary_g_146.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/memory_summary_b_147.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/memory_summary_b_147.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/memory_summary_b_148.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/memory_summary_b_148.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/memory_summary_b_149.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/memory_summary_b_149.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/memory_summary_b_150.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/memory_summary_b_150.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/table_handles_151.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/table_handles_151.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/metadata_locks_152.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/metadata_locks_152.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/data_locks_153.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/data_locks_153.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/data_lock_waits_154.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/data_lock_waits_154.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/replication_conn_155.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/replication_conn_155.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/replication_grou_156.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/replication_grou_156.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/replication_conn_157.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/replication_conn_157.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/replication_appl_158.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/replication_appl_158.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/replication_appl_159.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/replication_appl_159.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/replication_appl_160.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/replication_appl_160.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/replication_appl_161.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/replication_appl_161.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/replication_grou_162.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/replication_grou_162.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/replication_appl_163.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/replication_appl_163.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/replication_appl_164.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/replication_appl_164.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/log_status_165.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/log_status_165.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/prepared_stateme_166.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/prepared_stateme_166.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/user_variables_b_167.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/user_variables_b_167.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/status_by_accoun_168.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/status_by_accoun_168.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/status_by_host_169.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/status_by_host_169.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/status_by_thread_170.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/status_by_thread_170.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/status_by_user_171.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/status_by_user_171.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/global_status_172.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/global_status_172.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/session_status_173.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/session_status_173.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/variables_by_thr_174.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/variables_by_thr_174.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/global_variables_175.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/global_variables_175.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/session_variable_176.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/session_variable_176.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/variables_info_177.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/variables_info_177.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/persisted_variab_178.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/persisted_variab_178.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/user_defined_fun_179.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/user_defined_fun_179.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./performance_schema/binary_log_trans_180.sdi to /usr/local/mysql/mysql-8.0/data/performance_schema/binary_log_trans_180.sdi
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./ib_buffer_pool to /usr/local/mysql/mysql-8.0/data/ib_buffer_pool
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./xtrabackup_info to /usr/local/mysql/mysql-8.0/data/xtrabackup_info
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./xtrabackup_master_key_id to /usr/local/mysql/mysql-8.0/data/xtrabackup_master_key_id
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Copying ./ibtmp1 to /usr/local/mysql/mysql-8.0/data/ibtmp1
230210 13:35:11 [01] ...done
230210 13:35:11 [01] Creating directory ./#innodb_temp
230210 13:35:11 [01] ...done.
230210 13:35:11 completed OK!
修改文件属主及启动mysql
chown mysql:mysql -R /usr/local/mysql/mysql-8.0/data
#启动数据库
mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
如果出现错误的情况
mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --log-error=error.log
修改完对应的错误以后再次启动
mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
下面数据恢复成功
增量还原
“准备”(prepare)增量备份与整理完全备份有着一些不同,尤其要注意的是:
(1)需要在每个备份(包括完全和各个增量备份)上,将已经提交的事务进行“重放”。“重放”之后,所有的备份数据将合并到完全备份上。
(2)基于所有的备份将未提交的事务进行“回滚”。
-- 第一步:先apply-log全量备份
xtrabackup --prepare --apply-log-only --target-dir=fulldb
-- 第二步:把增量备份数据合并到全量备份数据上
xtrabackup --prepare --apply-log-only --target-dir=fulldb --incremental-dir=incrdb
此时增量备份上的数据已经合并到全量备份上了,查看xtrabackup_checkpoints
cd fulldb
cat xtrabackup_checkpoints
[root@hadoop102 fulldb]# cat xtrabackup_checkpoints
backup_type = log-applied
from_lsn = 0
to_lsn = 2953352814
last_lsn = 2953352824
flushed_lsn = 0
cd incrdb/
cat xtrabackup_checkpoints
[root@hadoop102 incrdb]# cat xtrabackup_checkpoints
backup_type = incremental
from_lsn = 2953336028
to_lsn = 2953352814
last_lsn = 2953352824
flushed_lsn = 0
-- 第三步:回滚完全备份
xtrabackup --prepare --apply-log --target-dir=fulldb
-- 第四步: 关闭mysql服务,删除数据文件
mysqladmin -utest -pMysql@123 -S /var/lib/mysql/mysql.sock shutdown
#删除mysql里面的数据
cd /usr/local/mysql/mysql-8.0/data
rm -rf ./*
-- 第五步:还原
xtrabackup -user=test --password=Mysql@123 --port=3306 --datadir=/usr/local/mysql/mysql-8.0/data --copy-back --target-dir=fulldb
chown mysql:mysql -R /usr/local/mysql/mysql-8.0/data
#删除对应的bin.log信息
vi /usr/local/mysql/mysql-8.0/data/mysql-bin.index
#启动
mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &