我们正在MySQL 5.0.x中获取大量的binlog文件。 我们有一个正常的主/从复制事情与1主,1奴隶。 查看/var/log/mysql.log,复制器连接的时间将近90%,并执行SHOW SLAVE HOSTS会导致bin日志转储。
例如:
7020 Query SHOW SLAVE HOSTS 7020 Binlog Dump Log: 'mysql-bin.029634' Pos: 13273
但是,当我在mysql上做SHOW SLAVE HOSTS时,我没有任何结果。
偶尔,当复制器执行SHOW SLAVE HOSTS ,mysql将挂起几个小时。 我同时在/var/log/syslog中看不到任何内容…
这里发生了什么? 我怎样才能更多的debugging?
为了loggingMySQL的主从服务器是Ubuntu的精简版。
有些事情要检查:
磁盘空间的binlogs。
检查ifconfig是否存在networking错误。 我看到坏包迫使复制脱轨。
检查SHOW SLAVE STATUS和/etc/my.cnf以确保MySQL服务器ID不会相同。 我已经看到了这种情况,复制可能会很糟糕。
mysql日志写入日志或表的麻烦。 如果它们被根源所拥有,那可能会造成麻烦。
如果可以的话,使用lm-sensors监控你的服务器温度。 一个失败的风扇会提高系统温度,并提前降低内存,磁盘和RAID控制器的性能。 我见过raid控制器比hot系统上的磁盘更频繁地失败。
我也会安排服务器运行CHECK TABLE; REPAIR TABLE; OPTIMIZE TABLE停机时间CHECK TABLE; REPAIR TABLE; OPTIMIZE TABLE CHECK TABLE; REPAIR TABLE; OPTIMIZE TABLE CHECK TABLE; REPAIR TABLE; OPTIMIZE TABLE视情况而定。 我已经在MySQL日志中看到了一个沉默,在这个日志中,表被损坏,错误消息被忽略。
我看到坏记忆腐败表。 在计划停机期间,运行物理内存testing。 主板上的内存座位也可能变坏。
我怀疑你可能有一个networking变化,开始这个,它可能是一个恼人的DNS查找更改。 例如,你的/etc/resolv.conf现在可能是空白的,如果它不是IP地址,它可能无法parsing你的从地址。