几乎每次服务器崩溃后,最后几条数据库记录都会被删除。我该如何修复或解决这个问题?我的发行版是 Ubuntu Server 9.10,数据库是 MySql 5.1.37
答案1
您可能需要更改正在使用的存储引擎的类型。通常,默认的 MyISAM 引擎非常适合索引,而 InnoDB 非常适合外键约束。当您的初始查询似乎仅针对单个表运行时,这些约束可以帮助您从多个表中删除数据。这听起来几乎就像您正在使用 InnoDB 引擎运行事务。选择您的数据库,然后运行以下命令来找出答案:
mysql> SHOW TABLE STATUS \G
如果您将记录记录到某个地方,那么您应该能够恢复记录。记录肯定会给您的系统带来负担,但如果它们存在,您可能会在这里找到它们(无论如何,您应该在构建时记录它们):
/var/log/mysql
您可以在这里更改设置:
/etc/mysql/my.cnf
更改后不要忘记重新启动。如果您没有日志,请在开始记录后尝试故意让系统崩溃。您可能会看到在故意崩溃期间发生类似的事务,这将为您提供更多线索。