Heim > Datenbank > MySQL-Tutorial > Detaillierte Erläuterung der MySQL-Master-Slave-Konfiguration

Detaillierte Erläuterung der MySQL-Master-Slave-Konfiguration

藏色散人
Freigeben: 2020-03-13 08:51:30
nach vorne
2786 Leute haben es durchsucht

● Ich hatte vor, Cloud-Daten zu kaufen, um etwas Sicherheit für mein neues Projekt zu bieten. Alibaba Cloud und Tencent Cloud haben sich im Kreis gedreht, zwei Worte sind zu teuer. Gibt es kein Backup der Daten? In diesem Fall kann ich das Backup auch selbst durchführen.

● Ich habe zwei Raspberry Pis zu Hause und sichere MySQL direkt darauf. Es gibt Tutorials im Internet, also fange ich hier an. Ich habe mehrere Artikel zu segmentfault mysql durchsucht und bin den Anweisungen gefolgt. Wäre es erfolgreich gewesen, hätte ich diesen Artikel nicht geschrieben. PS: Ihre Tutorials sind alle korrekt.

● Beginnen wir nun mit der Konfiguration der Master- und Slave-Server, genau wie in den Online-Tutorials, weil ich sie mir gerade angesehen habe.

1. Master-Einstellungen (Master)

Ändern Sie die MySQL-Konfigurationsdatei, normalerweise in /etc/mysql/my.conf

server-id=1 //设置mysql的id标识
log-bin=/var/lib/mysql/mysql-bin  //log-bin的日志文件,主从备份就是用这个日志记录来实现的
#binlog-do-db=mysql1 #需要备份的数据库名,如果备份多个数据库,重复设置这个选项 即可
#binlog-ignore-db=mysql2 #不需要备份的数据库名,如果备份多个数据库,重复设置这 个选项即可
#log-slave-updates=1 #这个参数当从库又作为其他从库的主库时一定要加上,否则不会给更新的记录写到binglog里二进制文件里
#slave-skip-errors=1 #是跳过错误,继续执行复制操作(可选)
Nach dem Login kopieren

Fügen Sie 2 im Haupt-MySQL für synchronisiert hinzu Konto

mysql>grant replication slave on *.* to 'sync-1'@'%' identified by '123456';
mysql>grant replication slave on *.* to 'sync-2'@'%' identified by '123456';
Nach dem Login kopieren

msql neu starten

mysql>show master status; //可以查看主mysql状态
Nach dem Login kopieren

2. Ändern Sie die MySQL-Konfigurationsdatei my.conf in den Einstellungen (Slave)

. Die beiden Slave-Knoten werden auf die gleiche Weise konfiguriert.

server-id=2
#log-bin=/var/lib/mysql/mysql-bi //从mysql可以不用设置日志文件
Nach dem Login kopieren

Nach dem Hinzufügen von Befehlsparametern aus MySQL können „master_log_file“ und „master_log_pos“ mit „show master status in master mysql“ abgefragt werden.

mysql>change master to master_host='192.168.145.222',master_user='sync-1',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=308;  
mysql>start slave //启动
mysql>show slave status\G //查询状态,Slave_IO_Running 和Slave_IO_Running都为yes表示成功
Nach dem Login kopieren

3. Probleme bei der Einstellung

Last_Errno: 1146
Nach dem Login kopieren

Wann Beim Einrichten des Slaves hatte mein Master-MySQL zu diesem Zeitpunkt bereits eine Tabelle. Das Binärprotokoll der Slave-MySQL konnte die Daten nicht manuell in die erstellen Slave-MySQL; Der Grund dafür ist, dass die Online-Tutorials alle neu installierte Master-MSQL und Slave-MySQL sind und es kein Problem mit vorhandenen Daten gibt.

Last_Errno: 1062
Error 'Duplicate entry 'xxxxx' for key 'PRIMARY'' on query
Nach dem Login kopieren

Dieses Problem ist komplizierter. Es sollte sein, dass die Einstellungen der Tabellen später auf Stack Overflow falsch sind Video-Tutorial, Adresse:

https://www.php.cn/course/list/51.html

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der MySQL-Master-Slave-Konfiguration. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage