美文网首页
MySQL数据导出工具mysqldump介绍

MySQL数据导出工具mysqldump介绍

作者: 诗圆 | 来源:发表于2016-12-29 15:41 被阅读0次

    mysqldump常用于MySQL数据库逻辑备份,导出数据库表的结构和内容。

    常用参数

    -A, --all-databases
    导出所有数据库
    --add-drop-database
    在创建数据库之前先DROP数据库
    --add-drop-table
    在创建表之前先drop表,默认true
    --add-locks
    在insert语句前加锁,默认true
    --compact
    导出更少的输出信息(用于调试)。去掉注释和头尾等结构
    -c, --complete-insert
    使用完整的insert语句(包含列名称)。
    -B, --databases
    导出几个数据库。参数后面所有名字参量都被看作数据库名。导出文件中会有'USE db_name;'
    --default-character-set=name
    设置默认字符集
    -e, --extended-insert
    使用具有多个VALUES列的INSERT语法。这样使导出文件更小,并加速导入时的速度,默认true
    **--ignore-table=name **
    忽略指定的表不导出
    --insert-ignore
    在插入行时使用insert ignore
    -l, --lock-tables
    开始导出前,锁定所有表
    --dump-slave
    将主库的binlog位置和文件名追加到导出数据的文件中,该参数在在从服务器上执行,相当于执行show slave status.当设置为1时,将会以CHANGE MASTER命令输出到数据文件;设置为2时,会在change前加上注释。
    --master-data[=#]
    该选项将当前服务器的binlog的位置和文件名追加到输出文件中(show master status)。如果为1,将会输出CHANGE MASTER 命令;如果为2,输出的CHANGE MASTER命令前添加注释信息。
    -n, --no-create-db
    只导出数据,不添加create database语句,默认false
    -t, --no-create-info
    只导出数据,不添加create table语句,默认false
    -d, --no-data
    不导出任何数据,只导出数据库表结构
    -q, --quick
    不缓冲查询,直接导出到标准输出。默认true
    **--replace **
    插入数据时用replace
    --set-gtid-purged[=name]
    是否添加SET@@GLOBAL.GTID_PURGED,默认auto
    --single-transaction
    使用一致性的快照来导出数据,不锁表,默认false
    --tables
    覆盖--databases (-B)参数,指定需要导出的表名
    -w, --where=name
    按照条件导出,只能导出单个表
    -u -h -P -p
    用户名,主机名,端口,密码

    常用方法

    1、导出所有库
    mysqldump -uroot -p123 --single-transaction --all-databases >all.sql
    该命令会导出包括系统数据库在内的所有数据库
    2、导出单个库
    mysqldump -uroot -p123 --single-transaction test > test.sql
    3、导出多个数据库
    mysqldump -uroot -p123 --single-transaction --databases db1 db2> db.sql
    导出文件中会有'USE db1;USE db2'
    4、导出单表
    mysqldump -uroot -p123 --single-transaction test table_1 > table_1.sql
    5、导出多表
    mysqldump -uroot -p123 --single-transaction test --tables table_1 table_2> table.sql
    6、只导表结构
    mysqldump -uroot -p123 --single-transaction test -d > test_structure.sql
    7、只导出数据
    mysqldump -uroot -p123 --no-create-info --single-transaction --skip-add-locks --compact -c --set-gtid-purged=OFF test t2 >t2.sql
    8、按照where条件导出
    mysqldump -uroot -p123 --single-transaction test table_1 -w "id<1000000" > table_1.sql

    相关文章

      网友评论

          本文标题:MySQL数据导出工具mysqldump介绍

          本文链接:https://www.haomeiwen.com/subject/cqfpvttx.html