一个MySQLslave_net_timeout参数聚类问题的案例

{背景}

5.5升级到5.6的一组数据库集群后,该alter.log报纸警告异常。

复制代码代码如下所示:

2015-02-03 15:44:51 19633 {警告}存储MySQL用户名或密码在主信息库的信息是不安全的,因此不推荐。请考虑使用用户名和密码连接选项启动的奴隶;看到从语法 the'start MySQL手册,更多信息。



数据库的业务压力QPS 1 TPS几乎是0秒或更久有4-10写操作。

{分析}

1、主从复制信息的主机地址,端口,复制用户,binlog文件位置等信息都存储在master.info,和5.6版有许多安全改进。在执行更改主机时,不建议指定密码。如果设置了一个主设置时使用了密码,则5.6 MySQL将提示上述警告信息。这也是5.5版本中群集没有错误的原因。



2 MySQL复制的重连接机制

在一个系统中,建立了主从复制的关系,正常情况下,从图书馆发送com_binlog_dump命令主库后,主图书馆有一个新的binlog事件,这将给binlog到备用库。但由于网络故障或其他原因,主图书馆是图书馆断开,或主库不发binlog去图书馆很长一段时间。例如,在数据库集群10s没有写在这个例子中,超过设定的slave_net_timeout 4S,开始从图书馆到图书馆重新请求。当从5.6版本开始重新请求,MySQL会判断再是一个明文或不,用户名密码的话,上述信息将被发送到error.log。



{解}

在这种情况下,你可以试着把slave_net_timeout大量的25.slave_net_timeout是多少秒二进制日志事件后尚未从主图书馆收到。图书馆后,认为网络是超时的IO线程将重新连接主图书馆。此参数的默认值是3600s,但时间过长会导致数据库延迟或主人的仓库,不能及时发现直接链接例外。设置slave_net_timeout很短会造成主没有数据更新频繁。一般线设定5S。

复制代码代码如下所示:

设置全局slave_net_timeout = 25



当然,你也可以与业务方面沟通,几乎没有排队,为公司节省资源。