Heim > Datenbank > MySQL-Tutorial > Teilen Sie Beispiele für die beste Möglichkeit, MySQL zu aktualisieren

Teilen Sie Beispiele für die beste Möglichkeit, MySQL zu aktualisieren

小云云
Freigeben: 2018-01-05 17:39:57
Original
1674 Leute haben es durchsucht

MySQL5.7 fügt viele neue Funktionen hinzu, wie zum Beispiel: Online-DDL, Multi-Source-Replikation, verbesserte Halbsynchronisation, Tabellenbereichsübertragung, Systembibliothek, Gruppenreplikation usw. Vor kurzem hatte ich endlich die Gelegenheit, MySQL auf 5.7 zu aktualisieren, und ich war sehr aufgeregt. In diesem Artikel erfahren Sie hauptsächlich, wie Sie MySQL am besten von der Theorie auf die Praxis umstellen können.

Übersicht über das MySQL-Upgrade

Die Essenz des MySQL-Upgrades:

Upgrades zum Datenwörterbuch

Das Datenwörterbuch umfasst: mysql, information_schema, performance_schema, sys schema.

Zwei Möglichkeiten, MySQL zu aktualisieren:

Direktes Upgrade:

Geeignet für kleinere Versions-Upgrades.

Das heißt, fahren Sie das aktuelle MySQL herunter, ersetzen Sie die aktuelle Binärdatei oder das aktuelle Paket, starten Sie MySQL im vorhandenen Datenverzeichnis neu und führen Sie

aus Funktionen: Keine Änderungen an Datendateien, schnelle Aktualisierungsgeschwindigkeit; es ist jedoch nicht möglich, Betriebssysteme oder Hauptversionen (5.5–>5.7) zu verwenden logisches Upgrade:


Geeignet für MySQL-Upgrades auf verschiedenen Betriebssystemen und Upgrades zwischen Hauptversionen.

Das heißt: Verwenden Sie mysqldump oder mydumper, um Daten zu importieren und zu exportieren, um ein Versions-Upgrade zu erreichen.

Funktionen: Kann zwischen Betriebssystemen und Hauptversionen verwendet werden; die Aktualisierungsgeschwindigkeit ist jedoch langsam und anfällig für Probleme wie verstümmelte Zeichen.

Vorbereitung vor dem Upgrade:

Machen Sie vorab Backups.

Informieren Sie sich über Änderungen in der neuen Version (welche nicht mehr kompatibel sind, welche Funktionen nicht mehr unterstützt werden)

Allgemeine Informationen auf der offiziellen Website –>Was ist neu in MySQL 5.7

Hinweise zum Upgrade:

Prüfen Sie, ob es in der neuen Version wesentliche Änderungen gibt

Beachten Sie die Änderungen im SQL-Modus

Beispiel: Der SQL-Modus hat sich in MySQL 5.7 geändert. Bei SQL-Modi, die nicht mehr unterstützt werden, können Sie den SQL-Modus zu diesem Zeitpunkt löschen und den SQL-Modus nach der Ausführung festlegen.

Überprüfen Sie nach erfolgreichem Upgrade, ob das Geschäfts-SQL über

ausgeführt werden kann Sind alle Programmebenen normal?

Manchmal werden Teile der ursprünglichen Programmiersprache von der neuen Version der Datenbank nicht unterstützt. Ich habe beispielsweise einmal PHP 4.0 in 5.1 verwendet, aber nach dem Upgrade auf 5.6 wurden einige Funktionen von PHP nicht unterstützt.

Stellen Sie nach Abschluss des Upgrades sicher, dass Sie während des Tests dasselbe Programm wie die Online-Version verwenden, um festzustellen, ob Probleme auftreten.

Änderungen an der Speicher-Engine

Beispiel: In der zukünftigen Version 5.8 wird die Myisam-Engine nicht mehr unterstützt.

Achten Sie auf das Problem mit verstümmelten Zeichen

Der nächste Schritt besteht darin, MySQL5.6 mit der In-Place-Upgrade-Methode auf MySQL5.7 zu aktualisieren.

Direktes Upgrade Upgrade von MySQL

Umwelt:

5.6.15 –>5.7.20

Vorbereitung vor dem Upgrade:

Sichern Sie + achten Sie auf die Änderungen in der neuen Version

Upgrade-Vorgang:


1. Laden Sie das 5.7-Softwarepaket herunter und entpacken Sie es

2. Schließen Sie das aktuelle MySQL (5.6)
# tar -xzvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
# ln -s mysql-5.7.20-linux-glibc2.12-x86_64 mysql5.7
Nach dem Login kopieren

3. Binärdateien ersetzen (5.7 ersetzt 5.6)
# mysql -u root -p -S /data/mysql3308/mysql3308.sock --execute="SET GLOBAL innodb_fast_shutdown=0"
# mysqladmin -u root -p -S /data/mysql3308/mysql3308.sock shutdown
Nach dem Login kopieren

4. Starten Sie MySQL mit dem vorhandenen Datenverzeichnis
# cd /usr/local
# mv mysql  mysql5.6
# mv mysql5.7 mysql
Nach dem Login kopieren

5. Prüfen Sie, ob alle Tabellen mit der aktuellen Version kompatibel sind und aktualisieren Sie die Systembibliothek
# mysqld_safe --user=mysql --socket=/data/mysql3308/mysql3308.sock -p --skip-grant-tables --datadir=/data/mysql3308/data
Nach dem Login kopieren

6. Starten Sie neu, um sicherzustellen, dass die an den Systemtabellen vorgenommenen Änderungen wirksam werden
# mysql_upgrade -uroot -p -S /data/mysql3308/mysql3308.sock
注:mysql_upgrade的作用是检查所有库的所有表是否与当前的新版本兼容,并更新系统库。
Nach dem Login kopieren

Zu diesem Zeitpunkt ist das Upgrade abgeschlossen.
# mysqld --defaults-file=/data/mysql3308/my3308.cnf &
# mysql -uroot -p -S /data/mysql3308/mysql3308.sock
Nach dem Login kopieren

Frage: Was soll ich tun, wenn das Upgrade beim Upgrade von MySQL fehlschlägt?

Beim Upgrade wird im Allgemeinen eine Slave-Bibliothek für das Upgrade erstellt. Wenn das Upgrade fehlschlägt, hat dies keine Auswirkungen auf die Hauptbibliothek. Wenn das Upgrade erfolgreich ist und der Test erfolgreich ist, werden andere Slave-Bibliotheken schrittweise auf die neue Version aktualisiert Schließlich wird die Hauptbibliothek aktualisiert. Wenn die Datenbank offline geht, wird eine Slave-Datenbank zur neuen Master-Datenbank heraufgestuft und die alte Master-Datenbank aktualisiert.

Verwandte Empfehlungen:

Lösung für das Problem, dass MySQL nach dem Upgrade nicht gestartet werden kann


Detaillierte Erklärung von PHP-gekapseltem MySQL Operationsklasse

Wie PHP das Problem der in MySQL gespeicherten chinesischen verstümmelten Daten löst

Das obige ist der detaillierte Inhalt vonTeilen Sie Beispiele für die beste Möglichkeit, MySQL zu aktualisieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage