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

一、确认主服务器和从服务器是否开启have_dynamic_loading

1,主服务器

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

2.从服务器

mysql> show variables like 'have_dynamic_loading';
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    14
Current database: *** NONE ***

+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| have_dynamic_loading | YES   |
+----------------------+-------+
1 row in set (0.02 sec)

二、在主从上安装半同步插件

1.用root登录的Master安装


mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so';
Query OK, 0 rows affected (0.05 sec)

mysql> 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     |
| MyISAM                | ACTIVE | STORAGE ENGINE     | NULL               | GPL     |
| MEMORY                | ACTIVE | STORAGE ENGINE     | NULL               | GPL     |
| PERFORMANCE_SCHEMA    | ACTIVE | STORAGE ENGINE     | NULL               | GPL     |
| BLACKHOLE             | 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     |
| ARCHIVE               | ACTIVE | STORAGE ENGINE     | NULL               | GPL     |
| partition             | ACTIVE | STORAGE ENGINE     | NULL               | GPL     |
| rpl_semi_sync_master  | ACTIVE | REPLICATION        | semisync_master.so | GPL     |
+-----------------------+--------+--------------------+--------------------+---------+
20 rows in set (0.00 sec)

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

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

mysql> 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     |
| MEMORY                | ACTIVE | STORAGE ENGINE     | NULL              | GPL     |
| MyISAM                | ACTIVE | STORAGE ENGINE     | NULL              | GPL     |
| CSV                   | ACTIVE | STORAGE ENGINE     | NULL              | GPL     |
| MRG_MYISAM            | ACTIVE | STORAGE ENGINE     | NULL              | GPL     |
| ARCHIVE               | 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     |
| PERFORMANCE_SCHEMA    | ACTIVE | STORAGE ENGINE     | NULL              | GPL     |
| BLACKHOLE             | ACTIVE | STORAGE ENGINE     | NULL              | GPL     |
| partition             | ACTIVE | STORAGE ENGINE     | NULL              | GPL     |
| rpl_semi_sync_slave   | ACTIVE | REPLICATION        | semisync_slave.so | GPL     |
+-----------------------+--------+--------------------+-------------------+---------+
20 rows in set (0.00 sec)

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

#主半同步复制
rpl_semi_sync_master_enabled=1 
rpl_semi_sync_master_timeout=1000 
rpl_semi_sync_master_trace_level=32 
rpl_semi_sync_master_wait_no_slave=on


mysql> show global status like 'rpl%';
+--------------------------------------------+-------------+
| Variable_name                              | Value       |
+--------------------------------------------+-------------+
| Rpl_semi_sync_master_clients               | 0           |
| Rpl_semi_sync_master_net_avg_wait_time     | 0           |
| Rpl_semi_sync_master_net_wait_time         | 0           |
| Rpl_semi_sync_master_net_waits             | 0           |
| Rpl_semi_sync_master_no_times              | 0           |
| Rpl_semi_sync_master_no_tx                 | 0           |
| Rpl_semi_sync_master_status                | OFF         |
| Rpl_semi_sync_master_timefunc_failures     | 0           |
| Rpl_semi_sync_master_tx_avg_wait_time      | 0           |
| Rpl_semi_sync_master_tx_wait_time          | 0           |
| Rpl_semi_sync_master_tx_waits              | 0           |
| Rpl_semi_sync_master_wait_pos_backtraverse | 0           |
| Rpl_semi_sync_master_wait_sessions         | 0           |
| Rpl_semi_sync_master_yes_tx                | 0           |
| Rpl_status                                 | AUTH_MASTER |
+--------------------------------------------+-------------+

#从半同步复制
rpl_semi_sync_slave_enabled=1


mysql> show global status like 'rpl%';
+----------------------------+-------------+
| Variable_name              | Value       |
+----------------------------+-------------+
| Rpl_semi_sync_slave_status | OFF         |
| Rpl_status                 | AUTH_MASTER |
+----------------------------+-------------+
2 rows in set (0.00 sec)

重启数据库

1.master

mysql> show global status like 'rpl%';
+--------------------------------------------+-------------+
| Variable_name                              | Value       |
+--------------------------------------------+-------------+
| Rpl_semi_sync_master_clients               | 1           |
| Rpl_semi_sync_master_net_avg_wait_time     | 0           |
| Rpl_semi_sync_master_net_wait_time         | 0           |
| Rpl_semi_sync_master_net_waits             | 0           |
| 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      | 0           |
| Rpl_semi_sync_master_tx_wait_time          | 0           |
| Rpl_semi_sync_master_tx_waits              | 0           |
| Rpl_semi_sync_master_wait_pos_backtraverse | 0           |
| Rpl_semi_sync_master_wait_sessions         | 0           |
| Rpl_semi_sync_master_yes_tx                | 0           |
| Rpl_status                                 | AUTH_MASTER |
+--------------------------------------------+-------------+
15 rows in set (0.00 sec)

2.slave

mysql> show global status like 'rpl%';
+----------------------------+-------------+
| Variable_name              | Value       |
+----------------------------+-------------+
| Rpl_semi_sync_slave_status | ON          |
| Rpl_status                 | AUTH_MASTER |
+----------------------------+-------------+
2 rows in set (0.00 sec)






你可能感兴趣的:(MySQL5.5半同步复制配置安装)