Wie kann ich die MySQL-Version aktualisieren?
Aktuelle MySQL-Version: 5.5.40
Zielversion von MySQL: MySQL 5.7
OS: CentOS-Version 6.5 (Final)
Der Aktualisierungspfad lautet MySQL 5.5 -> MySQL 5.6 -> MySQL 5.7
Siehe https://dev.mysql.com/doc/refman/5.7/de/upgrading.html
Der schnellste Weg ist wahrscheinlich, Ihre ältere DB-Version mit mysqldump zu sichern und in die neue 5.7-Datenbank wiederherzustellen.
Wie reibungslos der Prozess abläuft, hängt davon ab, wie viele Funktionen in 5.7 in 5.5 verworfen wurden.
In meinem Fall war das einzige Feature, das in 5.7 verworfen wurde, timestamp default '0000-00-00 00:00:00' Die Lösung dafür war, sed auf dump-Datei auszuführen und ersetzen Sie '' 0000-00-00 00:00:00 'mit CURRENT_TIMESTAMP
sed -i.bu 's /'\'' 0000-00-00 00:00:00 '\' '/ CURRENT_TIMESTAMP/g' fixed_dumo.sql
Danach wurde die fixed_dump.sql in frische 5.7 DB importiert und es funktionierte reibungslos . Ich hoffe das hilft.
Ja. Von einem "logischen Upgrade" können Sie von 5.5 für 5.7 migrieren. Auf diese Weise: 5.5 -> 5.6 -> 5.7, ist nur für das Upgrade "In Place" mit Datenordner erforderlich.
Ich bin vielleicht zu spät dran, aber eine einfache und schnelle Lösung ohne oder mit minimalen Ausfallzeiten könnte AWS Database-Migration-Service sein, mit dem Sie Ihre Datenbank auf eine andere Version sowie auf einen anderen Server oder RDS aktualisieren können.
Ich habe dies ausprobiert und MySQL5.5 auf MySQL5.7 ohne Ausfallzeit in der Produktion konvertiert .. Hier ist eine Demo für dasselbe - Wie man MySQL5.5 auf MySQL5.7 migriert
Schritte:
Legen Sie Ihr aktuelles MySQL als Master fest
Erstellen Sie eine neue Instanz/einen neuen Server mit MySQL5.7 mit den erforderlichen Benutzern
Gehen Sie zu AWS DatabaseMigrationService (DMS) und erstellen Sie eine Replikations-Instanz .__
Nach dem Erstellen der Replikationsinstanz werden Sie aufgefordert, die Detail-Verbindung zu den Quellendatenbanken (MySQL5.5) und Zieldatenbanken (MySQL5.7) aufzufüllen.
Erstellen Sie eine Aufgabe in DMS. Dies ist die Logik, auf der Sie die Daten (bestimmte Datenbank oder bestimmte Tabelle) migrieren möchten
Starten Sie die Aufgabe
Wenn die Aufgabe abgeschlossen ist und die Daten synchronisiert sind, wechseln Sie einfach den DNS-Eintrag , Der auf MySQL5.5 zeigt, auf MySQL5.7
schritt 1: Machen Sie eine Sicherung
mysqldump --lock-all-tables -u root -p --all-databases > dump.sql
schritt 2: Entfernen Sie alte MySQL
Sudo apt-get remove mysql-server
Sudo apt-get autoremove
schritt 3: Installieren Sie eine neue Version von MySQL 5.6
Sudo apt-get install mysql-client-5.6 mysql-client-core-5.6
Sudo apt-get install mysql-server-5.6
für 5.7
wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb
Sudo dpkg -i mysql-apt-config_0.6.0-1_all.deb
Sudo apt-get update
Sudo apt-get install mysql-server
schritt 4: Stellen Sie Ihre Daten wieder her
mysql -u root -p <dump.sql
Einfache Schritte für das Upgrade von Mysql Version 5.5 auf 5.7.
Nach einer Reihe fehlgeschlagener Versuche bin ich zu folgendem Schluss gekommen:
Beide benötigen die in allen obigen Kommentaren erwähnte apt-config.
Der Kicker soll Sudo apt install mysql-**community**-server
ausführen