在 MySQL 错误日志中,我看到这些警告很少:
120611 16:12:30 [Warning] Aborted connection 2619503 to db: 'db_name' user: 'user_name' host: 'webapp_hostname' (Got an error reading communication packets)
Run Code Online (Sandbox Code Playgroud)
本身没有注意到任何数据丢失,所以我想知道这个警告是什么意思,或者是什么原因造成的,以及是否可以解决导致这些问题的问题。这是在 RHEL 6.1 和 MySQL Enterprise 5.5 上。
我们有一种情况,我们可以 (A) 使用表前缀在一个 MySQL 数据库中部署应用程序的实例,或者 (B) 为应用程序的每个实例使用不同的 MySQL 数据库,例如,
设置“A”:
central_database
app1_table1
app1_table2
app1_tablen
...
appn_table1
appn_table2
appn_tablen
Run Code Online (Sandbox Code Playgroud)
最终结果是一个包含许多表的大数据库。
设置“B”:
app1_db
table1
table2
tablen
...
appn_db
table1
table2
tablen
Run Code Online (Sandbox Code Playgroud)
最终结果是许多带有一些表的数据库。
所有条件都相同(例如,数据量、应用程序实例数量等),使用这两种方法的优缺点是什么?什么会对数据库性能和维护有害?该应用程序基于 PHP 5,在 Apache 2.x 上运行,我们运行的是 MySQL 5.x。
非常感谢您的时间和想法!
我们正在实施在 MySQL 上运行的新 CMS (Drupal 6.x)。我们有两个数据中心——主要的和次要的——它们之间的延迟是已知的。我们不确定我们将运行哪个版本的 MySQL……社区或企业,但这是一个待定的时间。看起来我们将运行 InnoDB 引擎,操作系统将是 RedHat EL 5.5 主服务器将处于活动状态,而辅助服务器将处于被动或热备用状态。
我想在 MySQL 中跨两个数据中心实现复制、高可用性和自动故障转移。
在故障转移到辅助服务器后,当我们故障恢复到主服务器时,我们希望将数据从辅助数据库快速完整地同步到主数据库,以便我们可以继续提供来自主服务器的内容。
我很想知道可以使用哪些技术/工具/最佳实践来解决/解决这些问题。此外,任何陷阱或啊哈时刻也将不胜感激。我已经阅读了 MySQL 复制、集群和一些 3rd 方工具,如 Tungsten 和 Dolphinics,但我不确定什么是最好的行动方案。
感谢您的时间!
知识管理
我有一个两部分的问题:
如果出现此错误,有没有办法查看主机是否接近被阻止?并发出警报?
PDOException: SQLSTATE[HY000] [1129] Host `hostname` is blocked because of many connection errors; unblock with `mysqladmin flush-hosts`
Run Code Online (Sandbox Code Playgroud)在增加时应该遵循什么准则max_connect_errors——我们的准则是 10?是否建议mysqladmin flush-hosts通过 cron 每天运行?
在 Red Hat 6 上运行 MySQL 5.5.13(企业)。