9

我的站点在 VDS 服务器上运行。我刚刚发现我的 MySQL 服务器不支持 InnoDB 引擎,因此我不能在我的应用程序中使用数据库事务。

这让我想到,有些人可能永远不会使用交易。是这样吗?如果是这样,如何在 MyISAM 中协调不同表上的相关操作?

否则,有没有办法在 VDS 上运行的 MySQL 服务器上安装 InnoDB?

谢谢!

4

2 回答 2

11

如果您需要交易,那么您需要交易,而 MyISAM 不会减少芥末。

一些应用程序不需要事务。例如; 一个应用程序,一次从不运行多个相关的 SQL 语句,并且不需要回滚多个 SQL 语句。另一个示例是使用 MySQL 作为简单键值存储的应用程序。有许多用例不需要数据库级事务支持。

如果不了解有关您的 VDS 的更多详细信息,很难回答您问题的第二部分。谁是您的托管服务提供商?您是否具有更改 my.cnf 的 shell 访问权限和权限?如果没有,那么您可能无法启用 InnoDB。如果你这样做了,那么这里是另一个 SO 答案,详细说明了如何在 MySQL 上启用 InnoDB:How to enable INNODB in mysql

于 2012-08-28T23:44:20.973 回答
4

您通常可以启用引擎,手动安装 InnoDB 组件,或者简单地重新安装默认包含该引擎的 MySQL 版本。MyISAM 是疯狂的数据库,速度非常快,但如果您的系统没有正确关闭,它也很不可靠并且容易被完全破坏。

在 MyISAM 上运行关键任务应用程序是一个非常糟糕的主意。如果出于性能原因需要 MyISAM 表,它们应该始终是一次性的,可以从另一个更可靠的数据源轻松地重新构建。

于 2012-08-28T23:50:31.627 回答