欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL5.5配置安装半同步复制_MySQL

程序员文章站 2022-05-27 21:11:02
...
bitsCN.com

确认master和slave上是否开启have_dynamic_loading

master

MASTER(none) 10:54:58>show variables like 'have_dynamic_loading';
+----------------------+-------+| Variable_name        
| Value |+----------------------+-------+| have_dynamic_loading | YES   
|+----------------------+-------+

slave

SLAVEtest 10:47:52>show variables like 'have_dynamic_loading';
+----------------------+-------+| Variable_name        
| Value |+----------------------+-------+| have_dynamic_loading | YES   
|+----------------------+-------+


使用root在master上安装半同步插件

MASTER(none) 10:58:14>MASTER(none) 10:58:14>install plugin rpl_semi_sync_master soname 
'semisync_master.so';Query OK, 0 rows affected (0.01 sec)MASTER(none) 10:58:22>show plugins;
+--------------------------+--------+--------------------+--------------------+---------+| 
Name           | Status | Type        | Library    | License |
+--------------------------+--------+--------------------+--------------------+---------+| 
binlog           | ACTIVE | STORAGE ENGINE  | NULL       | GPL     || 
mysql_native_password    | ACTIVE | AUTHENTICATION     | NULL         | GPL     || 
mysql_old_password       | ACTIVE | AUTHENTICATION     | NULL      | GPL     || 
MRG_MYISAM          | ACTIVE | STORAGE ENGINE     | NULL      | GPL     || 
CSV              | ACTIVE | STORAGE ENGINE     | NULL   | GPL     || 
MEMORY            | ACTIVE | STORAGE ENGINE     | NULL        | GPL     ||
 MyISAM           | ACTIVE | STORAGE ENGINE     | NULL     | GPL     || 
 InnoDB                   | ACTIVE | STORAGE ENGINE     | NULL | GPL     ||
  INNODB_TRX               | ACTIVE | INFORMATION SCHEMA | NULL   | GPL     || 
  INNODB_LOCKS             | ACTIVE | INFORMATION SCHEMA | NULL   | GPL     || 
  INNODB_LOCK_WAITS        | ACTIVE | INFORMATION SCHEMA | NULL  | GPL     || 
  INNODB_CMP               | ACTIVE | INFORMATION SCHEMA | NULL  | GPL     || 
  INNODB_CMP_RESET         | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     || 
  INNODB_CMPMEM            | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     || 
  INNODB_CMPMEM_RESET      | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     || 
  INNODB_BUFFER_PAGE       | ACTIVE | INFORMATION SCHEMA | NULL      | GPL     || 
  INNODB_BUFFER_PAGE_LRU   | ACTIVE | INFORMATION SCHEMA | NULL     | GPL     || 
  INNODB_BUFFER_POOL_STATS | ACTIVE | INFORMATION SCHEMA | NULL      | GPL     || 
  BLACKHOLE                | ACTIVE | STORAGE ENGINE     | NULL  | GPL     
  || ARCHIVE         | ACTIVE | STORAGE ENGINE     | NULL    | GPL     || 
  FEDERATED       | ACTIVE | STORAGE ENGINE     | NULL    | GPL     || 
  PERFORMANCE_SCHEMA       | ACTIVE | STORAGE ENGINE     | NULL  | GPL     || 
  partition       | ACTIVE | STORAGE ENGINE     | NULL    | GPL     || 
  rpl_semi_sync_master     | ACTIVE | REPLICATION        | semisync_master.so | GPL   
  |+--------------------------+--------+--------------------+--------------------+---------+


使用root在slave上安装半同步插件

SLAVEtest 10:55:18>install plugin rpl_semi_sync_slave soname 'semisync_slave.so';Query OK, 0 rows 
affected (0.01 sec)SLAVEtest 10:59:45>show plugins;
+--------------------------+--------+--------------------+-------------------+---------+| 
Name                     | Status | Type      | Library    | License |
+--------------------------+--------+--------------------+-------------------+---------+| binlog   
| ACTIVE | STORAGE ENGINE     | NULL    | GPL     || mysql_native_password    | 
ACTIVE | AUTHENTICATION     | NULL              | GPL     || 
mysql_old_password       | ACTIVE | AUTHENTICATION     | NULL   | GPL     || 
MRG_MYISAM               | ACTIVE | STORAGE ENGINE     | NULL  | GPL     || 
CSV                      | ACTIVE | STORAGE ENGINE     | NULL| GPL     ||
 MEMORY                   | ACTIVE | STORAGE ENGINE   | NULL | GPL     || 
 MyISAM                   | ACTIVE | STORAGE ENGINE     | NULL | GPL   || 
 InnoDB                   | ACTIVE | STORAGE ENGINE     | NULL| GPL  || 
 INNODB_TRX               | ACTIVE | INFORMATION SCHEMA | NULL  | GPL     || 
 INNODB_LOCKS             | ACTIVE | INFORMATION SCHEMA | NULL  | GPL     || 
 INNODB_LOCK_WAITS        | ACTIVE | INFORMATION SCHEMA | NULL  | GPL     || 
 INNODB_CMP               | ACTIVE | INFORMATION SCHEMA | NULL | GPL     || 
 INNODB_CMP_RESET         | ACTIVE | INFORMATION SCHEMA | NULL  | GPL     || 
 INNODB_CMPMEM            | ACTIVE | INFORMATION SCHEMA | NULL     | GPL     || 
 INNODB_CMPMEM_RESET      | ACTIVE | INFORMATION SCHEMA | NULL   | GPL     || 
 INNODB_BUFFER_PAGE       | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     || 
 INNODB_BUFFER_PAGE_LRU   | ACTIVE | INFORMATION SCHEMA | NULL       | GPL     || 
 INNODB_BUFFER_POOL_STATS | ACTIVE | INFORMATION SCHEMA | NULL       | GPL     || 
 BLACKHOLE                | ACTIVE | STORAGE ENGINE     | NULL   | GPL   || 
 ARCHIVE                  | ACTIVE | STORAGE ENGINE     | NULL | GPL    || 
 FEDERATED                | ACTIVE | STORAGE ENGINE     | NULL | GPL     || 
 PERFORMANCE_SCHEMA       | ACTIVE | STORAGE ENGINE     | NULL     | GPL     || 
 partition                | ACTIVE | STORAGE ENGINE     | NULL| GPL     || 
 rpl_semi_sync_slave      | ACTIVE | REPLICATION        | semisync_slave.so | GPL    
 |+--------------------------+--------+--------------------+-------------------+---------+


分别在master和slave的my.cnf里添加以下配置

master

rpl_semi_sync_master_enabled=1rpl_semi_sync_master_timeout=1000rpl_semi_sync_master_trace_level=32rpl_semi_
sync_master_wait_no_slave=on

slave

rpl_semi_sync_slave_enabled=1


master日志

140203 23:06:17 [Note] Semi-sync replication initialized for transactions.140203 23:06:17 [Note] 
Semi-sync replication enabled on the master.140203 23:06:17 [Note] Server hostname (bind-address): 
'0.0.0.0'; port: 30307140203 23:06:17 [Note]   
- '0.0.0.0' resolves to '0.0.0.0';140203 23:06:17 [Note] 
Server socket created on IP: '0.0.0.0'.140203 23:06:17 
[Warning] 'proxies_priv' entry '@ root@mynode1' ignored in --skip-name-resolve mode.140203 23:06:17 
[Note] Event Scheduler: Loaded 0 events140203 23:06:17 [Note] /service/mysql/bin/mysqld: ready 
for connections.Version: '5.5.34-log'  socket: '/data/mysql/mysql.sock'  port: 30307  
MASTER_DB140203 23:06:17 [Note] Event Scheduler: scheduler thread started with id 1140203 
23:06:20 [Note] Start semi-sync binlog_dump to slave (server_id: 2), pos(binlog-master.000010, 290)

slave日志

140203 23:06:20 [Note] Slave I/O thread: Start semi-sync replication to master 'rep@mynode1:30307' 
in log 'binlog-master.000010' at position 290140203 23:06:20 [Note] Slave SQL thread initialized, 
starting replication in log 'binlog-master.000010' at position 290, relay log './mynode2-relay-bin.
000029' position: 440140203 23:06:20 [Note] Event Scheduler: scheduler thread started with id 
1140203 23:06:20 [Note] Slave I/O thread: connected to master 'rep@mynode1:30307',replication 
started in log 'binlog-master.000010' at position 290
MASTERtest 11:10:41>show global status like 'rpl%';
+--------------------------------------------+-------------+| Variable_name    | Value       |
+--------------------------------------------+-------------+| Rpl_semi_sync_master_clients  | 
1   || Rpl_semi_sync_master_net_avg_wait_time   | 619  || Rpl_semi_sync_master_net_wait_time  | 
619         || Rpl_semi_sync_master_net_waits             | 1           || 
Rpl_semi_sync_master_no_times              | 0    || Rpl_semi_sync_master_no_tx  | 
0           || Rpl_semi_sync_master_status                | ON   || 
Rpl_semi_sync_master_timefunc_failures     | 0           || 
Rpl_semi_sync_master_tx_avg_wait_time      | 734         || Rpl_semi_sync_master_tx_wait_time          
| 734         || Rpl_semi_sync_master_tx_waits              | 1           
|| Rpl_semi_sync_master_wait_pos_backtraverse | 0           || Rpl_semi_sync_master_wait_sessions         
| 0           || Rpl_semi_sync_master_yes_tx                | 1           
|| Rpl_status                                 | AUTH_MASTER 
|+--------------------------------------------+-------------+
SLAVEtest 11:10:02>show global status like 'rpl%';
+----------------------------+-------------+| Variable_name              | Value       
|+----------------------------+-------------+| Rpl_semi_sync_slave_status | ON          
|| Rpl_status                 | AUTH_MASTER |+----------------------------+-------------+

以上就是MySQL5.5配置安装半同步复制_MySQL的内容,更多相关内容请关注PHP中文网(www.php.cn)!