什么是备份?为什么要备份?

备份是将数据库中的数据复制到另一个地方,以防止数据丢失或损坏。
这样可以在需要时将数据库还原到备份时的状态。备份是保障数据安全和完整性的重要手段。
1)备份是为了方便恢复数据。
2)尽量减少数据的丢失(公司的损失)

备份类型

备份类型
rsync:
1)冷备

  • 停机,停服务进行备份
    2)热备
  • 不停机,不停服务,直接备份
    MySQL:
    1)冷备
  • 停库,维护页,进行备份
    2)温备
  • 不停库,但是备份时候,会锁表
    3)热备
  • 不停库,不锁表,直接备份数据

备份方式

1)逻辑备份
基于SQL语句进行备份

  • binlog
  • mysqldump
  • into outfile //不建议使用,因为此命令备份的数据只是明文表数据,而不是SQL语句形式,所有在恢复的时候无法重新导入数据库
  • replication (主从)
    2)物理备份
    基于数据文件进行备份
  • 直接打包datadir
  • Xtrabackup(percona)

备份策略

数据备份策略是确保数据库数据的安全性和可靠性,防止数据丢失或损坏。一个综合的备份策略通常包括以下几个方面:

全量备份(Full Backup): 定期将整个数据库的数据和结构备份到另一个地方,确保数据库的最新状态被保存
增量备份(Incremental Backup): 在完整备份后,只备份自上次备份以来新增和修改的数据,减少备份时间和资源消耗。
差异备份(Differential Backup): 在完整备份后,只备份自上次备份以来发生变化的数据,与完整备份相比,备份时间较短。
备份存储和保留策略: 将备份数据存储在安全可靠的地方,制定保留策略,决定保存多少天或周的备份。
备份数据验证: 定期验证备份数据的完整性和正确性,确保备份文件没有损坏,并且可以成功还原数据。
备份加密和访问控制: 对备份数据进行加密,保护数据安全,限制访问权限,防止未授权访问。
多点备份: 将备份数据保存在不同的地点,以防止单点故障或灾难,增加数据恢复的可靠性。
自动化备份: 使用自动化工具和脚本执行备份操作,确保备份的及时性和一致性,减少人工干预。

具体根据公司业务情况选择相应的备份策略方式

逻辑备份工具-mysqldump

mysqldump 是 MySQL 数据库自带的备份工具,用于将数据库中的数据和结构导出到一个文本文件中。
这个工具可以生成一个 SQL 脚本,包含创建数据库、表以及插入数据的语句,以便在需要时恢复数据库到备份时的状态。
选项:

-u:指定用户
-p:指定密码
-h:指定主机域
-S:指定socket文件
-P:指定端口

导库选项

备份所有库

 -A  --all-databases:备份所有库
[root@db01 data]# mysqldump -uroot -p123 -A > /tmp/full.sql
## 备份文件中注释方式
-- 注释内容
/* 注释内容 */
#MySQL数据恢复是覆盖式的,用备份文件中的数据覆盖当前数据库,恢复数据库到备份时的状态。在执行恢复前,确保备份文件可靠,并最好设置数据库为只读模式,避免写入干扰

备份单个库

 -B:备份单个库,指定库名(备份库和表)
 #导出
[root@db01 data]# mysqldump -uroot -p123 -B test > /tmp/hht.sql
#导入
[root@db01 data]# mysql -uroot -p123 < /tmp/1.sql
# -B:备份多个库
[root@db01 data]# mysqldump -uroot -p123 -B 库名1 库名2 > /tmp/1.sql
# 不加选项,直接指定库名 //这形式的导出只是会导出该库的表数据,而不会导出库
[root@db01 data]# mysqldump -uroot -p123 test > /tmp/1.sql
#在在导出表i数据的情况下,这个表数据的备份可以导入任意一个数据库里面
[root@db01 data]# mysql -uroot -p123 xxx < /tmp/1.sql
# 单表备份
[root@db01 data]# mysqldump -uroot -p123 mysql user > /tmp/mysql.sql
[root@db01 data]# mysqldump -uroot -p123 库名 表名1 表名2 > /tmp/mysql.sq

备份时刷新binlog

 -F:备份数据,并且刷新binlog
[root@db01 data]# mysqldump -uroot -p123 -B mysql -F > /tmp/1.sql
## 缺陷:有多少数据库,就会刷新出来多少binlog

打点备份参数

--master-data=0|1|2  
0:关闭
1:备份一个change master语句,不注释
2:备份一个change master语句,被注释
[root@db01 data]# mysqldump -uroot -p123  test t1 --master-data=1 >/opt/1.sql
[root@db01 ~]# cat /opt/1.sql 
-- MySQL dump 10.13  Distrib 5.6.50, for Linux (x86_64)
--
-- Host: localhost    Database: test
-- ------------------------------------------------------
-- Server version       5.6.50-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Position to start replication or point-in-time recovery from
--
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=120;   //没有被注释
--
-- Table structure for table `t1`
--
[root@db01 data]# mysqldump -uroot -p123  test t1 --master-data=2 >/opt/2.sql
-- MySQL dump 10.13  Distrib 5.6.50, for Linux (x86_64)
--
-- Host: localhost    Database: test
-- ------------------------------------------------------
-- Server version       5.6.50-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Position to start replication or point-in-time recovery from
--
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=120;  //此行被注释
--
-- Table structure for table `t1`
--

快照备份

--single-transaction:不锁表备份,需要指定一个快照,否则永远备份不完
mysqldump -uroot -p123 -A --master-data=2 --single-transaction > /tmp/full_hot.sql

额外扩展选项

不常用使用,了解即可

-d:只备份表结构
-t:只备份数据

实用扩展选项

-R:备份MySQL的函数
--triggers:备份MySQL的触发器
## 完整备份语句
方式一:
mysqldump -uroot -p123 -A -R --triggers --master-data=2 --single-transaction > /tmp/full_hot.sql
方式二:
mysqldump -uroot -p123 -A -R --triggers --master-data=2 --single-transaction|gzip > /tmp/full_hot.sql.gz
方式三:
mysqldump -uroot -p123 -A -R --triggers --master-data=2 --single-transaction|gzip > /tmp/full_$(date +%F).sql.gz

mysqldump的恢复

#先关闭记录二进制日志。避免恢复错误而增加binlog数量
mysql> set sql_log_bin=0;
#库内恢复操作
mysql> source /backup/full.sql
#库外恢复操作
[root@db01 ~]# mysql -uroot -p123 < /backup/full.sql
注意:
1)mysqldump在备份和恢复时都需要MySQL实例启动为前提
2)一般数据量级100G以内,大约15-30分钟可以恢复(PB、EB就需要考虑别的方式)
3)mysqldump是以覆盖的形式恢复数据的

物理备份xtrabackup

percona
安装xtrabackup

[root@db01 ~]# yum install -y https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.28/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.28-1.el7.x86_64.rpm
xtrabackup是老版本命令:会锁表(温备)
innobackupex是新版本命令:针对innodb存储引擎进行备份,不会锁表(热备)
备份方式(物理备份)
1)对于非innodb表(比如myisam)是直接锁表cp数据文件,属于一种温备。
2)对于innodb的表(支持事务),不锁表,cp数据页最终以数据文件方式保存下来,并且把redo和undo一并备走,属于热备方式。
3)备份时读取配置文件/etc/my.cnf

inobackupex命令基础选项

innobackupex: 
    --user:指定用户名
    --password:指定密码
    --socket:指定socket文件
    --host:指定主机IP
    --port:指定端口
    --apply-log:模拟CSR
    --copy-back:恢复数据
    --incremental:开启增量备份
    --incremental-basedir:指定上一次备份的目录
    --no-timestamp:不需要时间戳
    --redo-only:只做redo

innobackupex全备

[root@db01 backup]# innobackupex --user=root --password=123 /backup/
[root@db01 backup]# ll /backup/2023-08-03_08-53-33/
-rw-r----- 1 root root 21 Aug 3 08:53 xtrabackup_binlog_info    //等同--master-data  打点文件
-rw-r----- 1 root root 113 Aug 3 08:53 xtrabackup_checkpoints
-rw-r----- 1 root root 464 Aug 3 08:53 xtrabackup_info
-rw-r----- 1 root root 2560 Aug 3 08:53 xtrabackup_logfile // redo log
[root@db01 2023-08-03_08-53-33]# cat xtrabackup_binlog_info
mysql-bin.000004 120

