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
Erstens: Aktion ist ein Attribut des Formulars. HT...
Verwenden Sie natives JS, um einen einfachen Rech...
Inhaltsverzeichnis 1. Einleitung 2. Komponentenen...
Inhaltsverzeichnis Nachdem Sie einen Container lo...
CSS3 – Schatten hinzufügen (mithilfe von Boxschat...
Tatsächlich ist es sehr einfach, Axios in Vue zu ...
Sondersymbole Benannte Entitäten Dezimalkodierung...
Die aktuelle Anforderung lautet: Es gibt eine Sch...
Streng genommen verfügt nginx nicht über eine Int...
Es gibt eine Frage, die Webdesigner schon lange b...
Dateiübertragung zwischen Windows und Linux (1) V...
Vorwort Im Internet gibt es häufig Artikel, die v...
Bei der Migration einer Oracle-Datenbank zu einer...
Das World Wide Web Consortium (W3C) hat einen Entw...
Öffnen Sie den Editor für geplante Aufgaben. Cent...