mysqldump
-
MySQL数据库自带的一款(逻辑)备份工具;
-
能够对数据库、表、触发器、存储过程、事件等备份;
-
备份的文件是可执行的sql语句纯文本文件中。
mysqldump engines
-
对MyISAM存储引擎进行温备,必须加参数--lock-all-tables
-
对InnoDB存储引擎进行热备,必须加参数--single-transaction
mysqldump usage
1、备份单个数据库和单个数据库下的某些表
mysqldump [OPTIONS] database [tables]
2、备份多个数据库
mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
3、备份所有数据库
mysqldump [OPTIONS] --all-databases [OPTIONS]
mysqldump的可选参数很多,这里只说比较常用的参数:
--master-data[=#]
1
2
3
4
5
6
|
该选项将binlog的位置和文件名追加到输出文件中;
该选项有三个可选值:
0
、
1
、
2
0
:不记录二进制日志文件及路位置
1
:以CHANGE MASTER TO的方式记录位置,可用于恢复后直接启动从服务器
2
:以CHANGE MASTER TO的方式记录位置,但默认被注释
|
--flush-logs
1
|
在开始dump之前刷新二进制日志
|
--single-transaction
1
2
3
4
|
适合InnoDB存储引擎(不适用MyISAM),此选项与
-
-
lock
-
tables选择是互斥的,因为lock tables会使任何挂起的事务隐含提交;要想提交大表的话,应结合使用
-
-
quick选项
如果指定库中的表类型均为InnoDB,可使用
-
-
single
-
transaction自动热备
|
本文转自zys467754239 51CTO博客,原文链接:http://blog.51cto.com/467754239/1617909,如需转载请自行联系原作者