当计算机意外关闭时,mysql数据会发生什么情况?
让我们说我在mysql数据库中执行数据库条目,并突然由于我的计算机关闭了一些问题?然后当计算机意外关闭时,mysql数据会发生什么情况?
1.将输入的数据会发生什么?
2.如果数据都将丢失那么有没有什么办法能避免这个问题?
我打赌这取决于您是否使用InnoDB的或MyISAM数据作为引擎做定期备份
MyISAM不支持事务,以便有可能你可能会离开无效状态数据的部分写。
如果您使用InnoDB并正确使用事务,那么事务中的任何事物都会完成,或者没有事务完成,所以您将无法获得部分数据(这一点很重要,例如,如果您正在从一个银行账户到另一个,你不希望有情况,你从第一个账户取款,然后断电前它的加入导致正在消失的钱)
这应该是公认的答案,而不是其他错误的答案。 – Sinjo 2011-03-11 20:29:56
1.什么会发生在被输入的数据?
如果它没有写入磁盘,它可能已经不存在了。
2.如果数据会丢失,那么有什么办法可以避免这个问题吗?
UPS(备用电池)
数据库软件的点是最可靠的,因为它可以。每个操作都写在日志中,一切都被检查,一切都完成了,以避免在极端情况下丢失数据。
有电脑重启时你的数据不会被存储在一个偶然的机会,但一切应罚款。关于最后一个条目,取决于关机发生的时间。
即使使用最复杂的防护措施,也总会有失去一些数据的机会。您无法实现100%的冗余和安全性。
然而,为了增加你的机会,有一些简单的事情可以做:
- 将您的服务器上的UPS(它就像一个电池,其功率可达停电后电脑一段时间)
- 使用服务器的别的东西,可能会导致死机
Erm ...你甚至没有提到两种引擎(InnoDB和MyISAM)的区别。 MyISAM不支持事务,所以你写的关于该引擎是错误的。另外,当您尝试维护数据的完整性时,UPS实际上不会涵盖您。当它不是功率损失时,会发生什么?(内核恐慌,或者谁知道还有什么)? – Sinjo 2011-03-11 20:26:37
我觉得这是更适合的第二帐户[ dba.SE](http://dba.stackexchange.com/)。 – 2011-03-11 19:44:35
@ jnpcl那是什么?我该如何改进? – 2011-03-11 19:45:20
@Radheshyam Nayak:看看你之前询问过的问题,然后点击答案的接受(绿色复选标记)按钮,以解决您的问题或提供最佳信息。 – drudge 2011-03-11 19:46:27