MySQL的mysqldump指令参数详解

MySQL的mysqldump指令可以进行逻辑备份,其使用格式为mysqlpump [options] > dump.sql。下述为其简单应用格式:
1.将数据库中某个数据库备份

$ mysqldump -uroot -pPassword [db_name] > [file_name]
例: mysqldump -uroot -p123456 test > test.sql

生成的test.sql包含数据结构和数据.
2.远程备份

$ mysqldump -uroot -pPassword -hhost -Pport [db_name] > [file_name]
例: mysqldump -uroot -p123456 -h192.168.14.171 -P13306 test > test.sql

mysqldump支持一下参数:

参数名 说明 使用格式(默认值)
–add-drop-database CREATE DATABLE前添加DROP DATABASE语句
–add-drop-table CREATE TABLE前添加DROP TABLE语句 默认开启
–add-drop-user CREATE USER前添加DROP USER语句
–add-drop-trigger CREATE TRIGGER前添加DROP TRIGGER语句
–add-locks 在每个表导出时添加LOCK TABLES并且之后进行UNLOCK TABLES 默认开启
–all-databases 导出所有数据库
–allow-keywords 允许创建以关键字为列名的列
–apply-slave-statements CHANGE MASTER前添加STOP SLAVE语句,在导出最后START SLAVE
–bind-address 使用指定的网络接口连接MySQL数据库
–character-sets-dir 指定安装字符集的目录
–comments 将注释导入到dump文件中 默认开启
–compact 产生更少的输出信息
–compatible 导出的数据将与其它类型数据库或旧版本的MySQL兼容,值可以为ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options等
–complete-insert 使用完整的包含列名的插入语句
–compress 在客户端与服务器间压缩传递所有的信息
–create-options 在CREATE TABLE语句中包含所有MySQL表特性选项 默认打开
–databases 输入后的所有参数都作为数据库名
–debug 输出debug日志
–debug-check 当程序退出时,打印debug信息
–debug-info 当程序退出时输出debug信息、内存和CPU信息
–default-auth 使用认证插件
–default-character-set 指定默认字符集 默认值为utf8
–defaults-extra-file 读取配置文件
–defaults-file 只读命名文件
–defaults-group-suffix Option group suffix value
–delete-master-logs 在master备份后删除日志
–disable-keys For each table, surround INSERT statements with statements to disable and enable keys
–dump-date Include dump date as “Dump completed on” comment if --comments is given
–dump-slave 该选项将导致主的binlog位置和文件名追加到导出数据的文件中
–enable-cleartext-plugin Enable cleartext authentication plugin 5.7.10启用
–events 从数据库导出event
–extended-insert 使用多行插入语句
–fields-enclosed-by 输出文件中的各个字段用给定字符包裹。与--tab选项一起使用
–fields-escaped-by 输出文件中的各个字段忽略给定字符。与–tab选项一起使用
–fields-optionally-enclosed-by 输出文件中的各个字段用给定字符选择性包裹。与–tab选项一起使用
–fields-terminated-by 导出文件中忽略的指定字段,与--tab 一起使用
–flush-logs 在开始导出前刷新日志
–flush-privileges 在导出数据库后,执行FLUSH PRIVILEGES
–force 在导出表的过程中忽略出现的SQL错误
–get-server-public-key 从服务获取RSA公共key 5.7.23
–help 展示帮助信息并退出
–hex-blob 使用十六进制格式导出二进制字符串字段
–host 要连接的远程主机IP
–ignore-error 忽略指定错误 5.7.1启用
–ignore-table 不导出指定表
–include-master-host-port --dump-slave产生的CHANGE MASTER TO..语句中增加MASTER_HOST=<host>,MASTER_PORT=<port>
–insert-ignore INSERT IGNORE替代INSERT
–lines-terminated-by 输出文件的每行用给定字符串划分。与–tab选项一起使用
–lock-all-tables 提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭
–lock-tables 在dump表之前锁表
–log-error-file 导出警告和错误信息到指定文件
–login-path Read login path options from .mylogin.cnf
–master-data 该选项将binlog的位置和文件名追加到输出文件中
–max-allowed-packet 设置从服务接收或发送到服务的最大包长度
–net-buffer-length 设置TCP/IP 和socket连接的缓存大小
–no-autocommit 使用autocommit/commit 语句包裹表。
–no-create-db 不导出建库语句
–no-create-info 不导出建表语句
–no-data 不导出表数据
–no-defaults Read no option files
–no-set-names 等同于--skip-set-charset
–no-tablespaces 不导入表空间信息
–opt 等同于–add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, --disable-keys 该选项默认开启, 可以用–skip-opt禁用.
–order-by-primary 导出每个表的数据行时按照表的主键或者第一个唯一字段排序
–password 连接数据库的密码
–pipe 在Windows,使用命名管道连接mysql
–plugin-dir 指定插件安装的目录
–port 数据库连接的端口
–print-defaults 输出默认参数
–protocol 连接所用的协议
–quick 不缓冲查询,直接导出到标准输出 默认打开
–quote-names 使用(`)引起表和列名 默认开启
–replace REPLACE取代INSERT语句
–result-file 直接输出到指定文件中
–routines 导出保存的routine(存储过程和函数)
–secure-auth 不以旧形式向服务发送密码 5.7.4启用,5.7.5弃用
–server-public-key-path Path name to file containing RSA public key 5.7.23
–set-charset 添加SET NAMES default_character_set到输出文件 默认开启
–set-gtid-purged Whether to add SET @@GLOBAL.GTID_PURGED to output
–shared-memory-base-name The name of shared memory to use for shared-memory connections
–single-transaction 选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。本选项和–lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用–quick 选项。
–skip-add-drop-table 不在CREATE TABLE前添加DROP TABLE语句
–skip-add-locks 导出时不加锁
–skip-comments 不导出注释
–skip-compact 不减少输出信息
–skip-disable-keys 不disable key
–skip-extended-insert 关闭extended-insert
–skip-opt 关闭--opt设定的
–skip-quick 进行数据缓冲Do not retrieve rows for a table from the server a row at a time
–skip-quote-names 取消1–quote-names`
–skip-set-charset 不设置字符集
–skip-triggers 不导出触发器
–skip-tz-utc 关闭时区设置
–socket 指定连接mysql的socket文件位置
–ssl Enable encrypted connection
–ssl-ca File that contains list of trusted SSL Certificate Authorities
–ssl-capath Directory that contains trusted SSL Certificate Authority certificate files
–ssl-cert File that contains X.509 certificate
–ssl-cipher List of permitted ciphers for connection encryption
–ssl-crl File that contains certificate revocation lists
–ssl-crlpath Directory that contains certificate revocation list files
–ssl-key File that contains X.509 key
–ssl-mode Security state of connection to server 5.7.11
–ssl-verify-server-cert Verify host name against server certificate Common Name identity
–tab为每个表在给定路径创建tab分割的文本文件
–tables 覆盖–databases (-B)参数,指定需要导出的表名。
–tls-version Protocols permitted for encrypted connections 5.7.10
–triggers 导出触发器
–tz-utc 添加SET TIME_ZONE='+00:00'到导出的文件中,保证导出数据的时区正确性
–user 指定连接MySQL的用户名
----verbose 输出多种平台信息。
–version 显示mysqldump的版本信息并退出 5.7.9
–where 只导出符合where条件的数据
–xml 导出XML格式.

猜你喜欢

转载自blog.csdn.net/Loiterer_Y/article/details/85091798