数据库数量或表数量?

数据库数量或表数量?

我正在使用 ImpressPages CMS v 2.6 运行三个不同的网站。ImpressPages 建立在 PHP 5.3 和 MySQL 5 上。每个网站大约有 33 个 MySQL 表,数据库使用 MyISAM 引擎。

我有两个配置选项。第一:我可以为每个站点创建 3 个不同的数据库。第二:我可以为每个站点使用具有不同 table_prefix_ 的单个数据库。

我对以上两个选项感到困惑。哪个选项可以节省我的共享主机方案的资源,并且不会影响网站性能。

我正走过来数据库数量限制问题,它指出数据库数量没有限制,但我的问题是拥有多个数据库或在一个数据库中拥有多个表,哪一个是更好的选择而不影响性能?

答案1

尽管在大多数情况下性能相同,但多个数据库比多个表更好。这是因为您可以更轻松地复制和转储单独的数据库,并且影响其他数据库的可能性更小。

答案2

这两种方法对性能的益处都很小(如果有的话)。

然而,在安全性方面,您可以为每个网站设置自己的 MySQL 用户,并仅授予相应数据库的权限。这样,如果(最坏的情况)某个网站遭到入侵,攻击者可以访问您的 MySQL 密码,攻击就会得到一定程度的控制。

有一种说法是,如果他们有文件系统访问权限,他们就可以导航到其他网站并获取他们的密码,但至少你遵守了合理的安全原则。

我建议唯一偏离此情况的情况是,如果您的共享主机的数据库数量被限制(大多数只允许您在其入门包中使用少量数据库)。

据我所知,没有真正的参考资料可以支持这一点,但如果算的话,我使用上述方法运行了 16 个 WordPress 网站。

相关内容