-
8. mysqldump命令详解 Part 8 --single-transaction 参数的使用
tutorial8
-
-
Attachments
-
Changes
-
View Source
-
View
[toc]
## 前情提要
实验环境:
- MySQL 5.7.25
- Redhat 6.10
前面我们建立了数据库并建立相关的对象
- 数据库
- 表
- 存储过程
- 函数
- 触发器
- 事件
今天的内容为--single-transaction的使用
## 1. --single-transaction
[image:540 size:orig]
该参数通过在一个事务中导出所有表从而创建一个一致性的快照
当前版本的MySQL只可以对innodb 引擎保证一致性,导出过程中不会锁表
其他引擎,如MyISAM 在导出期间会锁表
为保证有效的dump文件,即正确的表内容和二进制日志位置
在导出的过程中不能有如下操作
- ALTER TABLE
- DROP TABLE
- RENAME TABLE
- TRUNCATE TABLE
如指定了 --lock-tables参数则会自动将其关闭
推荐在mysqldump中使用该参数
## 2. 使用--single-transaction备份数据库
**备份所有数据库**
```
mysqldump -h127.0.0.1 -usystem -p123456 --single-transaction --set-gtid-purged=OFF --all-databases --master-data=2 --triggers --events --routines> /tmp/all_master.sql
```
**备份test数据库**
```
mysqldump -h127.0.0.1 -usystem -p123456 --single-transaction --set-gtid-purged=OFF --databases test --master-data=2 --triggers --events --routines> /tmp/test_all_master.sql
```
备份内容讲解可和上节的内容一致,链接见下面
[http://www.zhaibibei.cn/mysql/tutorial/tutorial8](http://www.zhaibibei.cn/mysql/tutorial/tutorial8)
--------------
今天的内容就到这里,欢迎查看