mysql dual master technical bis

First, prepare the environment

[root@localhost ~]# vim /etc/hosts

Master2 Master1 192.168.40.129 192.168.40.154                                                                                         
192.168.40.138 192.168.40.128 slave1 slave2
Note: Four virtual machine configuration are the same, and the firewall is turned off

Second, the main settings bis

master1 (its database is getting ready library in advance)

1、[root@localhost ~]# vim /etc/my.cnf

log_bin
server-id=1
gtid_mode=ON
enforce_gtid_consistency=1

2、[root@localhost ~]# systemctl restart mysqld

3、授权:mysql>grant replication slave,replication client on *.* to 'rep'@'192.168.40.%' identified by 'Zjz@5740';

4, mysql> flush privileges; (refresh)

5、备份:mysqldump -p'Zjz@5740' --all-databases --single-transaction --master-data=2 --flush-logs > `date +%F`-mysql-all.sql

6、#scp -r 2017-1-1-mysql-all.sql master2:/tmp

7, the split point was observed binary log

CHANGE MASTER TO MASTER_LOG_FILE='localhost-bin.000002', MASTER_LOG_POS=154;

master2

1, [root @ localhost ~] #vim /etc/my.cnf (binary log start, the server ID, GTID)

log_bin
server-id=2
gtid_mode=ON
enforce_gtid_consistency=1

2、[root@localhost ~]# systemctl restart mysqld

 Also manually synchronize data recovery

mysql>set sql_log_bin=0;

mysql>source /tmp/2017-1-1-mysql-full.sql

mysql>select * from master1db.master1tab;

3, the primary server

mysql> change master to
master_host='master1',
master_user='rep',
master_password='Zjz@5740',
master_auto_position=1;

start slave;

show slave status\G;

master1 recognize master2 based

master2授权:mysql>grant replication slave,replication client on *.* to 'rep'@'192.168.40.%' identified by 'Zjz@5740';

flush privileges; (refresh)

master1: primary server

mysql> change master to
master_host='master2',
master_user='rep',
master_password='Zjz@5740',
master_auto_position=1;

start slave;

show slave status\G;

mysqldump -p'Zjz@5740' --all-databases --single-transaction --master-data=2  --flush-logs > `date +%F`-mysql-all.sql

scp -r 2017-8-9-mysql-all.sql slave1:/tmp

scp -r 2017-8-9-mysql-all.sql slave2:/tmp

Third, the bis provided

slave1    # mysql -p'Zjz@5740' < /tmp/2017-8-9-mysql-all.sql

slave2     #mysql -p'Zjz@5740' < /tmp/2017-8-9-mysql-all.sql

Start from the server ID, gtid

slave1                                                              slave2

#vim /etc/my.cnf                                              # vim /etc/my.cnf
server-id=3                                                       server-id=4
gtid_mode=ON                                                 gtid_mode=ON
enforce_gtid_consistency=1                            enforce_gtid_consistency=1
master-info-repository=TABLE                        master-info-repository=TABLE
relay-log-info-repository=TABLE                     relay-log-info-repository=TABLE

#systemctl restart mysqld                                  #systemctl restart mysqld  

Primary server

Slave1 (identify two main servers)

mysql> change master to                                             mysql> change master to
master_host='master1',                                                master_host='master2',
master_user='rep',                                                        master_user='rep',
master_password='Zjz@5740',                                    master_password='Zjz@5740',
master_auto_position=1 for channel 'master1';            master_auto_position=1 for channel 'master1';

mysql>start slave;

mysql> show slave status \ G; (yes double success)

slave2 above operation

IV Summary

1, appears connettion, restart the computer to try

2, some of the steps and then stop slave operation

3、[root@slave1 ~]#  mysql -p'Zjz@5740' < /tmp/2019-08-29-mysql-all.sqlmysql:

[Warning] Using a password on the command line interface can be insecure.

ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUTED is empty.

Solution: mysql> reset master; (enter slave1)    

Query OK, 0 rows affected (0.10 sec)    

mysql> \q 

Bye

 

Guess you like

Origin www.cnblogs.com/zjz20/p/11427650.html