mysqldump 的了解

来源:互联网 发布:pgone吸毒 知乎 编辑:程序博客网 时间:2024/06/03 17:28

mysqldump SQL级别的MySQL备份机制,将数据表导成SQL脚本文件;
其一些常见但容易忘记的参数记录如下:
--default-character-set=utf8
--opt #快捷的导出,如果不加该选项,将整个结果节放在内存中,若导出大数据库会出现问题
--quick #在导出大表时很有用,它强制mysqldump从服务器查询取得记录直接输出,而不是取得所有记录后将它们缓存到内存中
--hex_blob
--extended-insert=false
--single-transaction #在导出数据之前提交一个BEGIN 语句,BEGIN不会阻塞应用程序且能保证导出时数据库的一致性,只适用事务表,如InnoDB/BDB
#开启该选项,自动关闭--lock-tables,因lock tables会使任何挂起的事务隐含提交.
--lock-all-tables #在导出之前,提交请求锁定所有数据库的所有表,以保证数据的一致性,这是个全局锁,且自动关闭--single-transaction/--lock-tables
--lock-tables #仅锁定需要导出的数据表,而非所有库下数据表,只适用MyiSAM,如果是InnoDB,使用--single-transaction
--master-data 1/2
--flush-log #1.多个库情况下,每完成一个库,flush log一次;2.加--lock-all-tables/--master-data选项,flush log只一次,因那一刻所有表
#是locked,--lock-all-tables/--master-data选项和flush log一起使用
--delete-master-log
--no-create-info #只导出数据,不加create table语句
--no-data #只导出表结构,不导出任何表数据


更详细请参阅:mysqldump --help

例:
mysqldump -hxx -P3306 -uroot -p'xxxx' --default-character-set=utf8 --opt/--quick --single-transaction(InnoDB)/--lock-tables(MyiSAM)

-R -x -E dbname > dbname.sql




0 0
原创粉丝点击