mysqldump的6大使用场景的导出命令
背景描述
mysqldump是MySQL最常用的逻辑导入导出的工具,下面介绍几种常见使用场景。
mysqldump选项解析
| 选项名称 | 说明 | 
|---|---|
| add-drop-table | 每个数据表创建之前添加drop数据表语句。 | 
| events,E | 导出事件。 | 
| routines,R | 存储过程以及自定义函数。 | 
| flush-logs | 开始导出之前刷新日志。 | 
| no-create-db,n | 只导出数据,而不添加CREATE DATABASE语句。 | 
| add-drop-database | 创建数据库之前添加drop数据库语句。 | 
| no-create-info,t | 只导出数据,而不添加CREATE TABLE语句。 | 
| no-data,d | 不导出任何数据,只导出数据库表结构。 | 
| set-gtid-purged=OFF | 不导出gtid相关语句。 | 
| hex-blob | 使用十六进制格式导出二进制字符串字段。 | 
场景描述
适用场景举例如下。
- 导出db1、db2两个数据库的所有数据。
    mysqldump -uroot -p -P8635 -h192.168.0.199 --hex-blob --set-gtid-purged=OFF --single-transaction --order-by-primary --flush-logs -q --databases db1 db2 >db12.sql 
- 导出db1库的t1和t2表。
    mysqldump -uroot -p -P8635 -h192.168.0.199 --hex-blob --set-gtid-purged=OFF --single-transaction --order-by-primary --flush-logs -q --databases db1 --tables t1 t2 >t1_t2.sql 
- 条件导出,导出db1表t1中id=1的数据。
    mysqldump -uroot -p -P8635 -h192.168.0.199 --hex-blob --set-gtid-purged=OFF --single-transaction --order-by-primary --flush-logs -q --databases db1 --tables t1 --where='id=1'>t1_id.sql 
- 导出db1下所有表结构,而不导出数据。
    mysqldump -uroot -p -P8635 -h192.168.0.199 --no-data --set-gtid-purged=OFF --single-transaction --order-by-primary -n --flush-logs -q --databases db1 >db1_table.sql 
- 除db1下的表和数据外,其他对象全部导出。
    mysqldump -uroot -p -h192.168.0.199 -P8635 --set-gtid-purged=OFF -F -n -t -d -E -R db1> others.sql 
 
  