HyperDB 是一款高级的数据库管理插件,它取代了一些 WordPress 内置的数据库函数。
一、该插件优势:
1、HyperDB 可以连接到任意数量的数据库服务器
2、HyperDB 检查每个查询以确定合适的数据库
二、支持以下功能:
1、读取和写入服务器(复制)
2、可配置的读取和写入优先级
3、本地和远程数据中心
4、专用和公共网络
5、不同数据库/主机上的不同表
6、智能写入后主读取
7、关闭主机的故障切换
8、用于分析的高级统计信息
9、WordPress 多站点
它基于当前在生产中使用的代码,WordPress 许多MySQL服务器跨越多个数据中心。
三、HyperDB 如何支持复制
HyperDB不提供复制服务。这是通过配置MySQL服务器进行复制来完成的。然后,可以将 HyperDB 配置为适当地使用这些服务器,例如,通过连接到主服务器来执行写入查询。
这点可以搭配宝塔面板的 mysql主从复制 功能来使用哦
四、HyperDB 如何支持负载均衡?
HyperDB 会从您配置的优先级组中随机选择数据库连接。首先尝试最有利的连接。因此,您可以针对网络拓扑、硬件功能或您发明的任何其他方案优化您的配置。
五、HyperDB 如何支持故障转移?
故障转移描述了 HyperDB 如何处理连接故障。当 HyperDB 无法连接到一个数据库时,它会尝试连接到另一个保存相同数据的数据库。如果尚未设置复制,HyperDB 会在放弃之前尝试重新连接几次。
六、HyperDB 如何支持分区?
HyperDB 允许将表放置在任意数据库中。它可以使用您编写的回调来计算给定查询的相应数据库。因此,您可以根据自己的方案对站点的数据进行分区,并相应地配置 HyperDB。
七、仅将 HyperDB 与一台数据库服务器一起使用有什么好处吗?
没有测量过。HyperDB 在放弃连接之前至少会重试一次,因此在 Web 服务器暂时无法连接到数据库服务器的情况下,它可能会有所帮助。
HyperDB 与 WPDB 的一个不同之处在于,HyperDB 在进行查询之前不会尝试连接到数据库。因此,尽管数据库变得无法访问,但具有足够激进的持久缓存的站点可以保持只读访问。
八、如果数据集的所有数据库服务器都宕机了怎么办?
由于 HyperDB 仅在进行查询时才尝试连接,因此您的 WordPress 安装不会因数据库错误而终止站点,而是让代码决定在查询失败时下一步该做什么。如果你想做一些不同的事情,比如设置一个自定义错误页面或终止站点,你需要在你的 db-config.php 中定义 'db_connection_error' 回调。
数据库一主多备实现的数据库主从集群,修改db-config.php内的数据库读写分离:
$wpdb->add_database(array( 'host' => 'mysql57001_master', // 主要数据库地址 'user' => 'wordpress0_3c9db', 'password' => 'V4ex41r^pGU2E^7TP7l;cUaqcHLxaGa7nQvzz6CPA', 'name' => 'wordpress0_3c9db', 'write' => 1, // 给主要数据可写入 'read' => !defined('DB_HOST_RPL1') ? 1 : 0, // 当从数据库不可用时主要数据库才可读取,如果从数据库可用则从从数据库读取。));if(defined('DB_HOST_RPL1')): $wpdb->add_database(array( 'host' => 'mysql57001_slave', // 从数据库地址 'user' => 'wordpress0_3c9db', 'password' => 'V4ex41r^pGU2E^7TP7l;cUaqcHLxaGa7nQvzz6CPA', 'name' => 'wordpress0_3c9db', 'write' => 0, // 从数据库不可写入 'read' => 1, // 从数据库可读取 ));endif;
docker管理系统的URLOS有相关解决方案:https://www.urlos.com/urlos-document/introduction/mysql-master-slave.html
URLOS是基于Docker容器的云主机管理平台,遇故障可自愈,可帮助企业轻松构建高稳定性、高可用性、高安全性的应用运行环境。URLOS功能强大,小到管理云主机,大到搭建混合云,均可开箱即用;可一键升级上万个软件。URLOS操作便捷,可轻松管理上千台服务器,一键创建网站环境,自动申请SSL证书。
本使用手册涵盖URLOS产品介绍、URLOS安装方法、URLOS使用方法、Docker入门以及常见问题等相关方面的内容,帮助你系统了解URLOS。