码迷,mamicode.com
首页 > 数据库 > 详细

MYSQLDUMP的小结

时间:2015-06-08 19:46:42      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:mysql学习

mysqldump用于数据库备份

1)处于性能来说mysqldump比较适合innodb的备份,而MYISAM比较适合mysqlhotcopy


mysqldump备份数据有两种备份方式:把全表先放进缓存区再备份;一行一行备份(不经内存缓存区)

2)mysqldump --opt(-mysqldump自己默认--opt,它自动使能--quick)一行一行备份不占缓存区,取消这种模式用--skip-quick。

3)常用写法:

                          shell> mysqldump [options] db_name [tbl_name ...]
                           shell> mysqldump [options] --databases db_name ...
                           shell> mysqldump [options] --all-databases
4)常用选项:

 --opt(默认): 相当于添加了如下信息: --add-drop-table,--add-locks, --create-options, --disable-keys, -                        --extended-insert,--lock-tables, --quick,  --set-charset. 

--opt --skip-extended-insert --skip-quick:表示不备份extended-insert 和采用缓冲区其他opt自带的信息                                                                            都有。

--skip-opt --disable-keys --lock-tables:opt里的内容都没有,只有--disable-keys --lock-tables。


 --compact : 相当于添加了如下信息:--skip-add-drop-table,--skip-add-locks, --skip-comments, --skip-                        disable-keys,  --skip-set-charset options.

--dump-date(默认):在每一次备份后加评论(评论为备份日期),取消该默认请用:--skip-dump-                                                date


--flush-logs, -F:备份前保存好日志


--ignore-table=db_name.tbl_name:忽略表(或视图),不备份多个表,请重复使用该语句多次


--order-by-primary:以主键或者unique index的顺序来备份每一行


--master-data[=value](value默认是1):以这种方式可以用产生的那个改变主机的文件来设定主机的从                                                                            机,如果value是2,那个change master to只是信息没有实际                                                                             操作的作用,如果value是1,那么reload备份数据时change                                                                            master to 文件会起作用。(这里我还不是很懂哈,稍后补充哈)


--result-file=file_name, -r file_name:设定备份的目的文件,备份数据以覆盖的方式写入文件。


  --single-transaction:备份却不改变INNODB表的任何状态,其他类型的表状态或许改变。


 --where=‘where_condition‘, -w ‘where_condition‘:条件备份(常用于指定表的指定行备份)

                                                    例如: --where="user=‘jimf‘"
                                                                 -w"userid>1"
                                                                 -w"userid<1"


5)用法示例:

                            shell> mysqldump --all-databases --master-data=2 > all_databases.sql

       Or:

                           shell> mysqldump --all-databases --flush-logs --master-data=2
                                    > all_databases.sql





MYSQLDUMP的小结

标签:mysql学习

原文地址:http://10170308.blog.51cto.com/10160308/1659780

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!