----mysqldump常用参数

--single-transaction  在备份开始前,先执行 start transaction命令,一次来获得备份的一致性,当前该参数只对InnoDB存储引擎才生效,因为只有InnoDB才支持事务,当启用该参数进行备份时,确保没有其他任何的DDL语句执行,因为一致性并不能隔离DDL语句,

--lock-tables 在备份时,一次锁住每个架构下的所有表,一般用于MyISAM存储引擎,备份时只能对数据库进行读取操作,不过备份以让可以保持一致性。对于InnoDB存储引擎,不需要使用该参数,用--single-transaction即可,并且--lock-tables和--single-transaction是互斥的,不能同时使用,如果你的数据库既有MyISAM和InnoDB的存储引擎,就只能选择--lock-tables了,另外,前面说了,--lock-tables选项是一次对每个架构中的表上锁的,因此只能保证每个架构下表备份的一致性,而不能保证所有架构下表的一致性

--lock-all-tables(-x)在备份的过程中,对所有架构中的所有表上锁,这可以避免之前提及的--lock-tables参数不能同时锁住表的问题

--add-drop-database在create database 前先运行 drop database,这个参数需要和--add-databases或者-database选项一起使用,默认情况下,到处的文本文件中并不会有 create database 除非你指定可这个参数,

--master-data[=value] 通过该参数产生的备份转存文件主要用来建立一个slave replication .当value的值为1时,转存文件中记录change master to语句,当value为2是,change master to语句被写成sql注释,默认情况值为空

--master_data 会自动忽略--lock-tables选项,如果没有使用--single-transaction选项则会自动生成--lock-all-tables

--events (-E)备份事件调度器

--routines (-R) 备份存储过程和函数

--trigges  备份触发器

--hex-blob 将BINARY、VARBINARY、BLOG、BIT列类型备份为十六进制的格式,mysqldump到处的文件一般是文本文件,但是,如果到处的数据时有上述这些类型,文本文件模式下可能有些字符不可见,