MySQL5.5各架构复制
实现主服务器和从服务器之间的数据复制,关于mysql的安装这里不在重复叙述,如有需要可参考其他文档,这里假设两个节点的服务器已
本文档将要介绍的内容:
1、mysql的主从复制的配置
2、配置半同步
3、基于SSL的复制
4、复制过滤
5、主主模型
一、系统环境
master: 192.168.56.101
slave: 192.168.56.102
基于MySQL-5.5.24
实现主服务器和从服务器之间的数据复制,关于mysql的安装这里不在重复叙述,如有需要可参考其他文档,这里假设两个节点的服务器已经安装完成并能够正常启动。
二、配置的mysql主从复制
1、配置主服务器
1.1、编辑MySQL主配置文件
[root@master ~]# vim /etc/my.cnf //编辑配置文件确保有以下两行
log-bin=mysql-bin //定义开启二进制日志
server-id = 1 //定义server-id,主从服务器的id不能一样
1.2、建立具有复制权限的用户
[root@master ~]# /usr/local/mysql/bin/mysql -uroot -p
mysql> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO cpmysql@'192.168.56.102' IDENTIFIED BY 'cpmysql'; //创建cpmysql用户并设置密码为cpmysql
mysql> FLUSH PRIVILEGES; //刷新授权表
查看当前使用的二进制文件和Posotions数值,后边在从服务器上要设置这两个值
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 358 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.05 sec)
2、配置从服务器
2.1、编辑MySQL主配置文件
[root@slave ~]# vim /etc/my.cnf
#log-bin=mysql-bin //可选,关闭二进制日志文件
server-id = 11 //定义server-id不能和主服务器相同
relay-log=mysql-relay //开启中继日志且名称为mysql-relay
[root@slave ~]# service mysqld restart //重新启动mysql以使新配置生效
[root@slave ~]# /usr/local/mysql/bin/mysql -u root -p //以root用户登录mysql
确认relay_log已开启:
mysql> SHOW GLOBAL VARIABLES LIKE 'relay_log';
+---------------+-------------+
| Variable_name | Value |
+---------------+-------------+
| relay_log | mysql-relay |
+---------------+-------------+
1 row in set (0.00 sec)
确认server_id配置生效其直不能与主服务器相同
mysql> SHOW GLOBAL VARIABLES LIKE 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 11 |
+---------------+-------+
1 row in set (0.00 sec)
2.2、配置主服务器相关参数
mysql> CHANGE MASTER TO MASTER_HOST='192.168.56.101',MASTER_USER='cpmysql',MASTER_PASSWORD='cpmysql',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=358;
说明:MASTER_LOG_FILE和MASTER_LOG_POS参数的值要和上边在主服务器上查询到的值一致。
启动从服务器进程
mysql> START SLAVE;
Query OK, 0 rows affected (0.00 sec)
查询从服务器状态,能看到Slave_IO_Running和Slave_SQL_Running两个进程运行状态为Yes
mysql> SHOW SLAVE STATUS\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.56.101
Master_User: cpmysql
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 358
Relay_Log_File: mysql-relay.000002
Relay_Log_Pos: 253
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
...
如果出现其他异常情况造成不能启动,可查看mysql的错误日志,里边有详细的错误信息,例如这里为/mysqldata/slave.err
3、测试主从复制配置是否成功
在主服务器上创建一个数据库testdb
[root@master ~]# /usr/local/mysql/bin/mysql -u root -p
mysql> CREATE DATABASE testdb;
Query OK, 1 row affected (0.01 sec)
在从服务器上查看是否已经成功复制过来
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| testdb |
+--------------------+
5 rows in set (0.05 sec)
可以看到已经成功复制。
4、一些建议配置
4.1、在主服务器上开启随时同步二进制日志至文件中,默认主服务器生成的二进制日志先放在缓存中,而从服务器需要靠主服务器上生成的二进制文件来保持和主服务器的一致,所以应该让主服务器产生二进制文件后立即同步至二进制日志文件中。
修改MySQL的主配置文件my.cnf添加如下行:
[root@master ~]# vim /etc/my.cnf
sync_binlog=1
[root@master ~]# service mysqld restart //重启mysql服务使配置生效
在主服务器上查询参数是否生效
mysql> SHOW GLOBAL VARIABLES LIKE 'sync_binlog';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| sync_binlog | 1 |
+---------------+-------+
1 row in set (0.00 sec)
4.2、适用于innodb引擎,使没一次产生的事务日志同步到磁盘之后才返回成功,这样可以有助于保证事务日志的安全性,避免因为特殊原因造成事务日志的丢失,但这样也会降低在执行大量需要记录事务日志操作时的执行速度。
修改Mysql的主配置文件my.cnf添加如下行:
[root@master ~]# vim /etc/my.cnf
innodb_flush_logs_at_trx_commit=1
4.3、设置从服务器为只读,避免误操作造成主从服务器的数据不一致
[root@slave ~]# vim /etc/my.cnf
read_only=1
5、如果主服务器运行了一段时间,从服务器为新增的服务器时就不能根据以上方法来配置了,需要现在主服务器上备份:
先在主服务器上给mysql施加读锁
mysql> FLUSH TABLES WITH READ LOCK;
Query OK, 0 rows affected (0.00 sec)
通过逻辑卷创建快照备份mysql,这里假设mysql的数据目录的挂载的设备为/dev/mysqlvg/mysqllv
[root@master ~]# lvcreate -L 50M -s -p r -n mysql-snap /dev/mysqlvg/mysqllv
在逻辑卷上创建好快照之后查看当前mysqld的二进制文件及Position的数值,完成后立即释放之前施加的读锁
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 478 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
释放读锁:
mysql> UNLOCK TABLES;
Query OK, 0 rows affected (0.00 sec)
挂载刚创建的逻辑卷快照并备份至从服务器
[root@master ~]# mount /dev/mysqlvg/mysql-snap /mnt
[root@master ~]# tar cf allmysql.tar /mnt/ //如果数据文件过大就压缩
拷贝该归档文件至从服务器,把内容覆盖至从服务器mysql的数据目录,并移除逻辑卷快照
[root@master ~]# umount /mnt
[root@master ~]# lvremove /dev/mysqlvg/mysql-snap
其他步骤与上边的从服务器配置相同,参考-->2.2、配置主服务器相关参数,,注意替换:MASTER_LOG_FILE和MASTER_LOG_POS参数的值为释放读锁时查看到的信息。
至此就可以实现主从复制了。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Datensicherung und Wiederherstellung nach Fehlern: Diskussion über die Bedeutung der MySQL-Master-Slave-Replikation im Cluster-Modus. Einführung: In den letzten Jahren sind Datenbanksicherung und Wiederherstellung nach Fehlern aufgrund des kontinuierlichen Wachstums des Datenumfangs und der Datenkomplexität besonders wichtig geworden. In verteilten Systemen wird die MySQL-Master-Slave-Replikation häufig im Cluster-Modus verwendet, um hohe Verfügbarkeit und Fehlertoleranz zu gewährleisten. In diesem Artikel wird die Bedeutung der MySQL-Master-Slave-Replikation im Cluster-Modus untersucht und einige Codebeispiele gegeben. 1. Grundprinzipien und Vorteile der MySQL-Master-Slave-Replikation Die MySQL-Master-Slave-Replikation ist allgemeingültig

