Get the App
SLTechnology News&Howtos  ›  Database  › 

MySQL master master replication

Shulou Source: shulou.com Published: 2022-06-01 14:03:26 09月29日 Update

MySQL master replication is actually a two-way synchronization based on master-slave replication.

Master-slave replication: operations on master will be synchronized to slave, operations on slave will not be synchronized to master

Master master replication: operations can be done to two MySQL, and both can be synchronized to another MySQL database.

one。 Configure master-slave replication

Please refer to the Master-Slave copy blog (http://guoxh.blog.51cto.com/10976315/1922643)

two。 Configure master master replication

1. Modify MySQL configuration file

Master: enable relay log

Edit / etc/my.conf add relay-log=relay-log-binrelay-log-index=slave-relay-bin.index restart Service [root@master~] # service mysqld restart

Slave: open binary log

Edit / etc/my.conf add log-bin=master-binlog-slave-update=true restart service [root@slave ~] # service mysqld restart

two。 Configure synchronization

In the previous article, you added an authorized account to master and configured synchronization on slave.

Here, you only need to configure slave to add authorized accounts, and configure synchronization operations on master.

Slave:

Mysql > grant replication slave on *. * to 'slave'@'192.168.0.%' identified by' 123456The query OK, 0 rows affected (0.00 sec) mysql > flush privileges;Query OK, 0 rows affected (0.00 sec) mysql > show master status +-+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +- -+-+ | master-bin.000001 | 106 | | +-+ 1 row in set (0.00 sec)

Master:

Mysql > change master to master_host='192.168.0.135',master_user='slave',master_password='123456',master_log_file='master-bin.000001',master_log_pos=106;Query OK, 0 rows affected (0.40 sec) mysql > start slave # start synchronous Query OK 0 rows affected (0.00 sec) mysql > show slave status\ G # View synchronization status * * 1. Row * * Slave_IO_State: Waiting for master to send event Master_Host: 192.168.0.135 Master_User: slave Master_Port: 3306 Connect_Retry: 60 Master_Log_File: master-bin.000005 Read_Master_Log_Pos: 106 Relay_Log_File: relay-log-bin.000012 Relay_Log_Pos: 252 Relay_Master_Log_File: master-bin.000005 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 106 Relay_Log_Space: 551 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_ SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 row in set (0.00 sec)

# Slave_IO and Slave_SQL indicate that synchronization is successful for YES.

three。 test

1. Create a new database on slave

Mysql > create database master;Query OK, 1 row affected (0.00 sec) mysql > show databases +-+ | Database | +-+ | information_schema | | aaa | | master | | mysql | | test | +-+ 5 rows in set (0.00 sec)

two。 Check on master

Mysql > show databases;+-+ | Database | +-+ | information_schema | | aaa | | master | | mysql | | test | +-+ 5 rows in set (0.00 sec)

3. Delete a database in master

Mysql > drop database aaa;Query OK, 0 rows affected (0.00 sec) mysql > show databases;+-+ | Database | +-+ | information_schema | | master | | mysql | | test | +-+ 4 rows in set (0.00 sec)

4. Check on slave

Mysql > show databases;+-+ | Database | +-+ | information_schema | | master | | mysql | | test | +-+ 4 rows in set (0.00 sec)

# at this point, the MySQL master replication configuration is complete!

Tags: Synchronization configuration master-slave data database log account service success binary bidirectional that is file status article previous relay reference test Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Linux Shulou Technology NVidia Huawei vpn