什么是备份?为什么要备份?
备份是将数据库中的数据复制到另一个地方,以防止数据丢失或损坏。
这样可以在需要时将数据库还原到备份时的状态。备份是保障数据安全和完整性的重要手段。
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差异备份
基于全备或者新增数据进行备份
# 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)