+++++++++++++++++++++++++++++++++++++++++++
标题:mysqldump对MySQL数据库备份恢复原理
时间:2019年2月23日
内容:mysqldump工具
重点:mysqldump的适用范围、参数详解以及备份应用举例
+++++++++++++++++++++++++++++++++++++++++++
1. mysqldump适用范围
适用于数据量比较小的,业务不繁忙的数据库备份。
2. mysqldump参数详解
-A ;--all-databases //备份所有数据
-B ;--databases //备份指定的数据库
--lock-tables //对当前备份的表加读锁
-d ;--no-data //导出表结构
--master-data=1/2 //等于2时,会打印binlog的位置,为常用参数
--single-transaction //开启RR模式,保证数据一致性
--lock-all-tables //全局加读锁
-q ;--quick //查询不介入缓存,直接输出内容
--hex-blob //表结构中存在二进制的字段
--max-allowed-packet //mysqldump最大的能接受的数据包
3. mysqldump使用举例
mysqldump -uroot --master-data=2 --single-transaction -A >all.sql //全库
mysqldump --no-data --single-transaction -A >all.sql //表结构
mysqldump -S /tmp/mysql3306.sock --master-data=2 --single-transaction -B mysql test >all.sql //指定库
mysqldump -uroot -p -S /tmp/mysql3306.sock --single-transaction test emp_range> t1.sql //指定表
mysqldump -uroot --lock-tables --master-data=2 --single-transaction -B test >test.sql
注意:mysqldump工具导出的为文本类型文件,数据量较大时占用时间会较高。
可以通过一下两个参数进行优化
trx_commit=0 //redo每秒刷一次磁盘
sql_log_bin=0 //关闭当前session的binlog