断电会导致 MYSQL 数据丢失,如何解决

2015-06-28 20:12:53 +08:00
 garth
一个PHP+MYSQL的普通网站,CentOS系统,每次机器突然断电的话,最近几天的数据都会丢失,有解决办法吗?
8649 次点击
所在节点    MySQL
25 条回复
Septembers
2015-06-28 20:13:41 +08:00
UPS?
czheo
2015-06-28 20:13:52 +08:00
mysqldump+crontab
scys
2015-06-28 20:16:12 +08:00
UPS上,服务器千万不要断电,否则你根本不知道会发生任何你想不到的问题
fortunezhang
2015-06-28 20:40:13 +08:00
这。。这必须ups啊。还有更好的办法吗?
zado
2015-06-28 20:40:54 +08:00
解决的办法就是不要让他断电,否则无解。:-)
omi4399
2015-06-28 20:53:34 +08:00
UPS + 双电源
wy315700
2015-06-28 21:15:50 +08:00
试试看innodb
jackysc
2015-06-28 21:23:57 +08:00
断电会造成几天的数据丢失? 。。。不应该吧。。
xiaohanqing
2015-06-28 21:40:22 +08:00
几天太多了吧,调整一下写入缓存
xzl
2015-06-28 22:04:21 +08:00
repl
kjj98709
2015-06-28 22:07:29 +08:00
丢好几天的数据有点不正常了呀
realpg
2015-06-28 22:11:09 +08:00
每次断电,最近几天都会丢失,这不是服务器有没有UPS的问题,一定是设置问题。

我以前公司内部系统,没事儿就被热心的财务大妈下班前把全公司电闸都拉了,说了几十次下班锁门不要拉总闸也不管用,也没有每次都丢几天数据,几十次也丢不了一次数据还都可以修复

你这问题,可能的原因,MYSQL的引擎在哪里配成异步写磁盘了么,或者你服务器的存储系统比如RAID卡是无电池的但是配置了回写?每次断电都丢绝逼不正常
caola
2015-06-29 00:13:00 +08:00
好几天的数据?是不是 mysql 配置的问题
likuku
2015-06-29 01:13:37 +08:00
首先服务器除了地震,火灾,战争/恐怖袭击,就不该被非人为断电。

每日自动备份呢?自动备份到别的机器呢?自动备份到别的机房/云端呢?

备份很可能是最后的救命稻草,这都没有的话,可以洗洗睡了。
em70
2015-06-29 01:24:15 +08:00
难道用的是内存表
garth
2015-06-29 01:38:17 +08:00
@jackysc
@xiaohanqing
@kjj98709
@realpg
@caola
@em70

我没有表述清楚,几天的数据,其实只有几十来条记录。
准备上UPS了。
realpg
2015-06-29 01:54:14 +08:00
@garth 你这跟UPS没关系了,真心的。绝对你这环境有问题。掉电就丢数据,而且你这种几天才几十条记录的,基本不会发生掉电过程中写入的情况,那得多巧,还是找出原因再说。

我可以拿测试环境随便测,一个单硬盘无RAID的环境的ubuntu server,mysql 5.6,一个线程在不断地往里写数据,随时拔电源,基本都不会丢数据。MYISAM表可能会损坏,启动直接就自动查错然后recovery了,innodb的基本很少损。

测试几十次都不会真丢一次数据。
lvfujun
2015-06-29 08:11:16 +08:00
你确定你的数据是实时写入Mysql的吗?而不是在缓冲系统放在内存中?
jasontse
2015-06-29 08:36:10 +08:00
你是不是把内存缓存开得很大,然后写入磁盘的间隔周期很长。
est
2015-06-29 09:40:20 +08:00
可以试试 oneproxy, onesql

按理说mysql innodb 双缓存写入,断电不会造成丢数据。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/201774

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX