设为首页 加入收藏

TOP

mysqldump 逻辑备份的正确姿势(三)
2015-11-21 01:47:52 来源: 作者: 【 】 浏览:4
Tags:mysqldump 逻辑 备份 正确 姿势
------+ | id | name| sex | phone | addr| +----+----------+------+-------------+----------+ | 1 | yuanfang | 1 | 14465463786 | hangzhou | | 2 | Andy| 0 | 14465463786 | beijing | | 3 | peter | 0 | 14465463786 | Hongkong | +----+----------+------+-------------+----------+ 3 rows in set (0.00 sec)

?

?
可以看到,成功的还原到了删除 data-dir 目录之前的状态了。
?
5. mysqldump的 坑
?
如果对 mysqldump 的默认启用的选项不熟悉的话,可能会被默认启用的选项 --add-drop-table 给坑了。因为默认会生成 drop table if exist 语句。可能会导致数据的丢失。 ?--add-drop-database 默认没有启用。如果不想他生成 drop table 语句,可以加入 --skip-add-drop-table选项,或者 --add-ropt-table=0也可以。
?
6. 总结:
?
1)逻辑备份的最佳方法:
?
全备:
?
mysqldump -uxxx -p --single-transaction --master-data=2 --routines --flush-logs --databases db1 db2 db3 > alldb.sql;
?
mysqldump -uxxx -p --flush-privileges --databases mysql > mysql.sql;
?
如果将mysql也一起备份的话:
?
mysqldump -uxxx -p --single-transaction --master-data=2 --routines --flush-logs --flush-privileges --all-databases > alldb.sql;
?
有时,还需要加入:--default-character-set=utf8/utf8mb4 ,该选项一般也可以配置在/etc/my.cnf中。
?
增量备份:flush logs; 然后将binary log存储起来即可。
?
2)搭建slave时的最佳选项:
?
mysqldump -uxxx -p --single-transaction --master-data=2 --routines --databases db1 db2 db3 > alldb.sql;
?
搭建slave,没有必要 --flush-logs。当然搭建slave的最佳方式是使用 xtrabackup,物理备份。
?
3)使用mysqldump备份的sql脚本还原的方法:
?
先还原数据库,然后应用增量日志和最新日志,binary log在应用之前需要使用mysqlbinlog命令来处理。
首页 上一页 1 2 3 4 下一页 尾页 3/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇【php】升级phpnow1.5.6的Mysql 下一篇MySql使用中的注意点(一)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: