Was ist MyCAT
Hauptfunktionen von MyCAT
1. Hier wird mycat basierend auf der Implementierung der MySQL-Master-Slave-Replikation zur Lese- und Schreibtrennung verwendet. Das Architekturdiagramm ist wie folgt: 2. Demo 2.1 Erstellen Sie eine Datenbank auf dem MySQL-Master. Erstellen Sie db1 2.2 Tabelle „Student“ in Datenbank db1 erstellen Da die MySQL-Master-Slave-Replikation konfiguriert ist, befinden sich gleichzeitig auch die gleichen Datenbanken und Tabellen auf dem MySQL-Slave 2.3 Bearbeiten Sie die Mycat-Konfigurationsdatei server.xml <!-- gibt den Login-Benutzernamen von mycat an --> <Benutzername="test"> <!-- gibt das Anmeldekennwort von mycat an --> <property name="password">test</property> <!-- gibt den logischen Datenbanknamen von mycat an, der angepasst werden kann --> <Eigenschaftsname="schemas">TESTDB</Eigenschaft> </Benutzer> <Benutzername="Benutzer"> <property name="password">Benutzer</property> <Eigenschaftsname="schemas">TESTDB</Eigenschaft> <Eigenschaftsname="readOnly">wahr</Eigenschaft> </Benutzer> 2.4 Bearbeiten Sie die mycat-Konfigurationsdatei schema.xml <!--TESTDB stellt den logischen Datenbanknamen von mycat dar. Wenn der Schemaknoten keine untergeordnete Knotentabelle hat, muss das Attribut dataNode vorhanden sein (auf die echte MySQL-Datenbank verweisend). --> <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"> </schema> <!--Geben Sie die Masterdatenbank db1 an--> <dataNode name="dn1" dataHost="192.168.0.4" database="db1" /> <!--Geben Sie die Masteret-IP an --> <dataHost name="192.168.0.4" maxCon="1000" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <!--Zeigt den Heartbeat-Status von MySQL an--> <heartbeat>Benutzer auswählen()</heartbeat> <!-- Master ist für das Schreiben zuständig --> <writeHost host="hostM1" url="192.168.0.4:3306" Benutzer="root" Passwort="admin"> <!--Slave ist für das Lesen zuständig--> <readHost host="hostS2" url="192.168.0.5:3306" Benutzer="root" Passwort="admin" /> </writeHost> </dataHost> Zu diesem Zeitpunkt ist die Konfiguration der Verwendung von mycat zur Lese-/Schreibtrennung abgeschlossen Beachten Sie die folgenden drei Eigenschaften des dataHost-Knotens Balance, Schaltertyp, Schreibtyp balance="0", der Lese-/Schreibtrennungsmechanismus ist nicht aktiviert und alle Lesevorgänge werden an den aktuell verfügbaren Schreibhost gesendet. Balance = "1", alle ReadHosts und Standby-WriteHosts nehmen am Lastausgleich der Select-Anweisung teil. Einfach ausgedrückt, im Dual-Master- und Dual-Slave-Modus (M1->S1, M2->S2 und M1 und M2 sind gegenseitig Master und Slave) nehmen unter normalen Umständen M2, S1 und S2 alle am Lastausgleich der Select-Anweisung teil. Balance = "2", alle Lesevorgänge werden zufällig auf WriteHost und Readhost verteilt. Balance = "3", alle Leseanforderungen werden zur Ausführung zufällig an den Readhost unter WriteHost verteilt, und WriteHost trägt keinen Lesedruck writeType gibt den Schreibmodus an writeType="0", alle Operationen werden an den ersten konfigurierten Writehost gesendet writeType="1", nach dem Zufallsprinzip an alle konfigurierten Schreibhosts senden writeType="2", es wird kein Schreibvorgang ausgeführt switchType bezieht sich auf den Umschaltmodus und derzeit gibt es 4 mögliche Werte: switchType='-1' bedeutet keine automatische Umschaltung switchType='1' Standardwert, zeigt automatisches Umschalten an switchType='2' bestimmt, ob basierend auf dem Status der MySQL-Master-Slave-Synchronisierung gewechselt werden soll. Die Heartbeat-Anweisung lautet show slave status switchType='3' basiert auf dem Umschaltmechanismus des MySQL-Galary-Clusters (geeignet für Cluster) (1.4.1), und die Heartbeat-Anweisung zeigt den Status wie „wsrep%“ an. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
>>: Detaillierte Erläuterung zur Verwendung von Node.js zum Implementieren einer Hot-Reload-Seite
Docker entspricht einem Container, der je nach de...
1. Ein Container ist eine unabhängig laufende Anw...
<br />In einem Jahr Bloggen habe ich persönl...
Verwenden von c3p0 Importieren Sie das c3p0jar-Pa...
1. Klicken Sie unten in IDEA auf Terminal und geb...
Verwenden Sie den folgenden Befehl, um zu überprü...
Ich arbeite derzeit an elektronischen Archiven un...
Isolationsstufe: Isolation ist komplizierter als ...
Vorwort Ich glaube, dass jeder beim Erlernen von ...
Die EXPLAIN-Anweisung liefert Informationen darüb...
Hier ist ein Fall, den Frontend-Entwickler kennen...
Das mit vue-cli erstellte Projektgerüst hat den A...
Das Meta-Tag wird verwendet, um Dateiinformationen...
Nachdem ich einige Artikel gelesen hatte, habe ic...
Inhaltsverzeichnis 1. Wie entsteht Cross-Domain? ...