✪衔接上文
部署MySQL主主双向主从复制< M-M>
(依据上次实验条件恢复快照再实验)
一、实验环境
主机名 IP 系统/MySQL版本 角色MASTER 192.168.231.129 CentOS7.4 5.5.60-MariaDB MasterSLAVE1 192.168.231.130 CentOS7.4 5.5.60-MariaDB slave模式 : C/S端口 : 3306
二、配置主数据库服务器master
master有两种身份:<1>:192.168.231.130的主服务器
<2>:192.168.231.130的从服务器
修改配置文件my.cfg
[root@master ~]# vim etc/my.cnf在[mysql]模块下插入以下命令
server-id = 1log-bin=mysql-bin-masterbinlog-do-db=HAbinlog-ignore-db=mysql
然后重新启动mysql服务
[root@master ~]# systemctl restart mariadb
接下来查看master主机状态
[root@master ~]# mysql -uroot -p8760346709 -e"show master status;"+-------------------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+-------------------------+----------+--------------+------------------+| mysql-bin-master.000001 | 427 | HA | mysql |+-------------------------+----------+--------------+------------------+

可以看到允许复制的库“HA”与不允许复制的库“mysql ”
接下来授权slave账号
MariaDB [(none)]> grant replication slave on *.* to slave@'192.168.231.%' identified by '123456';
###记得刷新授权表###
mysql> flush privileges;
最后把HA.sql文件传给slave
[root@master ~]# rsync HA.sql 192.168.231.130:~/
针对192.168.231.129主机配置已经修改完毕;
三、配置数据库服务器slave
首先修改my.cfg文件
[root@slave ~]# vim etc/my.cnf
同样的在[mysql]模块下插入
server-id = 2log-bin=mysql-bin-slavebinlog-do-db=HAbinlog-ignore-db=mysql
重启数据库服务
[root@slave ~]# systemctl restart mariadb
先测试一下从帐号登陆是否正常?
[root@slave ~]# mysql -uslave -p123456 -h 192.168.231.129
看到以下显示

登陆成功,退出
此时slave(30)主机的身份为master(29)主机的master,对从服务器进行授权:
MariaDB [(none)]> grant replication slave on *.* to slave@'192.168.231.%' identified by '123456';MariaDB [(none)]> show master status;

可以看到允许复制的库“HA”与不允许复制的库“mysql ”
此时slave(30)主机的身份为master(29)主机的slave,对从服务器进行授权:
MariaDB [(none)]> stop slave;MariaDB [(none)]> change master to master_host='192.168.231.129',master_user='slave',master_password='123456';MariaDB [(none)]> start slave;MariaDB [(none)]> show slave status\G*************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 192.168.231.129Master_User: slaveMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin-master.000001Read_Master_Log_Pos: 655Relay_Log_File: mariadb-relay-bin.000004Relay_Log_Pos: 536Relay_Master_Log_File: mysql-bin-master.000001Slave_IO_Running: YesSlave_SQL_Running: Yes

两个yes,代表成功!
四、返回master服务器进行配置
先测试一下从帐号登陆是否正常?
[root@master ~]# mysql -uslave -p123456 -h 192.168.231.130
返回结果如下

此时master(29)主机的身份为slave(30)主机的slave,对从服务器进行授权:
MariaDB [(none)]> \q[root@master ~]# mysql -u root -p8760346709MariaDB [(none)]> stop slave ;MariaDB [(none)]> change master to master_host='192.168.231.130',master_user='slave',master_password='123456';MariaDB [(none)]> start slave;MariaDB [(none)]> show slave status\G*************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 192.168.231.130Master_User: slaveMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin-slave.000004Read_Master_Log_Pos: 2305Relay_Log_File: mariadb-relay-bin.000006Relay_Log_Pos: 535Relay_Master_Log_File: mysql-bin-slave.000004Slave_IO_Running: YesSlave_SQL_Running: Yes

两个yes,代表成功!
五、数据测试
master与slave的起始状态如下:

master

slave
接下来对master数据库进行操作,过程与上一篇文章类似,不再批注
[root@master ~]# mysql -uroot -p8760346709MariaDB [(none)]> create database HA ;MariaDB [(none)]> use HAMariaDB [HA]> create table T1 (id int,name varchar(20));MariaDB [HA]> \qBye
单纯在maste服务器上创建HA库T1表,查看两个服务器变换!

master
这时候没有对slave服务器进行任何操作! 查看状态:

slave

slave
这时候反向测试,在slave服务器上插入数据!
MariaDB [HA]> insert into T1 values(1,'KaWaY1'),(2,'YuanYP');

slave
这时候返回master查看!

master
perfect
perfect
perfect
perfect
perfect
perfect
测试到此结束!




