mysqldump关于master-data参数

来源:互联网 发布:特斯拉自动驾驶知乎 编辑:程序博客网 时间:2024/05/15 23:53

之前一直用--default-character-set=utf8 --disable-keys --opt --extended-insert=false --triggers -R --hex-blob -x --flush-logs --delete-master-logs去做备份


但是今天突然发现备份文件中的CHANGE MASTER……信息,查了相关资料,master备份后删除日志这个参数将自动激活master-data,而master-data的作用是在备份中加入change master信息,并且自动lock-all-tables


相关介绍:

--default-character-set

设置默认字符集,默认值为utf8

--disable-keys

对于每个表,用/*!40000 ALTER TABLE tbl_name DISABLE KEYS */;/*!40000 ALTER TABLE tbl_name ENABLE KEYS */;语句引用INSERT语句。这样可以更快地导入dump出来的文件,因为它是在插入所有行后创建索引的。该选项只适合MyISAM表,默认为打开状态

--opt
此Mysqldump命令参数是可选的,如果带上这个选项代表激活了Mysqldump命令的quick,add-drop-table,add-locks,extended-insert,lock-tables参数,也就是通过–opt参数在使用Mysqldump导出Mysql数据库信息时不需要再附加上述这些参数
  --quick:代表忽略缓冲输出,Mysqldump命令直接将数据导出到指定的SQL文件。
  --add-drop-table:顾名思义,就是在每个CREATE TABEL命令之前增加DROP-TABLE IF EXISTS语句,防止数据表重名。
  --add-locks:表示在INSERT数据之前和之后锁定和解锁具体的数据表,你可以打开Mysqldump导出的SQL文件,在INSERT之前会出现LOCK TABLES和UNLOCK TABLES语句。
  --extended-insert (-e):此参数表示可以多行插入。

--triggers

导出触发器。该选项默认启用,用--skip-triggers禁用它。

--routines, -R

导出存储过程以及自定义函数。

--hex-blob

使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用该选项。影响到的字段类型有BINARYVARBINARYBLOB

--flush-logs

开始导出之前刷新日志。

请注意:假如一次导出多个数据库(使用选项--databases或者--all-databases),将会逐个数据库刷新日志。除使用--lock-all-tables或者--master-data外。在这种情况下,日志将会被刷新一次,相应的所以表同时被锁定。因此,如果打算同时导出和刷新日志应该使用--lock-all-tables 或者--master-data --flush-logs

--delete-master-logs

master备份后删除日志这个参数将自动激活--master-data

--master-data

该选项将binlog的位置和文件名追加到输出文件中。如果为1,将会输出CHANGE MASTER 命令;如果为2,输出的CHANGE  MASTER命令前添加注释信息。该选项将打开--lock-all-tables 选项,除非--single-transaction也被指定(在这种情况下,全局读锁在开始导出时获得很短的时间;其他内容参考下面的--single-transaction选项)。该选项自动关闭--lock-tables选项。










0 0
原创粉丝点击