mysql灾难恢复

daemon1 发布于 2018/03/08 19:40
阅读 503
收藏 1

各位大神

1、mysql redo log 与 bin log在恢复数据方面有什么区别呢?

2、mysql官网上说

To recover from a MySQL server crash, the only requirement is to restart the MySQL server. InnoDB automatically checks the logs and performs a roll-forward of the database to the present

InnoDB可以自动恢复数据,如果mysql只使用InnoDB,那为什么还需要借助binlog来恢复数据呢?

以下是问题补充:

@daemon1:请教各位关于mysq灾难恢复: 1、因为某种原因导致mysql服务停掉,但是可以重新启动,我是不是可以理解  :这时mysql会自动利用redolog恢复数据,而无需人工介入? 2、因为某种原因导致mysql服务停掉,并且无法重新启动,要首先检查有没有备份和binlog ,如果有 ,是不是先备份再利用binlog恢复 备份点之后的数据?对于没有备份的,采取强制恢复机制? (2018/03/09 10:23)
加载中
0
d
daemon1

第一个问题:

如果宕掉后重新启动正常,那么就是按你说的,会利用redolog进行恢复数据,或提交或回滚,不需要人为操作,但是有丢数据的可能性,这与mysql的几个配置参数有关

innodb_flush_log_at_trx_commit

sync_binlog

安全与性能是成反比的,如果不想丢数据,那就得牺牲性能。

第二个问题:

这种情况,一般是先利用备份恢复数据,恢复到当天备份的点,然后再利用binlog恢复备份点后的数据,跟你说的一样。

备份是一个良好的习惯,如果没有备份,找回数据的可能性就降低,还会增加复杂度,所以数据库一定要有备份。

返回顶部
顶部