[root@db01 2023-08-03_08-53-33]# cat xtrabackup_checkpoints
backup_type = full-backuped  //全量备份
from_lsn = 0                // 备份起始点
to_lsn = 1730489            //备份结束点
last_lsn = 1730489          //备份生成时数据库的最后一个LSN也是1730489,表示备份的时候数据库处于这个状态。
compact = 0                 //是否使用了紧凑模式
recover_binlog_info = 0  //不包含用于恢复二进制日志的信息

[root@db01 2023-08-03_11-57-38]# cat xtrabackup_info 
uuid = e74d3e4f-31b1-11ee-86d4-000c29c407f3    //备份的唯一标识符。
name =          //备份的名称
tool_name = innobackupex            //使用的备份工具的名称,这里是Innobackupex
tool_command = --user=root --password=... --notimestamp /backup/full   //备份时使用的完整命令行选项和参数,包括用户名、密码和备份目标路径。
tool_version = 2.4.4   //备份工具的版本号。
ibbackup_version = 2.4.4  //InnoDB备份插件(ibbackup)的版本号,与备份工具版本号相同。
server_version = 5.6.50-log  //MySQL服务器的版本号。
start_time = 2023-08-03 11:57:38  //备份开始的时间。
end_time = 2023-08-03 11:57:45   //备份结束的时间。
lock_time = 0    //备份过程中锁定数据库的时间(单位:秒)。
binlog_pos = filename 'mysql-bin.000003', position '1815'   //备份时二进制日志的位置,包括文件名和位置。
innodb_from_lsn = 0   //InnoDB引擎的起始Log Sequence Number(LSN)
innodb_to_lsn = 24003645        //InnoDB引擎的结束LSN。
partial = N   //是否为部分备份(Partial Backup),这里为"否"。
incremental = N  //是否为增量备份(Incremental Backup),这里为"否"。
format = file   //备份文件的格式,这里是文件格式。
compact = N     //是否使用了紧凑模式,这里为"否"
compressed = N     //备份文件是否压缩,这里为"否"
encrypted = N       //备份文件是否加密,这里为"否"

全备恢复

恢复前提:
1)前提:被恢复的目录是空的
2)前提:被恢复的数据库的实例是关闭的 停库恢复

## 1.先停库
[root@db01 ~]# /etc/init.d/mysqld stop
## 2.清空被恢复的目录  //这里测试环境所有可以删除,生成实际情况需谨慎 
[root@db01 ~]# rm -fr /app/mysql/data
# 3.先手动CSR,将redo中的数据,重做一遍,然后将undo中的数据,回滚一遍
[root@db01 mysql]# innobackupex --apply-log /backup/2023-08-03_15-15-30/
、、、、、、、
InnoDB: Waiting for purge to start
InnoDB: 5.7.13 started; log sequence number 24388117
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 24388136
230803 14:59:58 completed OK!    //出现ok表示正常
# 4.恢复数据
[root@db01 backup]# innobackupex --copy-back /backup/2023-08-03_15-15-30/
230803 15:01:36 [01]        ...done
230803 15:01:36 [01] Copying ./xtrabackup_binlog_pos_innodb to /app/mysql/data/xtrabackup_binlog_pos_innodb
230803 15:01:36 [01]        ...done
230803 15:01:36 [01] Copying ./ibtmp1 to /app/mysql/data/ibtmp1
230803 15:01:36 [01]        ...done
230803 15:01:36 completed OK!
# 5.授权   //因为恢复的数据目录默认是root属主
[root@db01 backup]# chown -R mysql.mysql /app/mysql/data
#登录msyql查看表数据
root@localhost [(none)] >select * from test.t1;
+------+
| id   |
+------+
|    1 |
|    2 |
|    3 |
+------+
3 rows in set (0.00 sec)

innobackupex增量备份

增量备份的前提是基于全备上的

# 1.准备全备   //如果报错是因为my.cnf配置文件没写socket路径,vim编辑或者命令行指定即可
[root@db01 backup]# innobackupex --user=root --password=123 --no-timestamp /backup/full-$(date +%F)
[root@db01 mysql]# cat /backup/full-2023-08-03/xtrabackup_info
uuid = cf9faa49-31cf-11ee-8250-000c29c407f3
name = 
tool_name = innobackupex
tool_command = --user=root --password=... --no-timestamp /backup/full-2023-08-03
tool_version = 2.4.4
ibbackup_version = 2.4.4
server_version = 5.6.50-log
start_time = 2023-08-03 15:31:47
end_time = 2023-08-03 15:31:50
lock_time = 0
binlog_pos = filename 'mysql-bin.000001', position '4355'
innodb_from_lsn = 0
innodb_to_lsn = 1712164
partial = N
incremental = N
format = file
compact = N
compressed = N
encrypted = N