Optimierung der Datenbankleistung: Der beste Weg, die MySQL-Master-Slave-Replikation in der Cluster-Technologie zu nutzen Zusammenfassung: Mit der rasanten Entwicklung des Internets sind Probleme mit der Datenbankleistung in den Fokus verschiedener Unternehmen und Organisationen gerückt. Die MySQL-Master-Slave-Replikationstechnologie spielt eine wichtige Rolle bei der Lösung von Engpässen bei der Datenbankleistung. In diesem Artikel werden die Konzepte und Prinzipien der MySQL-Master-Slave-Replikation sowie die besten Einsatzmethoden der Cluster-Technologie vorgestellt, um den Lesern bei der Optimierung der Datenbankleistung zu helfen. 1. Einleitung Da die Datenmenge weiter zunimmt, treten Probleme mit der Datenbankleistung immer stärker in den Vordergrund. So optimieren Sie Zahlen

Hohe Parallelität problemlos bewältigen: Analyse der Leistungsvorteile der MySQL-Master-Slave-Replikation als Cluster-Technologie Mit der rasanten Entwicklung des Internets haben Benutzerbesuche auf Websites und Anwendungen einen explosiven Wachstumstrend gezeigt. In dieser Situation hoher Parallelität ist die Sicherstellung der Systemstabilität und -leistung zu einer wichtigen Aufgabe für jeden Entwickler und Systemadministrator geworden. In Datenbanken ist die MySQL-Master-Slave-Replikationstechnologie weit verbreitet und hat sich zu einer der effektivsten Lösungen für den Umgang mit hoher Parallelität entwickelt. In diesem Artikel werden die Leistungsvorteile der MySQL-Master-Slave-Replikation als Cluster-Technologie untersucht. Erste

