在主从复制中,有几个参数是非常重要的,包括slave_net_timeout, MASTER_HEARTBEAT_PERIOD, MASTER_CONNECT_RETRY,以及 MASTER_RETRY_COUNT。

  • slave_net_timeout表示slave在slave_net_timeout时间之内没有收到master的任何数据(包括binlog,heartbeat),slave认为连接断开,需要重连。默认值60s。

  • MASTER_HEARTBEAT_PERIOD表示心跳的周期。当MASTER_HEARTBEAT_PERIOD时间之内,master没有binlog event发送给slave的时候,就会发送心跳数据给slave。

  • MASTER_CONNECT_RETRY表示重连的时间间隔。

    slave_net_timeout超时后,立刻重连,后续重连的时间间隔由 CHANGE MASTER TO 命令的MASTER_CONNECT_RETRY 参数指定。默认值60s。

  • MASTER_CONNECT_RETRY表示重连的最大次数。默认值86400次。

下面就介绍下这些参数的如何查看和设置。

1.slave_net_timeout的查看和设置

查看slave_net_timeout可以使用如下方式:

mysql> select @@global.slave_net_timeout;
+----------------------------+
| @@global.slave_net_timeout |
+----------------------------+
| 60 |
+----------------------------+
1 row in set (0.00 sec)

或者

mysql> show variables like 'slave_net_timeout';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| slave_net_timeout | 50 |
+-------------------+-------+
1 row in set (0.00 sec)

设置slave_net_timeout:

mysql> set global slave_net_timeout=50;
Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'slave_net_timeout';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| slave_net_timeout | 50 |
+-------------------+-------+
1 row in set (0.00 sec)

2.MASTER_HEARTBEAT_PERIOD, MASTER_CONNECT_RETRY,以及 MASTER_RETRY_COUNT

2.1设置

MASTER_HEARTBEAT_PERIOD

MASTER_HEARTBEAT_PERIOD通过change master to 命令设置。

change master to 不带heartbeat参数,默认被设置成slave_net_timeoute的一半。当slave_net_timeoute改变时,不会修改heartbeat。

MASTER_RETRY_COUNT

MASTER_RETRY_COUNT可以通过命令行参数--master-retry-count 设置,也可以通过change master to的方式设置。

不推荐使用前者,鼓励使用change master to。

MASTER_CONNECT_RETRY

MASTER_CONNECT_RETRY 通过change master to 命令设置。

2.2 查看

从库上 执行show slave status,可以查看Master_Retry_Count,Connect_Retry等,以及更多主从复制信息Master_Info_File的存放位置。

>show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: xr-dba-mysql-hazyytest-test01
Master_User: XXXX
Master_Port: 5002
Connect_Retry: 10
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 488
Relay_Log_File: relay.000002
Relay_Log_Pos: 698
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 488
Relay_Log_Space: 892
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 48201050
Master_UUID: 10035945-ddeb-11e9-89f3-0022ac533a2f
Master_Info_File: mysql.slave_master_info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set: 10035945-ddeb-11e9-89f3-0022ac533a2f:1-2
Executed_Gtid_Set: 10035945-ddeb-11e9-89f3-0022ac533a2f:1-2
Auto_Position: 1
1 row in set (0.00 sec)

从上面结果可以看到,Master_Info_File存放在数据表中:

Master_Info_File: mysql.slave_master_info。

接着通过查询数据表,查看这几个参数:

>select * from mysql.slave_master_info\G
*************************** 1. row ***************************
Number_of_lines: 23
Master_log_name: mysql-bin.000001
Master_log_pos: 488
Host: xr-dba-mysql-hazyytest-test01
User_name: XXX
User_password: XXXX
Port: 5002
Connect_retry: 10
Enabled_ssl: 0
Ssl_ca:
Ssl_capath:
Ssl_cert:
Ssl_cipher:
Ssl_key:
Ssl_verify_server_cert: 0
Heartbeat: 8
Bind:
Ignored_server_ids: 0
Uuid: 10035945-ddeb-11e9-89f3-0022ac533a2f
Retry_count: 86400
Ssl_crl:
Ssl_crlpath:
Enabled_auto_position: 1
1 row in set (0.00 sec)

这里,Connect_retry为10,Heartbeat为8,Retry_count 为86400。

>select Connect_retry,Heartbeat, Retry_count from mysql.slave_master_info;
+---------------+-----------+-------------+
| Connect_retry | Heartbeat | Retry_count |
+---------------+-----------+-------------+
| 10 | 8 | 86400 |
+---------------+-----------+-------------+
1 row in set (0.00 sec)

另外,这几个参数是配置在从库上的,主库上执行查询命令,结果是空的。

>select Connect_retry,Heartbeat, Retry_count from mysql.slave_master_info;
Empty set (0.00 sec)

在MySQL5.7版本中,还可以在replication-connection-configuration-table中查看这几个参数。

> select * from performance_schema.replication_connection_configuration\G
*************************** 1. row ***************************
CHANNEL_NAME:
HOST: 10.23.66.88
PORT: 5002
USER: repl
NETWORK_INTERFACE:
AUTO_POSITION: 1
SSL_ALLOWED: NO
SSL_CA_FILE:
SSL_CA_PATH:
SSL_CERTIFICATE:
SSL_CIPHER:
SSL_KEY:
SSL_VERIFY_SERVER_CERTIFICATE: NO
SSL_CRL_FILE:
SSL_CRL_PATH:
CONNECTION_RETRY_INTERVAL: 60
CONNECTION_RETRY_COUNT: 86400
HEARTBEAT_INTERVAL: 60.000
TLS_VERSION:
1 row in set (0.01 sec)

3.参考

slave_net_timeout

change master to

replication-connection-configuration-table

slave_net_timeout, MASTER_HEARTBEAT_PERIOD, MASTER_CONNECT_RETRY,以及 MASTER_RETRY_COUNT设置和查看的更多相关文章

  1. Linux命令 — 设置或查看网络配置命令ifconfig

    ifconfig命令用于设置或查看网络配置,包括IP地址.网络掩码.广播地址等.它是linux系统中,使用频率最高的关于网络方面的命令. 1. 命令介绍 命令格式: ifconfig [interfa ...

  2. php禁用函数设置及查看方法详解

    这篇文章主要介绍了php禁用函数设置及查看方法,结合实例形式分析了php禁用函数的方法及使用php探针查看禁用函数信息的相关实现技巧,需要的朋友可以参考下 本文实例讲述了php禁用函数设置及查看方法. ...

  3. 【命令】Ubuntu设置和查看环境变量

    转自[Ubuntu]Ubuntu设置和查看环境变量 查看环境变量 env env命令是environment的缩写,用于列出所有的环境变量 export 单独使用export命令也可以像env列出所有 ...

  4. [转载]linux下core文件设置与查看

    转自:https://blog.csdn.net/dingqinghui/article/details/77855330?locationNum=9&fps=1 linux下core文件设置 ...

  5. (转)Linux下设置和查看环境变量

    原文地址:<Linux下设置和查看环境变量> Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1. 永久的:需要修改配置文件,变量永久生效. 2. 临时的:使用e ...

  6. 【Ubuntu】Ubuntu设置和查看环境变量

    [Ubuntu]Ubuntu设置和查看环境变量    转载 https://blog.csdn.net/White_Idiot/article/details/78253004 1. 查看环境变量 查 ...

  7. Redis 密码设置和查看密码

    Redis 密码设置和查看密码 redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证. 1.初始化Redis密码: 在配置文件中有个参数: ...

  8. Redis 密码设置和查看密码(二)

    Redis 密码设置和查看密码 redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证. 1.初始化Redis密码: 在配置文件中有个参数: ...

  9. redis设置、查看和校验密码

    Redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式(密码),可以通过编辑[redis.conf]配置文件来启用认证,这里简单介绍一下Redis中如何设置.查看和校验密码(登录验证和操 ...

随机推荐

  1. day16-Python运维开发基础(os / os.path / shutil模块)

    1. OS模块与shutil模块 os :新建/删除shutil: 复制/移动 # ### os模块 与 shutil模块 """ os 新建/删除 shutil 复制/ ...

  2. 如何给Sqlite添加复合主键

    如果是想两个字段组成一个复合主键的话可以如下.SQL code sqlite> create table t2 ( ...> id1 int , ...> id2 int, ...& ...

  3. Django 3.0中不推荐使用的及已经删除的功能

    3.0中不推荐使用的功能 django.utils.encoding.force_text()和smart_text()的别名被弃用.如果您的代码支持Python 2,smart_str()并且 fo ...

  4. python3列表操作

    1.Python列表脚本操作符 2.Python列表截取 切片的公式:[start : end : step] 1)切片的取值: list1 = [1, 4, 9, 16, 25] print(lis ...

  5. ROS-3 : Catkin工作空间和ROS功能包

    一.创建一个Catkin工作空间 步骤一:构建catkin工作空间 安装完成ROS版本后,设置好环境变量:$ source /opt/ros/kinetic/setup.bash.然后即可创建一个ca ...

  6. win10安装mysql过程&&链接过程&&备份和导入数据&&grant命令

    win10安装mysql过程&&链接过程&&备份和导入数据&&grant命令   一 .安装 一开始在mysql官网(https://www.mysql ...

  7. 第二单元总结:基于synchronize锁的简单多线程设计

    单元统一的多线程设计策略 类的设计 电梯 每部电梯为一个线程. 电梯从调度器接收原子指令,知晓自己的状态(内部的人/服务的人.运行方向.所在楼层) 原子指令包括且仅包括: 向上走一层 / 向下走一层 ...

  8. Element 以二进制的形式 自定义上传图片

    一,只有在上传文件之前的钩子函数中才可以获得最初的文件(文件本身的二进制形式),用以以上传服务器. 还需要使用formdata来承载数据,便于接收 <template>   <div ...

  9. 【蓝桥】第八届C语言C组第7题 Excel地址(进制变形题,stack()简单使用)转载

    标题: Excel地址 Excel单元格的地址表示很有趣,它使用字母来表示列号. 比如, A表示第1列, B表示第2列, Z表示第26列, AA表示第27列, AB表示第28列, BA表示第53列, ...

  10. 拓扑排序--P2881 [USACO07MAR]排名的牛Ranking the Cows

    *传送 FJ想按照奶牛产奶的能力给她们排序.现在已知有N头奶牛(1 ≤ N ≤ 1,000).FJ通过比较,已经知道了M(1 ≤ M ≤ 10,000)对相对关系.每一对关系表示为“X Y”,意指X的 ...