php - WordPress 多站点多数据库

标签 php mysql wordpress security multisite

我最近发现了 WordPress 核心的多站点功能。真的令人激动!经过更多研究后,我注意到每次我们创建新的子域时,数据库都会简单地复制 9 个表;但将它们全部保存在同一个数据库中。

我正在规划阶段的项目需要存储大量数据信息。将存储的信息将是使用该网站的每个公司的专有信息。

我的问题是这样的。我将如何复制整个数据库而不是只复制几个表?基本上,我希望一遍又一遍地创建网站的精确副本,但每个网站都有自己的数据库。最终,一旦客户付费使用该服务,就会创建该网站的每个副本。

我见过 shardb 和 hyperdb,但它们实际上只是添加数据库来存储来自多个子域的表(至少我是这么解释的)以提高站点速度。

我并不关心网站速度,而是关心安全性和冗余性。

有什么想法吗?

最佳答案

MultiSite 的功能之一是所有 WP 实例都使用单个 WP 安装和单个数据库,只是具有不同的表。

为了回答您的问题,您可以使用的插件是 Multi DB https://premium.wpmudev.org/project/multi-db/ 。尽管该插件不再受到他们的官方支持,但根据该网站,它仍然与 WP 4.5.3 兼容。

至于冗余,您可以运行 2 个 Linux VM 来托管数据库,一个用于主数据库,一个用于故障转移

如果您听说过 EduBlogs(类似于 Wordpress.com,但用于教育),它们使用多站点托管大约 300 万个博客。它背后的人是 WPMUDev(链接到上面),但他们在这里有一篇关于大量站点的多站点以及您可能遇到的潜在数据库问题的详尽文章:https://premium.wpmudev.org/blog/ultimate-guide-multisite/

关于php - WordPress 多站点多数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38104450/

相关文章:

html - 100% 宽度不适用于 div。 WordPress的

WordPress 如何替换 "wp_nav_menu"输出或 %3$s 中的字符串/URL?

javascript - 使用表中的 javascript 抓取 php 输出

php - 带有 jQ​​uery 文件上传 UI 的 oneuploader

wordpress - wordpress js 文件位于哪里?

php - session (CodeIgniter)

MySQL子查询导致服务器挂起

javascript - 从 PHP 渲染 React 组件

php - 我如何知道我的curl 代理是否已关闭?

mysql - SQL 查询 reg.ex。匹配