[toc]

## 前情提要



实验环境:

- MySQL 5.7.25 
- Redhat 6.10


前面我们建立了数据库并建立相关的对象

- 数据库
- 表
- 存储过程
- 函数
- 触发器
- 事件


前面我们已经讲解了常用的一些参数,这节讲其他的一些参数

## 1. 使用socket文件连接

使用-S socket_name 来连接数据库 

```
mysqldump -S /data/mysql/mysql.sock -usystem -p123456  -F  --single-transaction  --set-gtid-purged=OFF  --all-databases  --master-data=2  --triggers --events --routines> /tmp/all.sql
```


## 2. 强制刷新日志

使用-F 会在dump之前刷新日志,即执行flush logs;


[image:543 size:orig]


```
mysqldump -h127.0.0.1 -usystem -p123456  -F  --single-transaction  --set-gtid-purged=OFF  --all-databases  --master-data=2  --triggers --events --routines> /tmp/all.sql
```


备份多个数据库时,如果没有指定--lock-all-tables,--master-data或--single-transaction时,每备份一个数据库都会刷新日志

[image:544 size:orig]

[image:545 size:orig]



## 3. 只导出表结构

使用--no-data只导出表结构

[image:546 size:orig]

该参数不导出行信息


## 4.获取帮助信息

可以使用--help获取命令帮助信息

同时还有参数的默认值

```
mysqldump --help
```

[image:547 size:orig]



上图同时也显示了参数文件的读取顺序

[image:548 size:orig]

--------------

好了 关于mysqldump的相关内容就这么多了 下期是个总结