----本文大纲简介资源配置拓扑图实现过程====================一、简介mmm即master-masterreplicationmanagerformysql(mysql主主复制管理器)关于mysql主主复制
方案优缺点
主机属性
系统名字角色主机名ip地址关系
centos6.5x86_64db1
masteressun.mariadb1.com192.168.1.109与db2互为主从
centos6.5x86_64db2masteressun.mariadb2.com192.168.1.112
与db1互为主从
centos6.5x86_64db3slaveessun.mariadb3.com192.168.1.113
db1的从库
centos6.5x86_64monitormonitoressun.monitor.com192.168.1.116
监控所有主机
虚拟ip(vip)
db1 192.168.1.109 `192.168.1.24
db2 192.168.1.112 192.168.1.24,192.168.1.22
db3 192.168.1.113 192.168.1.23
三、拓扑图
四、实现过程
1、配置db1
修改配置文件/etc/my.cnf,添加如下语句
server-id=1log_bin=/mariadb/data/mysql-binbinlog_format=rowlog-slave-updatessync_binlog=1auto_increment_increment=2auto_increment_offset=1授权用户
mariadb [(none)]> grant replication slave,replication client on *.* to 'repluser'@'192.168.1.112' identified by 'replpass';query ok, 0 rows affected (0.12 sec)mariadb [(none)]> grant replication slave,replication client on *.* to 'repluser'@'192.168.1.113' identified by 'replpass';query ok, 0 rows affected (0.00 sec)查看binlog日志标记
mariadb [(none)]> show master status;+------------------+----------+--------------+------------------+| file| position | binlog_do_db | binlog_ignore_db |+------------------+----------+--------------+------------------+| mysql-bin.000003 |756 |||+------------------+----------+--------------+------------------+1 row in set (0.00 sec)2、配置db2
修改配置文件/etc/my.cnf,添加如下语句
log-bin=mysql-binbinlog_format=rowlog-slave-updatessync_binlog=1auto_increment_increment=2auto_increment_offset=2server-id=2授权用户
mariadb [(none)]> grant replication slave,replication client on *.* to 'repluser'@'192.168.1.109' identified by 'replpass';query ok, 0 rows affected (0.15 sec)查看binlog日志标记
mariadb [(none)]> show master status;+------------------+----------+--------------+------------------+| file| position | binlog_do_db | binlog_ignore_db |+------------------+----------+--------------+------------------+| mysql-bin.000007 |548 |||+------------------+----------+--------------+------------------+1 row in set (0.00 sec)连接db1
mariadb [(none)]> change master to master_host='192.168.1.109',master_user='repluser',master_password='replpass',master_log_file='mysql-bin.000003',master_log_pos=756;query ok, 0 rows affected (0.06 sec)mariadb [(none)]> start slave;query ok, 0 rows affected (0.06 sec)mariadb [(none)]> show slave status\g*************************** 1. row ***************************slave_io_state: waiting for master to send eventmaster_host: 192.168.1.109master_user: replusermaster_port: 3306connect_retry: 60master_log_file: mysql-bin.000003read_master_log_pos: 756relay_log_file: essun-relay-bin.000002relay_log_pos: 535relay_master_log_file: mysql-bin.000003slave_io_running: yesslave_sql_running: yesreplicate_do_db:replicate_ignore_db:replicate_do_table:replicate_ignore_table:replicate_wild_do_table: replicate_wild_ignore_table:last_errno: 0last_error:skip_counter: 0exec_master_log_pos: 756relay_log_space: 832until_condition: noneuntil_log_file:until_log_pos: 0master_ssl_allowed: yesmaster_ssl_ca_file: /etc/slave/cacert.pemmaster_ssl_ca_path:master_ssl_cert: /etc/slave/mysql.crtmaster_ssl_cipher:master_ssl_key: /etc/slave/mysql.keyseconds_behind_master: 0master_ssl_verify_server_cert: nolast_io_errno: 0last_io_error:last_sql_errno: 0last_sql_error: replicate_ignore_server_ids:master_server_id: 1master_ssl_crl: /etc/slave/cacert.pemmaster_ssl_crlpath:using_gtid: nogtid_io_pos:1 row in set (0.00 sec)3、配置db3
修改配置文件/etc/my.cnf添加如下语句
server-id=3log-bin=mysql-binlog-slave-updatesrelay-log=relay-log-bin连接db1
mariadb [(none)]> change master to master_host='192.168.1.109',master_user='repluser',master_password='replpass',master_log_file='mysql-bin.000003',master_log_pos=756;query ok, 0 rows affected (0.03 sec)mariadb [(none)]> start slave;query ok, 0 rows affected (0.00 sec)mariadb [(none)]> show slave status\g*************************** 1. row ***************************slave_io_state: waiting for master to send eventmaster_host: 192.168.1.109master_user: replusermaster_port: 3306connect_retry: 60master_log_file: mysql-bin.000003read_master_log_pos: 756relay_log_file: relay-log-bin.000002relay_log_pos: 535relay_master_log_file: mysql-bin.000003slave_io_running: yesslave_sql_running: yesreplicate_do_db:replicate_ignore_db:replicate_do_table:replicate_ignore_table:replicate_wild_do_table: replicate_wild_ignore_table:last_errno: 0last_error:skip_counter: 0exec_master_log_pos: 756relay_log_space: 830until_condition: noneuntil_log_file:until_log_pos: 0master_ssl_allowed: yesmaster_ssl_ca_file: /etc/slave/cacert.pemmaster_ssl_ca_path:master_ssl_cert: /etc/slave/mysql.crtmaster_ssl_cipher:master_ssl_key: /etc/slave/mysql.keyseconds_behind_master: 0master_ssl_verify_server_cert: nolast_io_errno: 0last_io_error:last_sql_errno: 0last_sql_error: replicate_ignore_server_ids:master_server_id: 1master_ssl_crl: /etc/slave/cacert.pemmaster_ssl_crlpath:using_gtid: nogtid_io_pos:1 row in set (0.00 sec)