OUTFILE如何改进?
- 自动发select语句,不需要手动发送
- 自动开始事务
-
使用mysqldump进行备份
非常常用的MySQL逻辑备份工具
- MySQL Server自带
- 输出的备份内容为SQL语句,平衡了阅读和还原
-
原理
mysqldump使用以下语句对数据进行备份:
select SQL_NO_CACHE FROM t;
- SQL_NO_CACHE查询出的数据不会进入SQL缓存
mysqldump使用以下语句对数据进行备份:
mysqldump -uroot -p123456 --databases d1 --single-transaction > test.sql;
直接执行导出的sql文件即可进行还原
source test.sql;
mysqldump + binlog增量增量
binlog忠实记录了MySQL数据的变化
- mysqldump全量备份之后,可以用binlog做增量
-
步骤1
使用下面语句对数据进行全量备份:
mysqldump -uroot -p123456 --databases d1 --single-transaction --flush-logs --master-data=2 > test.sql
—flush-logs:备份后切换binlog文件
—master-data=2:记录切换后的binlog文件名步骤2
切换binlog文件
mysqladmin -uroot -p123456 flush-logs
步骤3
还原
首先恢复旧的全量备份
source test.sql;
然后将binlog增量还原至数据库
mysqlbinlog MySQL-bin.000002 … | mysql -u root –p123456
