MySQL入门篇-Xtrabackup详细介绍

news2025/5/25 18:24:31

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 &

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/335070.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3 企业级优雅实战 - 组件库框架 - 11 组件库的打包构建和发布

回顾第一篇文章中谈到的组件库的几个方面,只剩下最后的、也是最重要的组件库的打包构建、本地发布、远程发布了。 1 组件库构建 组件库的入口是 packages/yyg-demo-ui,构建组件库有两个步骤: 添加 TypeScript 的配置文件: tsco…

百趣代谢组学资讯:槟榔的基因组为雌雄同株植物的性别决定提供见解

文章标题:The genome of Areca catechu provides insights into sex determination of monoecious plants 发表期刊:New Phytologist 影响因子:10.323 作者单位:海南大学 百趣生物提供服务:植物激素高通量靶标定…

怎么查看自己的电脑IP地址?

作为一个互联网冲浪侠,你应该对IP地址并不陌生:访问网站和网络服务器知道你的IP地址;发送的电子邮件头包含你的IP地址。如果有人想从IP地址追踪到你的物理地址和身份,是有可能的。 IP地址代表互联网协议地址。它是一个特殊的号码…

linux高级命令系列一

重定向命令学习目标能够使用重定向命令将终端显示内容重定向到文件1. 重定向命令的介绍重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件。2. 重定向命令的使用命令说明>如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式>…

C/C++:预处理(下)

目录 一.回顾程序的编译链接过程 二. 预处理之预定义#define 1.#define定义的标识符 2.#define定义的宏 3.带副作用的表达式作为宏实参 4.两个经典的宏 5.#define使用的一些注意事项小结 6.宏与函数的比较 7.#undef 附:关于#define的三个冷知识 三. 条件…

Android 14 首个开发者预览版到来

作者 / Dave Burke, VP of Engineering让 Android 在数十亿用户的手中良好运行,是我们、Android 设备制造商,以及开发者社区的一致追求。今天,我们为大家带来 Android 14 的第一个开发者预览版。大家针对预览版提出的反馈具有重要意义&#x…

企业管理的三大基石及其关系

企业管理的三大基石三大基石是什么三大基石的关系制度:管理:文化:三大基石是什么 一个企业,不管它是属于哪种类型,影响员工行为的都有三种力量——制度、管理和文化,这是管理的三大基石。 三大基石的关系 …

sleep()、wait()、 join()、 yield()的区别

在这之前,需要明白锁池和等待池的含义 1.锁池 所有需要竞争同步锁的线程都会放在锁池当中,比如当前对象的锁已经被其中一个线程得到,则其他线程需要在这个锁池进行等待,当前面的线程释放同步锁后锁池中的线程去竞争同步锁&#…

ThreadLocal 源码级别详解

ThreadLocal简介 稍微翻译一下: ThreadLocal提供线程局部变量。这些变量与正常的变量不同,因为每一个线程在访问ThreadLocal实例的时候(通过其get或set方法)都有自己的、独立初始化的变量副本。ThreadLocal实例通常是类中的私有静…

excel拆分实例:如何快速制作考勤统计分析表

面对新的统计需求,很多人会一下变懵,不知如何办。如果涉及的统计有一千多行数据,哭的心思都有了:什么时候才能下班哟!今天老菜鸟通过考勤统计分析表实例分享自己面对新统计需求的解决方法:简化数据、找数据…

【表面缺陷检测】基于YOLOX的PCB表面缺陷检测(全网最详细的YOLOX保姆级教程)

写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 Hello,大家好,我是augustqi。 今天给大家分享一个表面缺陷检测项目:基于YOLOX的PCB表面缺陷检测(保姆级教程)。多的…

用于异常检测的深度神经网络模型融合

用于异常检测的深度神经网络模型融合 在当今的数字时代,网络安全至关重要,因为全球数十亿台计算机通过网络连接。近年来,网络攻击的数量大幅增加。因此,网络威胁检测旨在通过观察一段时间内的流量数据来检测这些攻击,…

主流无线音频传输方案

一、概述 无线音频传输很大程度上解决了音影设备布线难的问题,特别是大型的场合。科技的进步,用户对无线传输的要求越来越高,一发对多收的无线音频方案将成为主流。 二、方案分类 无线传输方案,从目前来说方案的种类还是很多的&am…

线材分享丨同为(TOWE)IEC 60320国际标准制式电源转换延长线

电源线的作用是传输电流,其传输方式通常是点对点传输,在生活中我们随处可见它的身影。电源线按照用途可以分为AC交流电源线及DC直流电源线,而AC电源线有着高需要统一标准获得安全认证,如国标CCC认证机构、美国UL认证机构、欧洲VDE…

Java笔记-异常相关

一、异常概述与异常体系结构 Error:Java虚拟机无法解决的严重问题: JVM系统内部错误,资源耗尽,如:StackOverflow \OOM堆栈溢出 处理办法:只能修改代码,不能编写处理异常的代码 Exception:可以处理的异常 &…

docker安装青龙面板薅羊毛(新手教程,大佬可略过)

当然如果没有服务器的,强烈推荐腾讯云,1核2G的服务器,一年原价1000多块的服务器,现在有活动新用户一年也就70元,也就一顿外卖钱。完全白嫖啊。本博客用的就是腾讯云 1核2G的轻量服务器,速度怎么样可以自己感…

安卓小游戏:贪吃蛇

安卓小游戏:贪吃蛇 前言 这个是通过自定义View实现小游戏的第二篇,实际上第一篇做起来麻烦点,后面的基本就是照葫芦画瓢了,只要设计下游戏逻辑就行了,技术上不难,想法比较重要。 需求 贪吃蛇&#xff0…

解决:ChatGPT too many requests in 1 hour.Try again later 怎么办?OpenAI 提示

ChatGPT 提示: Too many requests in 1 hour. Try again later. 如下图,我多次访问也出现同样的问题。中文意思是太多的请求数量在当前 1 个小时内,请稍后重试。那怎么办?怎么解决? 一、问题现象 我基本试了半个小时&…

二分查找基本原理

二分查找基本原理1.二分查找1.1 基本概念1.2 二分查找查找步骤1.2.1 中间索引不能整除,取整数作为中间索引1.2.2 索引不能整除,整数1作为中间索引1.3 二分查找大O记法表示2. 二分查找代码实现1.二分查找 1.1 基本概念 二分法(折半查找)是一…

【第37天】斐波那契数列与爬楼梯 | 迭代的鼻祖,递推与记忆化

本文已收录于专栏🌸《Java入门一百例》🌸学习指引序、专栏前言一、递推与记忆化二、【例题1】1、题目描述2、解题思路3、模板代码4、代码解析5.原题链接三、【例题1】1、题目描述2.解题思路3、模板代码4、代码解析5、原题链接三、推荐专栏四、课后习题序…