欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysqldump用法数据库导出

程序员文章站 2022-05-24 18:44:59
...

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 --master-data[=value] 该选项将二进制日志的位置和文件名写入到输出中。该选项要求有RELOAD权限,并且必须启用二进制日志。如果该选项值等于1,位置和文件名被写入CHANGE MASTER语句形式的转储输出,

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  --master-data[=value]

  该选项将二进制日志的位置和文件名写入到输出中。该选项要求有RELOAD权限,并且必须启用二进制日志。如果该选项值等于1,位置和文件名被写入CHANGE MASTER语句形式的转储输出,如果你使用该SQL转储主服务器以设置从服务器,从服务器从主服务器二进制日志的正确位置开始。如果选项值等于2,CHANGE MASTER语句被写成SQL注释。如果value被省略,这是默认动作。

  --master-data

  选项启用--lock-all-tables,除非还指定--single-transaction(在这种情况下,只在刚开始转储时短时间获得全局读锁定。又见--single-transaction.在任何一种情况下,日志相关动作发生在转储时。该选项自动关闭--lock-tables.

  --no-create-db,-n

  该选项禁用CREATE DATABASE /*!32312 IF NOT EXISTS*/ db_name语句,如果给出---database或--all--database选项,则包含到输出中。

  --no-create-info,-t

  不写重新创建每个转储表的CREATE TABLE语句。

  --no-data,-d

  不写表的任何行信息。如果你只想转储表的结构这很有用。

  --opt

  该选项是速记;等同于指定 --add-drop-tables--add-locking --create-option --disable-keys--extended-insert --lock-tables --quick --set-charset.它可以给出很快的转储操作并产生一个可以很快装入MySQL服务器的转储文件。该选项默认开启,但可以用--skip-opt禁用。要想只禁用确信用-opt启用的选项,使用--skip形式;例如,--skip-add-drop-tables或--skip-quick.

  --password[=password],-p[password]

  连接服务器时使用的密码。如果你使用短选项形式(-p),不能在选项和密码之间有一个空格。如果在命令行中,忽略了--password或-p选项后面的 密码值,将提示你输入一个。

  --port=port_num,-P port_num

  用于连接的TCP/IP端口号。

  --protocol={TCP | SOCKET | PIPE | MEMORY}

  使用的连接协议。

  --quick,-q

  该选项用于转储大的表。它强制mysqldump从服务器一次一行地检索表中的行而不是检索所有行并在输出前将它缓存到内存中。

  --quote-names,-Q

  用'`'字符引用数据库、表和列名。如果服务器SQL模式包括ANSI_QUOTES选项,用'"'字符引用名。默认启用该选项。可以用--skip-quote-names禁用,但该选项应跟在其它选项后面,例如可以启用--quote-names的--compatible.

  --result-file=file,-r file

  将输出转向给定的文件。该选项应用在Windows中,因为它禁止将新行'\n'字符转换为'\r\n'回车、返回/新行序列。

  --routines,-R

  在转储的数据库中转储存储程序(函数和程序)。使用---routines产生的输出包含CREATE PROCEDURE和CREATE FUNCTION语句以重新创建子程序。但是,这些语句不包括属性,例如子程序定义者或创建和修改时间戳。这说明当重载子程序时,对它们进行创建时定义者应设置为重载用户,时间戳等于重载时间。

  如果你需要创建的子程序使用原来的定义者和时间戳属性,不使用--routines.相反,使用一个具有mysql数据库相应权限的MySQL账户直接转储和重载mysql.proc表的内容。

  该选项在MySQL 5.1.2中添加进来。在此之前,存储程序不转储。

  --set-charset

  将SET NAMES default_character_set加到输出中。该选项默认启用。要想禁用SET NAMES语句,使用--skip-set-charset.

  --single-transaction

  该选项从服务器转储数据之前发出一个BEGIN SQL语句。它只适用于事务表,例如InnoDB和BDB,因为然后它将在发出BEGIN而没有阻塞任何应用程序时转储一致的数据库状态。

  当使用该选项时,应记住只有InnoDB表能以一致的状态被转储。例如,使用该选项时任何转储的MyISAM或HEAP表仍然可以更改状态。

  --single-transaction选项和--lock-tables选项是互斥的,因为LOCK TABLES会使任何挂起的事务隐含提交。

  要想转储大的表,应结合--quick使用该选项。

  --socket=path,-S path

  当连接localhost(为默认主机)时使用的套接字文件。

  --skip--comments

  参见---comments选项的描述。

  --tab=path,-T path

  产生tab分割的数据文件。对于每个转储的表,mysqldump创建一个包含创建表的CREATE TABLE语句的tbl_name.sql文件,和一个包含其数据的tbl_name.txt文件。选项值为写入文件的目录。

  默认情况,.txt数据文件的格式是在列值和每行后面的新行之间使用tab字符。可以使用--fields-xxx和--行--xxx选项明显指定格式。

  注释:该选项只适用于mysqldump与mysqld服务器在同一台机器上运行时。你必须具有FILE权限,并且服务器必须有在你指定的目录中有写文件的许可。

  --tables

  覆盖---database或-B选项。选项后面的所有参量被看作表名。

  --triggers

  为每个转储的表转储触发器。该选项默认启用;用--skip-triggers禁用它。

  --tz-utc

  在转储文件中加入SET TIME_ZONE='+00:00'以便TIMESTAMP列可以在具有不同时区的服务器之间转储和重载。(不使用该选项,TIMESTAMP列在具有本地时区的源服务器和目的服务器之间转储和重载)。--tz-utc也可以保护由于夏令时带来的更改。--tz-utc默认启用。要想禁用它,使用--skip-tz-utc.该选项在MySQL 5.1.2中加入。

  --user=user_name,-u user_name

[1] [2] [3]

mysqldump用法数据库导出