mysqldump命令备份数据库的参数介绍
转储MySQL数据库和表的结构和内容。
用法: mysqldump [选项] 数据库 [表]
或 mysqldump [选项] --数据库 [选项] DB1 [DB2 DB3 ...]
或 mysqldump [选项] --所有-数据库 [选项]
Dumping structure and contents of MySQL databases and tables.
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
--print-defaults //打印程序参数列表并退出.
--no-defaults //不读取任何选项文件的默认选项,登录文件除外.
--defaults-file=# //只读取给定文件#的默认选项.
--defaults-extra-file=# //读取全局文件后读取此文件.
--defaults-group-suffix=# //还读取带有concat的组(组,后缀)
--login-path=# //从登录文件中读取此路径.
-A, --all-databases //转储所有数据库.这与选择了所有数据库的--databases相同.
-Y, --all-tablespaces //转储所有表空间.
-y, --no-tablespaces //不要转储任何表空间信息.
--add-drop-database //在每次创建之前添加DROP DATABASE.
--add-drop-table //在每次创建之前添加DROP TABLE.(默认为on;使用--skip-add-drop-table禁用.)
--add-drop-trigger //在每次创建之前添加DROP TRIGGER.
--add-locks //在INSERT语句周围添加锁定.(默认为on;使用--skip-add-locks禁用.)
--allow-keywords //允许创建作为关键字的列名.
--apply-slave-statements //在'CHANGE MASTER'和'START SLAVE'之前添加'STOP SLAVE'到转储底部.
--bind-address=name //要绑定的IP地址.
--character-sets-dir=name //字符集文件的目录.
-i, --comments //编写附加信息.(默认为on;使用--skip-comments禁用.)
--compatible=name //将转储更改为与给定模式兼容.默认情况下,表格以针对MySQL优化的格式转储.
合法模式是:ansi,mysql323,mysql40,postgresql,oracle,mssql,db2,maxdb,
no_key_options,no_table_options,no_field_options.可以使用逗号分隔的几种模式.
注意:需要MySQL服务器版本4.1.0或更高版本.早期服务器版本会忽略此选项.
--compact //提供较少的详细输出(对调试很有用).禁用结构注释和页眉/页脚构造.
启用选项--skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys --skip-set-charset.
-c, --complete-insert //使用完整的插入语句.
-C, --compress //在服务器/客户端协议中使用压缩.
-a, --create-options //包括所有特定于MySQL的创建选项.(默认为on;使用--skip-create-options禁用.)
-B, --databases //转储多个数据库.注意使用上的差异;在这种情况下,没有给出表格.
所有名称参数都被视为数据库名称. 'USE db_name;'将包含在输出中.
-#, --debug[=#] //这是一个非调试版本.抓住这个并退出.
--debug-check //这是一个非调试版本.抓住这个并退出.
--debug-info //这是一个非调试版本.抓住这个并退出.
--default-character-set=name //设置默认字符集.
--delete-master-logs //备份后删除master上的日志.这会自动启用--master-data.
-K, --disable-keys //'/*40000 ALTER TABLE tb_name DISABLE KEYS */; 和 '/*40000 ALTER TABLE tb_name ENABLE KEYS */;
将被放入输出中.(默认为on;使用--skip-disable-keys禁用.)
--dump-slave[=#] //这会导致主服务器的二进制日志位置和文件名被附加到转储数据输出.
将值设置为1将在转储数据输出中打印为CHANGE MASTER命令;如果等于2,
则该命令将以注释符号为前缀.除非指定了--single-transaction,否则此选项将打开--lock-all-tables
(在这种情况下,全局读锁仅在转储开始时花费很短的时间 - 不要忘记阅读 - 下面的单一交易).
在所有情况下,对日志的任何操作都将在dump.Option的确切时刻发生.Option自动关闭--lock-tables.
-E, --events //转储事件.
-e, --extended-insert //使用包含多个VALUES列表的多行INSERT语法.(默认为on;使用--skip-extended-insert禁用.)
--fields-terminated-by=name //输出文件中的字段由给定字符串终止.
--fields-enclosed-by=name //输出文件中的字段由给定字符括起.
--fields-optionally-enclosed-by=name //输出文件中的字段可选地由给定字符包围.
--fields-escaped-by=name //输出文件中的字段由给定字符转义.
-F, --flush-logs //在开始转储之前将日志文件刷新到服务器中.请注意,如果您一次转储多个数据库
(使用选项--databases =或--all-databases),则将为每个转储的数据库刷新日志.
例外情况是使用--lock-all-tables或--master-data:在这种情况下,日志将只刷新一次,
对应于所有表被锁定的时刻.因此,如果您希望转储和日志刷新在同一时刻发生,
则应使用--lock-all-tables或--master-data with --flush-logs.
--flush-privileges //转储mysql数据库后发出FLUSH PRIVILEGES语句.每当转储包含mysql数据库和
任何其他依赖于mysql数据库中的数据的数据库进行正确恢复时,都应该使用此选项.
-f, --force //即使遇到SQL错误也继续.
-?, --help //显示此帮助信息并退出.
--hex-blob //以十六进制格式转储二进制字符串(BINARY,VARBINARY,BLOB).
-h, --host=name //连接到主机.
--ignore-error=name //在转储期间遇到的要忽略的错误号的逗号分隔列表.
--ignore-table=name //不转储指定的表.要指定多个要忽略的表,请多次使用该指令,每个表使用一次.
必须使用数据库和表名指定每个表,例如, --ignore-table = database.table.
--include-master-host-port //在使用--dump-slave生成的转储中将'MASTER_HOST = <host>,MASTER_PORT = <port>'
添加到'CHANGE MASTER TO ..'.
--insert-ignore //使用INSERT IGNORE插入行.
--lines-terminated-by=name //输出文件中的行由给定的字符串终止.
-x, --lock-all-tables //锁定所有数据库中的所有表.这是通过在整个转储期间采用全局读锁来实现的.
自动关闭--single-transaction和--lock-tables.
-l, --lock-tables //锁定所有表以供读取.(默认为on;使用--skip-lock-tables禁用.)
--log-error=name //将警告和错误附加到给定文件.
--master-data[=#] //这会导致二进制日志位置和文件名被附加到输出.如果等于1,则将其作为CHANGE MASTER命令打印;
如果等于2,则该命令将以注释符号为前缀.除非指定了--single-transaction,否则此选项将打开--lock-all-tables
(在这种情况下,全局读锁仅在转储开始时花费很短的时间;不要忘记阅读 - 下面的单一交易).
在所有情况下,对日志的任何操作都将在转储的确切时刻发生.选项自动关闭 - 锁定表.
--max-allowed-packet=# //要发送到服务器或从服务器接收的最大数据包长度.
--net-buffer-length=# //TCP/IP和套接字通信的缓冲区大小.
--no-autocommit //使用autocommit / commit语句包装表.
-n, --no-create-db //如果给出了--all-databases或--databases,则抑制通常为每个转储数据库输出的CREATE DATABASE ... IF EXISTS语句.
-t, --no-create-info //不写表创建信息.
-d, --no-data //没有行信息.
-N, --no-set-names //与--skip-set-charset相同.
--opt //与--add-drop-table相同,--add-locks,--create-options,--quick,--extended-insert,
--lock-tables,--set-charset,and --禁用键.默认情况下启用,使用--skip-opt禁用.
--order-by-primary //按主键或第一个唯一键(如果存在这样的键)对每个表的行进行排序.
转储要加载到InnoDB表中的MyISAM表时会很有用,但会使转储本身花费更长的时间.
-p, --password[=name] //连接服务器时使用的密码.如果没有给出密码,请在tty上征求.
-P, --port=# //用于连接的端口号.
--protocol=name //用于连接的协议(tcp,套接字,管道,内存).
-q, --quick //不要缓冲查询,直接转储到stdout.(默认为on;使用--skip-quick禁用.)
-Q, --quote-names //用反引号(`)引用表名和列名.(默认为on;使用--skip-quote-names禁用.)
--replace //使用REPLACE INTO而不是INSERT INTO.
-r, --result-file=name //直接输出到给定文件.此选项应在使用回车换行符对(\r \n)来分隔文本行的系统
(例如,DOS,Windows)中使用.此选项可确保仅使用单个换行符.
-R, --routines //转储存储的例程(函数和过程).
--set-charset //将'SET NAMES default_character_set'添加到输出中.(默认为on;使用--skip-set-charset禁用.)
--set-gtid-purged[=name] //将'SET @@ GLOBAL.GTID_PURGED'添加到输出中.此选项的可能值为ON,OFF和AUTO.
如果使用ON并且服务器上未启用GTID,则会生成错误.
如果使用OFF,则此选项不执行任何操作.
如果使用AUTO并且在服务器上启用了GTID,则会将“SET @@ GLOBAL.GTID_PURGED”添加到输出中.
如果禁用GTID,则AUTO不执行任何操作.
如果未提供任何值,则将考虑默认(AUTO)值.
--single-transaction //通过转储单个事务中的所有表来创建一致的快照.仅适用于存储在支持多版本化的存储引擎中的表(目前只有InnoDB);
转储不保证与其他存储引擎一致.虽然正在进行--single-transaction转储,但为了确保有效的转储文件
(正确的表内容和二进制日志位置),其他任何连接都不应使用以下语句:ALTER TABLE,DROP TABLE,RENAME TABLE,
TRUNCATE TABLE, 因为一致的快照不会与它们隔离.选项自动关闭 - 锁定表.
--dump-date //将转储日期放在输出的末尾.(默认为on;使用--skip-dump-date禁用.)
--skip-opt //禁用--opt.禁用--add-drop-table,--add-locks,--create-options,--quick,--extended-insert,
--lock-tables,--set-charset和--disable-keys.
-S, --socket=name //用于连接的套接字文件.
--secure-auth //如果客户端使用旧的(4.1.1之前的)协议,则拒绝客户端连接到服务器.已过时.始终为真
--ssl-mode=name //SSL连接模式.
--ssl //已弃用.请改用--ssl-mode.(默认为on;使用--skip-ssl禁用.)
--ssl-verify-server-cert //已弃用.请改用--ssl-mode = VERIFY_IDENTITY.
--ssl-ca=name //PEM格式的CA文件.
--ssl-capath=name //CA目录.
--ssl-cert=name //PEM格式的X509证书.
--ssl-cipher=name //要使用的SSL密码.
--ssl-key=name //PEM格式的X509密钥.
--ssl-crl=name //证书撤销列表.
--ssl-crlpath=name //证书吊销列表路径.
--tls-version=name //要使用的TLS版本,允许的值为:TLSv1,TLSv1.1
-T, --tab=name //为每个表创建以tab为单位的文本文件到给定路径. (创建.sql和.txt文件.)注意:这仅适用于mysqldump
与mysqld服务器在同一台机器上运行的情况.
--tables //覆盖选项--databases(-B).
--triggers //转储每个转储表的触发器.(默认为on;使用--skip-triggers禁用.)
--tz-utc //在转储顶部设置SET TIME_ZONE ='+ 00:00'以允许在服务器具有不同时区的数据或在具有不同时区的服务器之间
移动数据时转储TIMESTAMP数据.(默认为on;使用--skip-tz-utc禁用.)
-u, --user=name //如果不是当前用户,则登录用户.
-v, --verbose //打印有关各个阶段的信息.
-V, --version //输出版本信息并退出.
-w, --where=name //仅转储选定的记录.报价是强制性的.
-X, --xml //将数据库转储为格式良好的XML.
--plugin-dir=name //客户端插件的目录.
--default-auth=name //要使用的默认身份验证客户端插件.
--enable-cleartext-plugin //启用/禁用明文身份验证插件.
本文最后记录时间 2024-03-31
文章链接地址:https://me.jinchuang.org/archives/340.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处
文章链接地址:https://me.jinchuang.org/archives/340.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处