Entschlüsselung der MySQL-Master-Slave-Replikation: Offenlegung des wichtigsten Implementierungsmechanismus im Cluster-Modus Einführung: In modernen Datenbanksystemen sind hohe Verfügbarkeit und Flexibilität der Daten sehr wichtig. Als relationales Open-Source-Datenbankverwaltungssystem bietet MySQL ein breites Anwendungsspektrum zur Erfüllung der Benutzeranforderungen. Die Master-Slave-Replikation von MySQL ist ein sehr wichtiger Teil der MySQL-Datenbankarchitektur und wird verwendet, um Datensicherung und Hochverfügbarkeit zu erreichen. Dieser Artikel konzentriert sich auf die Offenlegung des wichtigsten Implementierungsmechanismus der MySQL-Master-Slave-Replikation, insbesondere im Cluster-Modus.

Ist die MySQL-Master-Slave-Replikation eine Cluster-Technologie oder eine Lastausgleichstechnologie? Zusammenfassung der Analyse und Unterschiede: Die MySQL-Master-Slave-Replikation ist eine Datenbankreplikationstechnologie, die zum Synchronisieren von Datenbankdaten auf mehreren Servern verwendet wird. In diesem Artikel werden die Unterschiede zwischen MySQL-Master-Slave-Replikation, Cluster-Technologie und Lastausgleichstechnologie hinsichtlich technischer Prinzipien, Anwendungsszenarien und Funktionsmerkmale analysiert und unterschieden. Einleitung: In modernen Internetanwendungen sind eine hohe Verfügbarkeit und Skalierbarkeit von Datenbanken von entscheidender Bedeutung. Die MySQL-Master-Slave-Replikation ist jedoch eine der gängigsten Lösungen.

Ausführliche Erläuterung der Funktionen und Vorteile der MySQL-Master-Slave-Replikation in der Cluster-Technologie. Einführung: MySQL ist ein leistungsstarkes relationales Datenbankverwaltungssystem, das in verschiedenen großen Websites und Anwendungen weit verbreitet ist. Mit zunehmender Datenmenge und Zugriffsanforderungen nimmt der Druck auf einen einzelnen MySQL-Server allmählich zu. Um die Leistung und Zuverlässigkeit der Datenbank zu verbessern, beginnen die Menschen mit der Einführung der Cluster-Technologie, zu der auch die MySQL-Master-Slave-Replikation gehört häufig verwendete Technologien. Das Prinzip der MySQL-Master-Slave-Replikation bezieht sich auf die MySQL-Master-Slave-Replikation

Nutzung des Cluster-Technologiepotenzials der MySQL-Master-Slave-Replikation: Vergleichende Bewertung von Open-Source-Lösungen und kommerziellen Lösungen Mit der kontinuierlichen Entwicklung des Internetgeschäfts und der zunehmenden Datenmenge ist die Nachfrage nach Datenbank-Cluster-Lösungen immer größer geworden. Die MySQL-Master-Slave-Replikationstechnologie erfüllt genau diese Anforderung. Sie kann die Lese- und Schreibvorgänge der Datenbank separat auf mehreren Knoten verarbeiten und so die Leseleistung und Verfügbarkeit der Datenbank verbessern. In diesem Artikel wird das Potenzial der Cluster-Technologie bei der MySQL-Master-Slave-Replikation untersucht und eine vergleichende Bewertung von Open-Source-Lösungen und kommerziellen Lösungen durchgeführt.

Mit der rasanten Entwicklung des Internets nehmen die Datenmengen in Anwendungssystemen zu und auch die Anforderungen an die Leistung und Zuverlässigkeit der Datenbanken werden immer höher. Als eine der am häufigsten verwendeten relationalen Open-Source-Datenbanken verfügt MySQL über eine hohe Leistung und Stabilität und wird häufig in verschiedenen Anwendungen auf Unternehmensebene eingesetzt. Als häufig verwendete Datenreplikationslösung kann die MySQL-Master-Slave-Replikation die Datenzuverlässigkeit sowie die Lese- und Schreibleistung verbessern und wird häufig in großen Datenanwendungen eingesetzt. Die Clusterfunktion der MySQL-Master-Slave-Replikation bezieht sich auf die Synchronisierung der Daten der Master-Datenbank über den Replikationsmechanismus.
