mysql en dump_mysqldump 命令总结

一、备份的方式有两种: 一行一行的备份,或者获取整个表的内容放到内存里,然后开始备份;第二种对内存容量有要求, 所以--quick 是一行一行的备份,一行一行直接输出。

语法:

mysqldump [options] db_name [tables]

mysqldump [options] --database DB1 [DB2 DB3...]

mysqldump [options] --all--database--skip-opt Disables --add-drop-table, --add-locks, --create-options, --quick, --extended-insert,

--lock-all-tables,-x :所有数据库中的所有表加锁。在整体转储过程中通过全局读锁定来实现。该选项自动关闭--single-transaction和--lock-tables。

开始转储前锁定所有表。用READ LOCAL锁定表以允许并行插入MyISAM表。对于事务表例如InnoDB和

BDB,--single-transaction是一个更好的选项,因为它不根本需要锁定表。

请注意当转储多个数据库时,--lock-tables分别为每个数据库锁定表。因此,该选项不能保证

转储文件中的表在数据库之间的逻辑一致性。不同数据库表的转储状态可以完全不同。--databases 或-B 或 --all--database:加此选项dunp文件里有  CREATE DATABASE /*!32312 IF NOT EXISTS*/ `performance_schema` /*!40100 DEFAULT CHARACTER SET utf8 */;

--no-create-info,-t

不写重新创建每个转储表的CREATE TABLE语句,转存表的定义。--no-data,-d

不写表的任何行信息。如果你只想转储表的结构这很有用。-q, --quickDon't buffer query, dump directly to stdout.

---comments[={0|1}]

如果设置为 0,禁止转储文件中的其它信息,例如程序版本、服务器版本和主机。--skip—

comments与---comments=0的结果相同。 默认值为1,即包括额外信息。--compact :产生少量输出。该选项禁用注释并启用--skip-add-drop-tables、--no-set-names、--skip-disable-keys和--skip-add-locking选项。

--compatible=name、

产生与其它数据库系统或旧的MySQL服务器更兼容的输出。值可以为ansi、mysql323、mysql40、

postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options或者

no_field_options。要使用几个值,用逗号将它们隔开。这些值与设置服务器SQL模式的相应选项

有相同的含义。

该选项不能保证同其它服务器之间的兼容性。它只启用那些目前能够使转储输出更兼容的SQL模式

值。例如,--compatible=oracle 不映射Oracle类型或使用Oracle注释语法的数据类型。--complete-insert,-c : 使用包括列名的完整的INSERT语句。

--single-transaction:该选项从服务器转储数据之前发出一个BEGIN SQL语句。它只适用于事务表,例如InnoDB和BDB,因为然后它将在发出BEGIN而没有阻塞任何应用程序时转储一致的数据库状态。当使用该选项时,应记住只有InnoDB表能以一致的状态被转储。例如,使用该选项时任何转储的MyISAM或HEAP表仍然可以更改状态。

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

隐含提交。--tab=path,-T path

产生tab分割的数据文件。对于每个转储的表,mysqldump创建一个包含创建表的CREATE TABLE语句

的tbl_name.sql文件,和一个包含其数据的tbl_name.txt文件。选项值为写入文件的目录。

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

xxx和--行--xxx选项明显指定格式,此时和load data相似。

注释:该选项只适用于mysqldump与mysqld服务器在同一台机器上运行时。你必须具有FILE权

限,并且服务器必须有在你指定的目录中有写文件的许可。--fields-terminated-by=...,--fields-enclosed-by=...,--fields-optionally-enclosed-by=...,--fields-escaped-by=...,--行-terminated-by=...

例子:mysqldump  --skip-opt  --fields-terminated-by=','-T /tmp hhl --tables

stu  member

cat stu.txt

1,a

2,b

--flush-logs,-F

开始转储前刷新MySQL服务器日志文件。该选项要求RELOAD权限。请注意如果结合--all--

database(或-A)选项使用该选项,转储一个库后刷新一次binlog日志。例外情况是当使用--

lock-all-tables或--master-data的时候:在这种情况下,日志只刷新一次,在所有表被锁定

后刷新。如果你想要同时转储和刷新日志,应使用--flush-logs连同--lock-all-tables或--

master-data。--lock-all-tables,-x

所有数据库中的所有表加锁。在整体转储过程中通过全局读锁定来实现。该选项自动关闭--single-

transaction和--lock-tables。--lock-tables,-l

开始转储前锁定所有表。用READ LOCAL锁定表以允许并行插入MyISAM表。对于事务表例如InnoDB和

BDB,--single-transaction是一个更好的选项,因为它不根本需要锁定表。

请注意当转储多个数据库时,--lock-tables分别为每个数据库锁定表。因此,该选项不能保证转

储文件中的表在数据库之间的逻辑一致性。不同数据库表的转储状态可以完全不同。--master-data[=value]

该选项将二进制日志的位置和文件名写入到输出中。该选项要求有RELOAD权限,并且必须启用二进

制日志。如果该选项值等于1,位置和文件名被写入CHANGE MASTER语句形式的转储输出,如果你使用

该SQL转储主服务器以设置从服务器,从服务器从主服务器二进制日志的正确位置开始。如果选项值

等于2,CHANGE MASTER语句被写成SQL注释。如果value被省略,这是默认动作。--master-data选项

启用--lock-all-tables,除非还指定--single-transaction(在这种情况下,只在刚开始转储时短时

间获得全局读锁定。又见--single-transaction。在任何一种情况下,日志相关动作发生在转储时。

该选项自动关闭--lock-tables。--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会使任何挂起的事务隐含提交。--routines,-R

在转储的数据库中转储存储程序(函数和程序)。使用---routines产生的输出包含CREATE PROCEDURE

和CREATE FUNCTION语句以重新创建子程序。但是,这些语句不包括属性,例如子程序定义者或创建

和修改时间戳。这说明当重载子程序时,对它们进行创建时定义者应设置为重载用户,时间戳等于

重载时间。如果你需要创建的子程序使用原来的定义者和时间戳属性,不使用--routines。相反,

使用一个具有mysql数据库相应权限的MySQL账户直接转储和重载mysql.proc表的内容。

该选项在MySQL 5.1.2中添加进来。在此之前,存储程序不转储。--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中加入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值