【mysql笔记】mysqldump 常用参数

mysqldump常用参数:


-f ,--force

使用这个选项,即使有错误发生,仍然继续导出

--quick,-q

该选项在导出大表时很有用,它强制 mysqldump 从服务器查询取得记录直接输出而不是取得所有记录后将它们缓存到内存中。

 

--routines,-R

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

 

--single-transaction

该选项在导出数据之前提交一个 BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于事务表,例如 InnoDB 和 BDB 。

本选项和 --lock-tables 选项是互斥的,因为 LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用 --quick 选项。

 

--triggers

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

 

--databases, -B

导出多个数据库,-B参数后面的内容都会被当作数据库名。如果不使用-B参数,第一个参数当作数据库名,后面的参数都当作表名。如果使用了该参数,CREATE DATABASE和USE DATABASE语句都会导入到导出文件里面。


--master-data[=value]

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


【例子】

导出mysql库的t1表中id>3的记录:

[root@jsun ~]# mysqldump -f -hlocalhost -uroot --default-character-set=utf8 --master-data=2 --single-transaction -q -R --triggers --where='id>3' mysql t1 | gzip > ./test.sql.gz


你可能感兴趣的:(【mysql笔记】mysqldump 常用参数)