Linux MySQL 5.5 auf MySQL 5.7 aktualisiertIm Folgenden werde ich einen einfachen Schritt zum Upgrade von MySQL erläutern. Später hat der Herausgeber von 123WORDPRESS.COM mehrere Ergänzungen zusammengestellt, auf die Sie zurückgreifen können. 1. Laden Sie mysql5.7.32 herunterOffizielle Download-Adresse: https://dev.mysql.com/downloads/mysql/ Entpacken
2. Rufen Sie das alte MySQL-Bin-Verzeichnis auf und exportieren Sie die MySQL-Daten
3. Geben Sie das neue MySQL-Stammverzeichnis ein und erstellen Sie ein Datenverzeichnis zum Speichern von Daten
4. Führen Sie für die neu entpackte Datenbank zuerst den Initialisierungsbefehl aus
PS: Das obige Upgrade läuft auf Cent OS, aber als ich Kylin aktualisierte, stellte ich fest, dass ich die obige Anweisung nicht erkannte und sie durch die folgende Initialisierungsanweisung ersetzen musste ./mysqld --defaults-file=../my.cnf --basedir=../ --datadir=../data --user=root --initialize 5. Richten Sie die Anmeldung zum Überspringen des Passworts ein Skip-Grant-Tabellen zu [mysqld] in my.cnf hinzufügen 6. Starten Sie den Dienst
7. Legen Sie ein Passwort festMelden Sie sich in einem neuen Befehlszeilenfenster bei MySQL an
8. Dienste beendenKommentieren Sie skip-grant-tables in der Konfigurationsdatei aus. 9. Starten Sie den Dienst
10. Neue Kommandozeilen-Anmeldung
Derzeit gilt: Unabhängig davon, welchen Befehl Sie ausführen, wird Ihnen immer die Meldung „Sie müssen Ihr Kennwort mit der Anweisung ALTER USER zurücksetzen, bevor Sie diese Anweisung ausführen.“ angezeigt. PASSWORT FESTLEGEN = PASSWORT('xxxx'); 11. Legen Sie andere IP-Adressen für die Verbindung zu MySQL fest
12. Historische Daten importieren
13. Führen Sie das Update durch
14. Nach dem Upgrade können Abfrageanweisungen Fehler melden. Sie können die folgenden Anweisungen ausführen
Nachfolgend finden Sie Ergänzungen von anderen Internetnutzern Upgrade von MySQL von 5.5 auf 5.7Vor Kurzem habe ich die Aufgabe, MySQL von Version 5.5 auf 5.7 zu aktualisieren. Ich habe die Datenbank noch nie aktualisiert, daher kann ich nur durch Ausprobieren weitermachen. Ich habe online viele Informationen gefunden. Es gibt nur zwei Möglichkeiten zum Upgrade. 1. Upgrade-Methode1. Logisches Upgrade: Verwenden Sie mysqldump, um SQL-Dateien direkt zu exportieren, erstellen Sie dann eine neue MySQL5.7-Datenbank und importieren Sie die exportierten SQL-Dateien in die neue Datenbank. Wenn diese Methode verwendet wird, wird natürlich empfohlen, nicht mysqldump, sondern mydumper zu verwenden. Da unser Unternehmen über eine große Datenmenge verfügt, haben wir diese Methode nicht zur Verarbeitung verwendet. 2. Direktes Upgrade: Diese Upgrade-Methode ist einfach und schnell. Sie ersetzt direkt das ursprüngliche MySQL-Installationsverzeichnis und die Konfigurationsdatei /etc/my.cnf und verwendet das Skript mysql_upgrade, um das Upgrade der Systemtabelle abzuschließen. 2. Umgebung EinführungUnser MySQL-Cluster verwendet die Lese-/Schreibtrennung von Atlas und es gibt 4 Datenbankserver unter MySQL-Proxy: Meister: 172.16.100.1 Sklave1:172.16.100.2 Sklave2:172.16.100.3 Sklave3:172.16.100.4 Aktuelle Datenbankversion: „5.5.21 Konfigurationsdatei: /etc/my.cnf Datenverzeichnis: /data/mysql Betriebssystemversion: CentOS6.9 3. Upgrade-IdeenDa das Online-Geschäft nicht unterbrochen werden kann, haben wir uns entschieden, zuerst einen der Slaves aus dem Cluster zu entfernen und ihn auf MySQL 5.7 zu aktualisieren. Dann haben wir das MySQL 5.7-Gerät zum Cluster hinzugefügt. Nachdem die Daten synchronisiert wurden, haben wir die Master- und Slave-Knoten ausgetauscht und die anderen Slave-Knoten aktualisiert. 4. Üben4.1. Loggen Sie sich bei mysql-proxy ein und werfen Sie einen der Slaves aus dem Cluster
Anzeigen der Backend-Proxy-Bibliothek
+-------------+----------------------+-------+------+ | backend_ndx | Adresse | Status | Typ | +-------------+----------------------+-------+------+ | 1 | 172.16.100.1:3306 | nach oben | rw | | 2 | 172.16.100.2:3306 | nach oben | ro | | 3 | 172.16.100.3:3306 | nach oben | ro | | 4 | 172.16.100.4:3306 | nach oben | ro | +-------------+----------------------+-------+------+ 5 Zeilen im Satz (0,00 Sek.) 4.2. Ersetzen Sie das Installationsverzeichnis von MySQLGehen Sie zur offiziellen Website von MySQL und laden Sie die MySQL5.7-Version mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz herunter Entpacken Sie mysql5.7
Wenn Ihr vorheriges MySQL-Verzeichnis als Verknüpfung erstellt wurde, müssen Sie die Verknüpfung lediglich aufheben und erneut erstellen.
Wenn Ihr vorheriges MySQL-Verzeichnis nicht verknüpft ist, benennen Sie es um und verknüpfen Sie ein anderes MySQL-Verzeichnis.
4.3. Starten Sie den MySQL-DienstNach MySQL 5.7 muss die Datenbank nicht mehr initialisiert werden, d. h. der Befehl mysql_install_db muss nicht mehr ausgeführt werden.
Wenn ein Fehler auftritt, überprüfen Sie die Protokollinformationen 4.4. Aktualisieren Sie die Datenwörterbuchinformationen der Systemtabelle. Der Befehl lautet wie folgt:
Die Ausgabe ist: Möglicherweise treten einige Fehlermeldungen wie „ALTER TABLE ** FROCE“ auf. Machen Sie sich darüber keine Sorgen, MySQL repariert sie später automatisch. Die Reparaturzeit kann je nach Situation Ihrer Datenbank etwas lang sein. Diesmal habe ich für das Upgrade mehr als zwei Stunden gebraucht. Wenn die Ausgabe „Upgrade-Vorgang erfolgreich abgeschlossen“ lautet, bedeutet dies, dass das Upgrade erfolgreich war. 4.5. MySQL nach dem Upgrade neu starten/usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --basedir=/usr/local/mysql --user=mysql & Überprüfen Sie, ob das Upgrade abgeschlossen ist. Wenn das Upgrade erfolgreich war, lautet die Ausgabe wie folgt Diese MySQL-Installation wurde bereits auf 5.7.23 aktualisiert. Verwenden Sie --force, wenn Sie mysql_upgrade noch ausführen müssen. 4.6.Master-Slave-Konfiguration neu konfigurierenWiederholen Sie die Master-Slave-Konfiguration
Wenn zwei Ja-Antworten vorhanden sind, bedeutet dies, dass der Zustand normal ist. 4.7 Einem Lese-/Schreib-Split-Cluster beitretenGehen Sie zum MySQL-Proxy-Gerät
Wenn der Status „aktiv“ lautet, bedeutet dies, dass der Cluster erfolgreich beigetreten ist. Nachtrag: Dies war mein erstes Datenbank-Upgrade und ich war mir nicht sicher, ob die Grundidee richtig war. Daher habe ich es zunächst in einer Testumgebung getestet und das Upgrade dann, nachdem ich es einige Tage lang getestet hatte und keine Probleme feststellen konnte, online durchgeführt. Nur als Referenz. Die Fallstricke beim Upgrade von MySQL 5.5 auf 5.7Die Geschichte geht so. Unser Unternehmen hat mehrere alte MySQL-Versionen von 5.5. Vor kurzem wurde das Projekt aktualisiert und mehrere Felder wurden hinzugefügt. Bei der Verwendung von spring-data-jpa zum automatischen Aktualisieren der Tabellenstruktur wurde ein Fehler gemeldet, da die MySQL-Version 5.5 nicht mehr als zwei current_timestamps als Standardwert in einer Tabelle unterstützt. Sie sollten daher ein Upgrade der Datenbank in Betracht ziehen Überprüfen Sie zuerst die Version auf dem Server Schauen Sie sich die Quelle noch einmal an Oh, übrigens, unser Unternehmen verwendet AWS EC2, also stammen alle Quellen von amz Ich habe „yum update mysql-server“ ausprobiert, aber das hat nicht geholfen, also habe ich weitergemacht. Ich habe viel online gelesen und überall stand, dass man zuerst die alte Version der Datenbank deinstallieren und dann die neue Version der Datenbank installieren soll. Was soll ich dann mit meinen Daten machen? Um auf Nummer sicher zu gehen, habe ich zuerst die Datenbank gesichert, eine Datenbank nach der anderen. Ich habe gesehen, dass die MySQL-Datenbank auch viele Benutzer und Berechtigungen hatte, also habe ich auch MySQL gesichert und dann mit der Arbeit begonnen. 1. Deinstallieren Sie die Datenbank
Aber die Installation scheint hier anders zu sein, also habe ich alle deinstalliert, die Yum gerade gefunden hat. Denken Sie daran, den MySQL-Dienst vor der Deinstallation zu deaktivieren. Andernfalls überprüfen Sie nach der Installation der neuen Version mit mysql --version, ob es sich um die MySQL-Anmeldung 5.7 oder 5.5 handelt. Starten Sie den Dienst anschließend neu, und es treten verschiedene Probleme auf. Da einige Dateien nicht gelöscht wurden, sah die neu installierte Datenbank sehr merkwürdig aus. . . 2. Installieren Sie eine neue Datenbank
Schauen Sie zunächst, welche Versionen verfügbar sind, hierzu gibt es nichts zu sagen.
Es ist ok, es zu installieren, mal sehen, was installiert ist Eine seltsame Sache ist, dass mysql-config immer noch von 5.5 abhängt, aber ich habe bei der Verwendung keine Probleme festgestellt. 3. KonfigurationÄndern Sie nach der Installation die folgende my.cnf Mein Server befindet sich in /etc/my.cnf. Ich weiß nicht, ob sich andere Bilder geändert haben. Beim Konfigurieren fiel mir plötzlich ein, dass der Datenspeicherplatz noch vorhanden ist. Ich konfigurierte ihn, um zu sehen, ob er genutzt werden kann. Daher habe ich diese Zeile in my.cnf hinzugefügt (viele Konfigurationen in 5.5 sind veraltet und die vorherige my.cnf muss gelöscht werden, da sonst beim Starten ein Fehler gemeldet wird). Nach der Konfiguration starten Sie den Dienst entschlossen
Tatsächlich habe ich einen Fehler gemeldet Das Startprotokoll wurde überprüft
Verdammt, was soll ich tun? Ich habe bei Google gesucht und diesen Artikel gefunden: https://support.plesk.com/hc/en-us/articles/115001659169-MySQL-fails-to-start-mysql-user-table-is-damaged Die konkreten Lösungen sind wie folgt a. Melden Sie sich beim Serverhost an b. Durch Hinzufügen von Skip-Grant-Tabellen in der Datei c. Dienst mysqld starten d.mysql_upgrade e. service mysqld restart Ich habe mysql_upgrade ausgeführt Ich habe die offizielle Dokumentation überprüft und die allgemeine Bedeutung ist, dass viele Dinge nach dem Upgrade nicht kompatibel sind. Der Beamte stellt dieses Skript zur Verfügung, um den vorherigen Arbeitsbereich zu reparieren Das Upgrade verlief reibungslos. Alle Benutzer in der MySQL-Datenbank befanden sich noch in der vorherigen Datenbank und waren nicht betroffen. Das Upgrade ist nun abgeschlossen Dies ist das Ende dieses Artikels über die detaillierten Schritte zum Upgrade von Linux MySQL 5.5 auf MySQL 5.7. Weitere relevante Inhalte zum Upgrade von MySQL 5.5 auf 5.7 finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Webdesign: Implementierungstechniken für Webmusik
>>: Lösen Sie das Problem des unzureichenden Docker-Festplattenspeichers
Vorwort Der Dienst wird seit mehreren Monaten auf...
1. Verwenden Sie CSS, jQuery und Canvas, um Anima...
Struktur Text, Kopf, HTML, Titel Text abbr, Akron...
Kernel: [root@opop ~]# cat /etc/centos-release Ce...
Nachdem Sie VMware installiert und eine neue virt...
Frage: Bei der Entwicklung des Alice-Verwaltungss...
Ich werde nicht näher darauf eingehen, wie wichti...
Vorwort Kürzlich wurde unser Server von Hackern a...
Inhaltsverzeichnis Was ist eine Voranalyse? Der U...
Befolgen Sie die nachstehenden Schritte 1. Inhalt...
Umfeld Hostname IP-Adresse Aufschlag Jenkins 192....
Da die Verwendung von group by in MySQL immer zu ...
1. dies.$router.push() 1. Ansicht <Vorlage>...
Ich möchte Ihnen einen kreativen Einstieg vorstel...
Dieser CSS-Reset basiert auf dem CSS-Reset von Eri...