数据库 数据库服务器挂了!

miclle · 2014年05月26日 · 最后由 hmilym 回复于 2014年05月29日 · 4905 次阅读

项目用两台服务器跑,一台跑 Rails 应用,一台跑数据库 (MySQL)。 周六的时候数据库服务器挂了,raid 故障,起不来了 (机器大概用了四年了),还好数据库每天半夜会备份到应用服务器上,迅速做好数据迁移,应用恢复正常。

对于这种情况,大家有什么解决方案么?如果跑两个数据库服务,怎么实时同步数据呢? 唉,搞前端的表示这个鸭梨比较大!

mysql 做一下主从同步就可以了,Master - Slave

搭个便车看看解答,数据备份是怎么做的,整库备份么,然后还原的时候整库还原?要做同步的话,只能 master - slave 了

搭车。 增量备份 + 定期完整备份,线上 master+salve 实时备份。 历史数据库备份一般不删除。 在应用上可以把重要的数据做文件日志备份,自己定义 1 个数据结构,分发到应用备份服务器。 对上线的数据库进行 dump 会对性能有影响,而且 dump 的数据不是完全的。实在要 mysqldump,加个-q 参数。

实时同步+Xtrabackup 两台机器上最好都有一个 mysql 的 instance 只是其中一个是静默状态 每小时或 25 分钟做一次增量备份 保险一点

MySQL 做主从,一旦主机挂了,立即切换到从机上。 备份的话,在从机上做周期性备份,比如 10 分钟或者 1 小时。

主从 +1

我做了读写分离,主服务器写,三台从服务器读,某台从服务器凌晨备份,这还要出问题,估计是因为地球偏离轨道了。

你们是短信宝么 ?

#7 楼 @SharpX 哈哈,我也发现短信宝下午时挂了

#7 楼 @SharpX 监控宝,DNSPod 监控都有用

答案都差不多,主从,增量备份,而且 5.6 的同步机制还有更新,恢复起来应该更好

@debugger dump 库小的时候可能问题不大,库一旦大了就会有性能问题,还会有丢数据的情况。Xtrabackup 这种方式可能更好些。

#11 楼 @wikimo 对,可以看看 facebook 整的那个。

都是 master-slave,没有用 dual master 的吗?

有用 mysql-cluster 的么,据说一大堆问题,实际用过的分享一下。

mysql 做集群

需要 登录 后方可回复, 如果你还没有账号请 注册新账号