Um eine große Anzahl gleichzeitiger Besuche bewältigen zu können, benötigen große Websites mehr als nur eine verteilte Lastverteilung auf der Website. Wenn auf der Datengeschäftsebene und der Datenzugriffsebene weiterhin die herkömmliche Datenstruktur verwendet wird oder nur ein Server zum Einsatz kommt, stürzt die Datenbank aufgrund der vielen Datenbankverbindungsvorgänge zwangsläufig ab, und die Folgen eines Datenverlusts sind noch katastrophaler. Zu diesem Zeitpunkt werden wir überlegen, wie wir die Anzahl der Datenbankverbindungen reduzieren können. Einerseits werden wir ein hervorragendes Code-Framework verwenden, um den Code zu optimieren, und eine hervorragende Daten-Caching-Technologie wie Memcached einsetzen. Wenn wir über ausreichende Mittel verfügen, werden wir definitiv darüber nachdenken, einen Servercluster anzunehmen, um den Druck der Hauptdatenbank zu verteilen. Ok, kommen wir zum Thema des heutigen Artikels. Verwenden Sie die MySQL-Master-Slave-Konfiguration, um eine Lese-/Schreibtrennung zu erreichen und den Datenbankdruck zu reduzieren. Diese Methode wird heutzutage auf vielen Websites verwendet und ist nichts Neues. Ich werde sie heute zu Ihrer Information zusammenfassen. Übersicht: Einrichten eines Master-Servers (Win8.1-System, IP: 192.168.0.104) und zwei Slave-Servern (virtuelle Maschinen – eine Ubuntu, eine Windows Server 2003) Prinzip: Der Master-Server ist für die Nichtabfragevorgänge der Website verantwortlich, und der Slave-Server ist für die Abfragevorgänge verantwortlich. Benutzer können gemäß dem Funktionsmodell der Website auf festgelegte Weise auf den Slave-Server zugreifen oder einen Pool oder eine Warteschlange schreiben, um Slave-Serververbindungen für Anforderungen frei zuzuweisen. Die Master- und Slave-Server verwenden binäre MySQL-Protokolldateien, um eine Datensynchronisierung zu erreichen. Das Binärprotokoll wird vom Masterserver generiert und der Slaveserver antwortet, um die synchronisierte Datenbank zu erhalten. Konkrete Umsetzung: 1. Installieren Sie die MySQL-Datenbank sowohl auf dem Master- als auch auf dem Slave-Server. Ich habe die Version mysql_5.5.25.msi auf einem Windows-System und mysql-5.6.22-linux-glibc2.5-i686.tar auf Ubuntu installiert. Ich werde nicht über die Installation von MySQL unter Windows sprechen, da die meisten Menschen auf der Erde wissen sollten, wie das geht. Lassen Sie mich ein wenig über die Installation von MySQL unter Ubuntu sprechen. Ich schlage vor, es nicht online herunterzuladen und zu installieren. Es ist besser, es offline zu installieren. Sie können sich auf https://www.jb51.net/article/157282.htm beziehen. Ich weiß nicht, ob diese Person ein Bruder oder eine Schwester ist, aber sie hat es sehr gut geschrieben und Sie können es entsprechend installieren. Während der Installation können verschiedene Probleme auftreten. Sie können die folgenden Lösungen verwenden: (1) Wenn Sie nicht als Root-Benutzer angemeldet sind, empfiehlt es sich, bei der Installation mit su - root zum Root-Benutzer zu wechseln. Auf diese Weise müssen Sie nicht ständig sudo verwenden. (2) Speichern Sie den entpackten MySQL-Ordner. Am besten ändern Sie den Ordnernamen in MySQL (3) Beim Starten von MySQL mit ./support-files/mysql.server start kann eine Warnung angezeigt werden. Die chinesische Bedeutung ist, dass beim Starten des Dienstes zum Ausführen der Lesedatei die Datei my.cnf ignoriert wurde. Dies liegt daran, dass ein Problem mit den Dateiberechtigungen von my.cnf vorliegt. MySQL betrachtet die Datei als gefährlich und führt sie nicht aus. MySQL wird jedoch weiterhin erfolgreich gestartet. Wenn Sie jedoch die Datei my.cnf in den Serverparametern in der folgenden Konfiguration ändern, werden Sie feststellen, dass die Datei geändert wurde. Wenn Sie den Dienst jedoch neu starten, wird die geänderte Konfiguration nicht ausgeführt. Wenn Sie sie auflisten, finden Sie im MySQL-Ordner viele Zwischendateien wie .my.cnf.swp. Dies liegt daran, dass MySQL my.cnf beim Start nicht liest. Ändern Sie zu diesem Zeitpunkt einfach die Dateiberechtigungen von my.cnf auf die gleichen Berechtigungen wie my_new.cnf. Der Befehl: chmod 644 my.cnf ist in Ordnung. (4) In Ubuntu gibt es kein Vim, um Dokumentinhalte zu ändern. Am besten installieren Sie Vim, apt-get install vim, sonst werden Sie wahrscheinlich verrückt. An diesem Punkt glaube ich, dass MySQL installiert sein sollte. 2. Konfigurieren Sie den Masterserver (1) Erstellen Sie einen Benutzer „repl“ auf dem Master-MySQL-Server und erlauben Sie anderen Slave-Servern, per Fernzugriff auf den Master-Server zuzugreifen und die Binärprotokolle über diesen Benutzer zu lesen, um eine Datensynchronisierung zu erreichen. (2) Suchen Sie den MySQL-Installationsordner und ändern Sie die Datei my.Ini. Es gibt mehrere Protokollierungsmethoden in MySQL, auf die wir heute jedoch nicht näher eingehen. Wir müssen nur das Binärprotokoll log-bin starten. Fügen Sie unter [mysqld] folgende Codezeilen ein (3) Protokolle anzeigen mysql> MASTER-STATUS ANZEIGEN; +-------------------+----------+--------------+------------------+ | Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | +-------------------+----------+--------------+------------------+ | master-bin.000001 | 1285 | | | +-------------------+----------+--------------+------------------+ 1 Zeile im Satz (0,00 Sek.) Starten Sie den MySQL-Dienst neu 3. Konfigurieren Sie den Slave-Server (Windows) (1) Suchen Sie den MySQL-Installationsordner und ändern Sie die Datei my.ini. Fügen Sie unter [mysqld] die folgenden Codezeilen hinzu. Starten Sie den MySQL-Dienst neu (2) Verbindung zum Master herstellen Ändere den Master in master_host='192.168.0.104', //IP des Masterservers master_port=3306, master_user='repl', Master-Passwort = "mysql", master_log_file='master-bin.000001', //Vom Masterserver generiertes Protokoll master_log_pos=0; (3) Starten des Slaves Slave starten; 4. Slave-Server (Ubuntu) (1) Suchen Sie den MySQL-Installationsordner und ändern Sie die Datei my.cnf, vim my.cnf (2) ./support-files/myql.server restart, um den MySQL-Dienst neu zu starten, ./bin/mysql, um das MySQL-Befehlsfenster aufzurufen (3) Verbindung zum Master herstellen Ändere den Master in master_host='192.168.0.104', //IP des Masterservers master_port=3306, master_user='repl', Master-Passwort = "mysql", master_log_file='master-bin.000001', //Vom Masterserver generiertes Protokoll master_log_pos=0; (4) Starten des Slaves Slave starten; OK, alle Konfigurationen sind abgeschlossen. Jetzt können Sie es in Master MySQL testen. Da wir alle Betriebsprotokolle von Master MySQL überwachen, wird jeder Vorgang, der die Datenbank des Masterservers ändert, mit dem Slave-Server synchronisiert. Erstellen Sie eine Datenbank und eine Tabelle, um es auszuprobieren. . Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: Zusammenfassung der Implementierungsmethoden und Punkte der H5-Wakeup-APP
>>: Zusammenfassung der Kenntnisse und der Verwendung von Linux-VI-Befehlen
So schreiben Sie mithilfe von Filtern transparente...
Erstellen Sie in MySQL eine Ansicht für zwei oder...
Inhaltsverzeichnis 1. Einleitung 2. Einfache Defi...
Inhaltsverzeichnis 1. Testumgebung 1.1 Hardware u...
Tabellenfelder hinzufügen alter table table1 add ...
Vorwort: Vor Kurzem werde ich mit meinen Partnern...
Projektszenario: Dark Horse Vue Projektmanagement...
In diesem Artikel wird der spezifische JavaScript...
Geben Sie den Ordner /etc/yum.repos.d/ ein Erstel...
Wenn wir Stapeloperationen für einen Dateityp aus...
Redis ist ein verteilter Cache-Dienst. Caching is...
Szenariosimulation: Einige inländische Unternehme...
Beschreibung der HTML-Meta-Viewport-Attribute Was...
<br />Vielleicht sind Sie gerade in ein Unte...
Vuex ist ein speziell für Vue.js-Anwendungen entw...