# 2.第一次增量备份
[root@db01 mysql]# innobackupex --user=root --password=123 --no-timestamp --incremental --incremental-basedir=/backup/full-2023-08-03/ /backup/inc1-$(date +%F-%H)
[root@db01 backup]# cat inc1-2023-08-03-15/xtrabackup_checkpoints 
backup_type = incremental
from_lsn = 1712164
to_lsn = 1758817
last_lsn = 1758817
compact = 0
recover_binlog_info = 0

# 3.第二次增备
[root@db01 backup]# innobackupex --user=root --password=123 --no-timestamp --incremental --incremental-basedir=/backup/inc1-2023-08-03-15/ /backup/inc2-$(date +%F-%H)
[root@db01 backup]# cat inc2-2023-08-03-15/xtrabackup_checkpoints
root@db01 backup]# cat inc2-2023-08-03-15/xtrabackup_checkpoints
backup_type = incremental
from_lsn = 1758817
to_lsn = 1819920
last_lsn = 1819920
compact = 0
recover_binlog_info = 0

# 4.第三次增备
[root@db01 backup]# innobackupex --user=root --password=123 --no-timestamp --incremental --incremental-basedir=/backup/inc2-2023-08-03-15/ /backup/inc3-$(date +%F-%H)
[root@db01 backup]# cat inc3-2023-08-03-15/xtrabackup_checkpoints 
backup_type = incremental
from_lsn = 1819920
to_lsn = 1822635
last_lsn = 1822635
compact = 0
recover_binlog_info = 0

xtrabackup增量备份恢复

1)基于上一次备份进行增量
2)增量备份无法单独恢复,必须基于全备进行恢复
3)所有增量必须要按顺序合并到全备当中

