文档首页/ 云数据库 RDS/ 常见问题/ 数据库迁移/ mysqldump的6大使用场景的导出命令
更新时间:2024-04-11 GMT+08:00

mysqldump的6大使用场景的导出命令

背景描述

mysqldump是MySQL最常用的逻辑导入导出的工具,下面介绍几种常见使用场景。

mysqldump选项解析

表1 配置项说明

选项名称

说明

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

使用十六进制格式导出二进制字符串字段。

场景描述

适用场景举例如下。

  1. 导出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

  2. 导出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

  3. 条件导出,导出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

  4. 导出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

  5. 除db1下的表和数据外,其他对象全部导出。

    mysqldump -uroot -p -h192.168.0.199 -P8635 --set-gtid-purged=OFF -F -n -t -d -E -R db1> others.sql