MySQL MyISAM数据丢失的可能性?

Xeo*_*oss 5 mysql myisam data-loss

许多站点和脚本仍然使用MySQL而不是PostgreSQL.我有几个低优先级的博客,所以我不想迁移到另一个数据库,所以我使用MySQL.

这是问题,他们在低内存VPS上.这意味着我无法启用InnoDB,因为它只使用大约80MB的内存来加载.所以我不得不冒险运行MyISAM.

考虑到这一点,我在MyISAM上看到了什么样的数据丢失?如果因某人保存博客文章而导致电力中断,我会丢失该帖子,还是整个数据库?

在这些低端盒子上,只要整个数据库没有丢失,我就可以丢失一些最近的评论或博客文章.

ero*_*dna 5

MyISAM不符合ACID,因此缺乏耐用性.这实际上取决于利用InnoDB或停机时间的成本......内存.MyISAM当然是一个可行的选择,但您的应用程序需要从数据库层获得什么?使用MyISAM会因为它的限制而使生活变得更加困难,但在某些情况下,MyISAM会很好.仅使用逻辑mysqldump备份会因其锁定性质而中断您的服务.如果您正在使用二进制日志记录,您可以将它们备份以提供可以重播的增量备份,以便在MyISAM表中的某些内容损坏时帮助恢复.


Jon*_*ack 2

您可能会对以下 MySQL 性能文章感兴趣:

\n\n
\n

对我来说,这不仅仅是关于表锁。表锁只是 MyISAM 的限制之一,您需要考虑在生产中使用它。特别是如果您\xe2\x80\x99来自\xe2\x80\x9ctraditional\xe2\x80\x9d数据库,您\xe2\x80\x99可能会对MyISAM行为(以及由此导致的默认MySQL行为)感到震惊\xe2\ x80\x93 它将因不正确的关闭而损坏,如果发现某些错误等,它将因部分语句执行而失败......

\n
\n\n

http://www.mysqlperformanceblog.com/2006/06/17/using-myisam-in-product/

\n