#查看共写入多少数据
root@localhost [(none)] >select * from backup.t1;
、、、、
|  137 |
|  138 |
|  139 |
+------+
139 rows in set (0.01 sec)
#查看处于那个binlog日志文件
root@localhost [(none)] >show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 |    26326 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
# 1.停库
[root@db01 backup]# /etc/init.d/mysqld stop
# 2.清空data目录 //推荐移除或者备份后删除
[root@db01 mysql]# mv data /opt/
# 3.先模拟CSR
1)全备模拟CSR,只做redo,不做undo
[root@db01 backup]# innobackupex --apply-log --redo-only /backup/full-2023-08-03/
2)第一次增备合并到全备的时候,只做redo,不做undo
[root@db01 backup]# innobackupex --apply-log --redo-only --incremental-dir=/backup/inc1-2023-08-03-15/ /backup/full-2023-08-03/
3)第二次增备合并到全备的时候,只做redo,不做undo
[root@db01 backup]# innobackupex --apply-log --redo-only --incremental-dir=/backup/inc2-2023-08-03-15/ /backup/full-2023-08-03/
4)第三次增备(最后一次增备)合并到全备的时候,redo和undo都做
[root@db01 backup]# innobackupex --apply-log --incremental-dir=/backup/inc3-2023-08-03-15/ /backup/full-2023-08-03/
5)最后全部合并完成后,把全备redo和undo都做一遍
[root@db01 backup]# innobackupex --apply-log /backup/full-2023-08-03/
# 4.恢复数据
[root@db01 backup]# innobackupex --copy-back /backup/full-2023-08-03/
#授权
[root@db01 mysql]# chown -R mysql.mysql data/
#登录mysql数据库查看数据恢复情况
root@localhost [(none)] >select * from backup.t1;
、、、、
|  116 |
|  117 |
|  118 |
|  119 |
|  120 |
+------+
120 rows in set (0.00 sec)
可以看出缺少了一部分数据,这部分数据只能从binlog日志里面截取恢复至数据库
#截取日志数据
这个时候我们之前移走的data就有作用了,因为在恢复全备之前的新增数据都在移走的data目录里的binlog文件里
[root@db01 mysql]# ll /opt/
total 0
drwxr-x--- 6 mysql mysql 299 Aug  3 15:55 data
#截取数据 
起始点位置:22769  
[root@db01 mysql]# cat /app/mysql/data/xtrabackup_binlog_pos_innodb
mysql-bin.000001        22769
终止点位置:26326                     //由于我们丢失的是最后一次增备到停库之前的数据,所有我们只要查看最后几列的字段即可
[root@db01 mysql]# mysqlbinlog --base64-output=decode-rows -vvv /opt/data/mysql-bin.000001 | tail
# at 26272
#230803 15:51:25 server id 1  end_log_pos 26303 CRC32 0xb8269331        Xid = 623
COMMIT/*!*/;
# at 26303
#230803 15:51:45 server id 1  end_log_pos 26326 CRC32 0x284be858        Stop
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#导出数据
[root@db01 mysql]# mysqlbinlog --start-position=22769 --stop-position=26326 /opt/data/mysql-bin.000001 > /opt/1.sql
#恢复数据
临时关闭binlog采集
root@localhost [(none)] >set sql_log_bin=0;
Query OK, 0 rows affected (0.00 sec)
root@localhost [(none)] >source /opt/1.sql;
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected, 1 warning (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
、、、、、
#查看表数据
root@localhost [(none)] >select * from backup.t1;
|  135 |
|  136 |
|  137 |
|  138 |
|  139 |
+------+
139 rows in set (0.00 sec)

innobackupex差异备份

基于全备或者新增数据进行备份
Img

# 1.全备
[root@db01 backup]# innobackupex --user=root --password=123 --no-timestamp /backup/full
# 2.第一次差异备份
[root@db01 backup]# innobackupex --user=root --password=123 --no-timestamp --incremental --incremental-basedir=/backup/full /backup/chayi1-$(date +%F-%H)
# 3.第二次差异备份
[root@db01 backup]# innobackupex --user=root --password=123 --no-timestamp --incremental --incremental-basedir=/backup/full /backup/chayi2-$(date +%F-%H)
# 4.第三次差异备份
[root@db01 backup]# innobackupex --user=root --password=123 --no-timestamp --incremental --incremental-basedir=/backup/full /backup/chayi3-$(date +%F-%H)
#查看处于那边binlog日志目录
root@localhost [(none)] >show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 |      120 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
#查看写入多少数据
root@localhost [(none)] >select * from backup.t1;
、、、、、
|   98 |
|   99 |
|  100 |
+------+
100 rows in set 
## 恢复数据
[root@db01 backup]# /etc/init.d/mysqld stop
[root@db01 backup]# mv /app/mysql/data /opt/
## 模拟CSR
1)全备只做redo不做undo
[root@db01 backup]# innobackupex --apply-log --redo-only /backup/full/
2)将最后一次差异备份合并到全备中,redo和undo都做
[root@db01 backup]# innobackupex --apply-log --incremental-dir=/backup/chayi3-2023-08-03-17/ /backup/full/
3)全备redo和undo都做
[root@db01 backup]# innobackupex --apply-log /backup/full/
# 恢复
[root@db01 backup]# innobackupex --copy-back /backup/full/
# 授权
[root@db01 backup]# chown -R mysql.mysql /app/mysql/data
#启动数据库查看表数据
root@localhost [(none)] >select * from backup.t1;
、、、、、
|   92 |
|   93 |
|   94 |
|   95 |
+------+
95 rows in set (0.00 sec)
# 截取binlog   起始点:18119  终止点:19072
[root@db01 backup]# cat /app/mysql/data/xtrabackup_binlog_pos_innodb
mysql-bin.000001 18119
[root@db01 backup]# mysqlbinlog --base64-output=decode-rows /opt/data/mysql-bin.000001 | tail
# at 19018
#230803 17:01:05 server id 1  end_log_pos 19049 CRC32 0x39f660e5        Xid = 647
COMMIT/*!*/;
# at 19049
#230803 17:01:06 server id 1  end_log_pos 19072 CRC32 0x6b164f1e        Stop
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
#导出数据
[root@db01 backup]# mysqlbinlog --start-position=18119 --stop-position=19072 /opt/data/mysql-bin.000001 > /tmp/chayi.sql
#导入数据
root@localhost [(none)] >source /tmp/chayi.sql;
#查看表数据
root@localhost [(none)] >select * from backup.t1;
、、、、、
|   97 |
|   98 |
|   99 |
|  100 |
+------+
100 rows in set (0.00 sec)