实验环境:

- MySQL 5.7.25 
- Redhat 6.10

前面都一些章节我们对mysqldump常用命令进行了讲解

这节对相关的命令进行整理总结

具体的内容还请查看前面的章节

## 1. 备份全库

这里使用了如下参数,详细请看前面章节的介绍 
- --single-transaction

- --set-gtid-purged=OFF  

- --master-data=2 

- --triggers 

- --events 

- --routines 

### 1.1 备份所有数据库


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

或者

```
mysqldump -h127.0.0.1 -usystem -p123456  --single-transaction --set-gtid-purged=OFF -A  --master-data=2  --triggers --events --routines --hex-blob >/tmp/all.sql
```
如果是在备库上执行备份,想获取主库的二进制日志位置,请使用--dump-slave参数
而不是--master-data

```
mysqldump -h127.0.0.1 -usystem -p123456  --single-transaction --set-gtid-purged=OFF -A  --dump-slave --triggers --events --routines 
 --hex-blob >/tmp/all.sql
```
### 1.2 备份单独数据库

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

## 2. 备份单表

```
mysqldump -h127.0.0.1 -usystem -p123456  --single-transaction  --set-gtid-purged=OFF  --databases test --hex-blob  --tables innodb_table  isam_table  > /tmp/table.sql
```

## 3. 按条件备份表数据

```
mysqldump -h127.0.0.1 -usystem -p123456  --single-transaction --set-gtid-purged=OFF  --databases test --hex-blob --tables innodb_table  isam_table --where='id=10'  > /tmp/table_id.sql
```

## 4. 强制刷新日志

```

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

## 5. 只导出表结构


```

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

### 6. 还原数据库

```
mysql -S /data/mysql/data/mysql.sock -usystem -p </tmp/dumpmaster.sql

mysql -S /data/mysql/data/mysql.sock -usystem -p db_name </tmp/dumpmaster.sql

```
### 7. 获取帮助信息

```
mysqldump --help
```

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

好了 关于mysqldump的相关内容就这么多了

下期专题再见