● 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 #是跳过错误,继续执行复制操作(可选)
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';
msql neu starten
mysql>show master status; //可以查看主mysql状态
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 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表示成功
3. Probleme bei der Einstellung
Last_Errno: 1146
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
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.htmlDas 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!