AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 17501
Accepted
newbie14
newbie14
Asked: 2012-05-07 21:19:53 +0800 CST2012-05-07 21:19:53 +0800 CST 2012-05-07 21:19:53 +0800 CST

监控 mysql 上的复制

  • 772

我设法设置了主从复制。

它工作正常。下跌的可能性有哪些?

是否有任何警报工具来监控它?

另一件事:我可以在我的复制数据库中运行一个单独的数据库,我只是为了测试目的而运行它吗?

mysql replication
  • 2 2 个回答
  • 7268 Views

2 个回答

  • Voted
  1. Best Answer
    Aaron Brown
    2012-05-08T18:00:53+08:002012-05-08T18:00:53+08:00

    复制可以以各种有趣和令人兴奋的方式破坏或行为不端。您需要监控三件事:

    1. 复制正在运行,并没有因为错误而停止

    要监视复制是否正在运行,只需以编程方式检查和查看和SHOW SLAVE STATUS的值即可。两者都应该是“是”。 Percona Monitoring Plugins for Nagios的 pmp-check-mysql-replication-running是为此任务编写的。Slave_IO_RunningSlave_SQL_Running

    2. Replication 表现良好(slave 落后于 master 在可接受的范围内)

    您需要确保从站没有落后于主站太远。“太远”取决于您的应用程序可以容忍的内容以及您在主服务器上保留多少二进制日志。因为从属服务器上的复制是单线程的,所以从属服务器很容易落后。 SHOW SLAVE STATUS有Seconds_Behind_Master值,但不是实际滞后的可靠指标,经常会跳来跳去。为了准确测量复制延迟,您需要一个外部应用程序定期将时间戳插入表中。然后,您可以从从站测量该值并将其与当前时间进行比较以获得实际的复制延迟。 pt-heartbeat是一个守护进程,它会将心跳插入服务器上的表中。然后,您可以使用pmp-check-mysql-replication-delay以确保它在您指定的参数范围内。

    3.服务器上的数据是同步的。

    主从不同步的方式有很多种,从而导致数据不同。您需要检测这些差异并定期更正它们,因为随着时间的推移,微小的差异会变成非常大的差异,尤其是基于语句的复制。这是一项不小的任务,pt-table-checksum就是为了计算这些差异而设计的。每周运行。 pmp-check-pt-table-checksum是一个 Nagios 插件,用于在从站与主站存在数据差异时发出警报。要真正解决这些差异,请使用pt-table-sync。

    pt-table-checksum 最近被重写并且非常容易使用。pt-table-sync 有很多选项,可能会令人困惑。 彻底阅读这些文档,因为如果你不小心的话,你真的会在脚下开枪。这是关于这些工具的网络研讨会。

    另一件事:我可以在我的复制数据库中运行一个单独的数据库,我只是为了测试目的而运行它吗?

    没有什么可以阻止您修改(或补充)从站上的数据,尽管通常我会建议您不要这样做。最佳做法是让奴隶成为read_only=1. 然而,现实生活往往胜过最佳实践,并且经常使用从属服务器作为报告服务器。我的建议是为使用从属设备进行数据修改的用户提供非常明确的访问权限,并将所有附加表放在单独的模式中。

    • 9
  2. Ran
    2012-05-08T02:41:01+08:002012-05-08T02:41:01+08:00
    1. 复制可能由于多种原因而“下降”,主要原因是从服务器在执行主服务器上执行的命令之一时会出现 sql 错误(例如,更新主服务器上存在但从服务器上不存在的行),另一个问题可能是主从之间的不同变量设置,例如max_allowed_packet. 总而言之,复制是一个可靠的功能。

    2. 我使用Server Density来监控复制(以及服务器上的其他参数),它们可以监控复制是否正在运行、从属服务器落后的秒数以及服务器上的许多其他参数(cpu、内存)。他们有一个非常清晰的 web 应用程序,iphone 应用程序,并且可以在事情向南时发送推送通知,最好的事情是与他们的集成需要 5 分钟。

    3. 至于单独的数据库,我不明白你想在那里实现什么

    希望这可以帮助,

    R

    • 1

相关问题

  • 我在哪里可以找到mysql慢日志?

  • 如何优化大型数据库的 mysqldump?

  • 什么时候是使用 MariaDB 而不是 MySQL 的合适时机,为什么?

  • PostgreSQL 9.0 Replication 和 Slony-I 有什么区别?

  • 组如何跟踪数据库架构更改?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何查看 Oracle 中的数据库列表?

    • 8 个回答
  • Marko Smith

    mysql innodb_buffer_pool_size 应该有多大?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    从 .frm 和 .ibd 文件恢复表?

    • 10 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve