数据库的备份

我数据库是搭建在自己的云服务器中的,然后用了阿里云的快照,每天凌晨自动存一个系统的快照。
问题:
1.如果数据库误操作了,清除了大量数据, 如何还原。使用快照还原的话。 生成快照的时间到误操作的时间的数据是没有的。

鉴于以上的情况,数据库该怎么备份。

阅读 2.7k
2 个回答

数据备份一般是全量+增量结合的备份方式.
以 MySQL 为例
用 mysqldump 每天夜里进行全量备份, 最好复制到异地,
然后启用 binlog, 出问题时, 可以先通过全量备份恢复数据,再 redo binlog日志.

binlog 基本认识

MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。

一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景: 
其一:MySQL Replication在Master端开启binlog,Mster把它的二进制日志传递给slaves来达到master-slave数据一致的目的。 
其二:自然就是**数据恢复**了,通过使用mysqlbinlog工具来使恢复数据。

参考: https://www.cnblogs.com/marti...

不知道你所说的大量数据级别是多少?是十万级别、百万级别、千万级别...
没有多少数据的话,其实只需要简单使用 crontab + mysqldump 写个脚本定期备份,再结合快照,简单方便
推荐使用图形化界面,不容易出现误操作

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题