Dieser Artikel stellt Ihnen hauptsächlich die relevanten Informationen zur Implementierung einiger Tabellen der Dual-Master-Synchronisierung in MySQL 5.7 vor. Der Artikel stellt sie ausführlich anhand von Beispielcode vor. Es hat einen gewissen Referenz-Lernwert, den jeder lernen oder verwenden kann MySQL. Freunde, die es brauchen. Lasst uns mit dem Editor unten lernen.
Vorwort
Aufgrund des firmeneigenen Geschäfts ist eine bidirektionale Datensynchronisierung in Echtzeit für einige Tabellen erforderlich . Und die Ausfallzeit einer der Datenbanken hat keine Auswirkungen auf die andere Datenbank. Zeichnen Sie hier Ihre eigene technische Recherche auf, um sie später bei der Rekonstruktion zu verwenden. Im Folgenden gibt es nicht viel zu sagen. Werfen wir einen Blick auf die ausführliche Einführung.
Installieren Sie MySQL5.7
Es wird empfohlen, direkt auf die offizielle Website zu gehen und die Yum-Quelle herunterzuladen, um sie schließlich zu installieren ist sicher und einfach zu installieren.
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm yum -y install mysql57-community-release-el7-11.noarch.rpm yum -y install mysql-server # 安装MySQL5.7 systemctl start mysqld # 启动MySQL
Dual-Master konfigurieren
my.cnf-Konfiguration
Hier ist nur eine einfache Anleitung Bei der Dual-Master-Konfiguration gibt es keine Optimierung in Bezug auf die Datenbank. Wenn eine Optimierung erforderlich ist, können Sie privat chatten.
Die Konfiguration von MySQL1 ist wie folgt
[mysqld] vim /etc/my.cnf datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid skip_name_resolve=ON #设置简单密码 validate_password_policy=0 validate_password_length=1 ###主配置 log_bin=bin_log server-id=1 binlog-do-db=ziyun # 允许从复制的哪一个库 slave_parallel_type='logical_clock' #设置复制类型为 LOGICAL_CLOCK slave_parallel_workers=4 #设置并行数量为 4 ###从配置 relay-log=relay-bin relay-log-index=relay-bin.index replicate-do-db=ziyun # 允许复制主服务的库 replicate-do-table=ziyun.test1 # 允许复制主服务的库的哪一张表 replicate-do-table=ziyun.test2
Die Konfiguration von MySQL2 ist im Grunde die gleiche wie oben, außer dass eine server-id=2
wird geändert und die anderen bleiben unverändert.
MySQL-Befehlskonfiguration
Die folgenden werden alle in der SQL-Befehlszeilenschnittstelle konfiguriert
Hauptkonfiguration:
mysql> CREATE USER 'slave'@'192.168.1.100' IDENTIFIED BY '123.com'; mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.1.100'; # 授权复制的用户和密码 mysql> show master status; +-----------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +-----------------+----------+--------------+------------------+-------------------+ | bin_log.000002 | 8384 | ziyun | | | +-----------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
Slave-Konfiguration:
mysql> CHANGE MASTER TO -> MASTER_HOST='192.168.1.101', -> MASTER_USER='slave', -> MASTER_LOG_FILE='bin_log.000002', -> MASTER_LOG_POS=8384; Query OK, 0 rows affected, 2 warnings (0.01 sec) mysql> start slave; Query OK, 0 rows affected (0.01 sec) mysql> show slave status\G Slave_IO_Running: Yes Slave_SQL_Running: Yes # 确定以上都为yes,并且无任何报错即可
Die gleiche Konfiguration kann sein gemacht auf MySQL2
Dual-Master-Synchronisationstest
Hier habe ich zuvor auf beiden Seiten eine Ziyun-Datenbank erstellt und die Tabelle test1 test2 test3 erstellt . Die Testergebnisse lauten wie folgt:
Zusammenfassung
Das obige ist der detaillierte Inhalt vonEinführung in den Prozess zur Implementierung der Dual-Master-Synchronisation von Teiltabellen in MySQL5.7. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!