q987654 发表于 2018-10-10 10:48:29

简述mysql半同步复制—semisync

#master中  

  
mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so';
  
Query OK, 0 rows affected (0.00 sec)
  
mysql> show global variables like '%semi%';
  
+------------------------------------+-------+
  
| Variable_name                      | Value |
  
+------------------------------------+-------+
  
| rpl_semi_sync_master_enabled       | OFF   |
  
| rpl_semi_sync_master_timeout       | 10000 |
  
| rpl_semi_sync_master_trace_level   | 32    |
  
| rpl_semi_sync_master_wait_no_slave | ON    |
  
+------------------------------------+-------+
  
4 rows in set (0.01 sec)
  
mysql> set global rpl_semi_sync_master_enabled = 1;#开启master上的semisync,设置超时时间,可以通过设置rpl_semi_sync_master_timeout变量来修改,默认单位为毫秒
  
Query OK, 0 rows affected (0.00 sec)
  
mysql> show status like '%Rpl_semi_sync%';
  
+--------------------------------------------+-------+
  
| Variable_name                              | Value |
  
+--------------------------------------------+-------+
  
| Rpl_semi_sync_master_clients               | 1   |
  
| Rpl_semi_sync_master_net_avg_wait_time   | 565   |
  
| Rpl_semi_sync_master_net_wait_time         | 3391|
  
| Rpl_semi_sync_master_net_waits             | 6   |
  
| Rpl_semi_sync_master_no_times            | 1   |
  
| Rpl_semi_sync_master_no_tx               | 12    |
  
| Rpl_semi_sync_master_status                | ON    |
  
| Rpl_semi_sync_master_timefunc_failures   | 0   |
  
| Rpl_semi_sync_master_tx_avg_wait_time      | 588   |
  
| Rpl_semi_sync_master_tx_wait_time          | 3528|
  
| Rpl_semi_sync_master_tx_waits            | 6   |
  
| Rpl_semi_sync_master_wait_pos_backtraverse | 0   |
  
| Rpl_semi_sync_master_wait_sessions         | 0   |
  
| Rpl_semi_sync_master_yes_tx                | 6   |
  
+--------------------------------------------+-------+
  
14 rows in set (0.00 sec)
  

  
#slave中
  

  
mysql> install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
  
Query OK, 0 rows affected (0.00 sec)
  

  
mysql> show global variables like '%semi%';
  
+---------------------------------+-------+
  
| Variable_name                   | Value |
  
+---------------------------------+-------+
  
| rpl_semi_sync_slave_enabled   | OFF   |
  
| rpl_semi_sync_slave_trace_level | 32    |
  
+---------------------------------+-------+
  
2 rows in set (0.00 sec)
  
mysql> set global rpl_semi_sync_slave_enabled = 1;
  
Query OK, 0 rows affected (0.00 sec)
  
mysql> stop slave IO_THREAD;start slave IO_THREAD;#重启slave上的IO线程
  
Query OK, 0 rows affected (0.09 sec)
  

  
Query OK, 0 rows affected (0.00 sec)
  
mysql> show status like '%Rpl_semi_sync%';
  
+----------------------------+-------+
  
| Variable_name            | Value |
  
+----------------------------+-------+
  
| Rpl_semi_sync_slave_status | ON    |
  
+----------------------------+-------+
  
1 row in set (0.00 sec)


页: [1]
查看完整版本: 简述mysql半同步复制—semisync