Problem

Ich möchte von MySQL 5.6 auf 5.7 upgraden.

Lösung

 

  1. Fertigen Sie zunächst ein Backup des gesamten Systems an.
  2. Laden Sie den MSI Installer für 5.7 von http://dev.mysql.com/downloads/windows/installer/5.7.html herunter (web-Variante nur, wenn Sie Online-Zugriff vom Server aus haben).
  3. Stoppen Sie ICS Tracker, indem Sie den Service "Apache Tomcat 7.0 Tomcat7" stoppen.
  4. Öffnen Sie cmd.exe als Administrator und wechseln Sie in ein beliebiges Verzeichnis, z.B. cd C:\temp.
  5. Erstellen Sie einen Datenbank-Dump von 5.6, indem Sie folgendes aufrufen:
    "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump" --user root --password --add-drop-table --all-databases --force > data-for-upgrade.sql
    Der Dump namens data-for-upgrade.sql wird im aktuellen Verzeichnis erstellt.
  6. Stoppen sie den MYSQL Service via "net stop MySQL56".
  7. Starten Sie den Installer via Doppelklick auf die heruntergeladene Datei.
  8. Falls der Installer zunächst ein Update vorschlägt, führen Sie nur das Update für die Workbench und Connector/J durch. Wenn dies beendet ist, klicken Sie "Add...", und wählen Sie folgendes aus (im Beispiel ist Version 5.7.12 gezeigt, aber auch eine höhere 5.7 Version erfüllt den Zweck):

    Beenden Sie die Installation, indem Sie dieselben Einstellungen wie für 5.6 vornehmen.
  9. Starten Sie die Workbench, erstellen Sie eine neue Connection zum 5.7 Server, starten Sie die neue Connection und stellen Sie sicher, dass unter Server -> Server Status das korrekte Configuration File (bei üblicher Konfiguration: C:\ProgramData\MySQL\MySQL Server 5.7\my.ini) angegeben ist. Ansonsten muss es angepasst werden via AppData\Roaming\MySQL\Workbench\server_instances.xml.
  10. Öffnen Sie das Configuration File via Server–>Options File, und setzen Sie unter Networking max_allowed_packet auf 16M (und dann Apply).
  11. Aufgrund leicht geänderter Grant-Abfragen in MySQL 5.7 müssen Sie dann noch Ihren DB-Usern einen zusätzlichen Grant geben, d.B. für User goco:
    GRANT REFERENCES ON goco.* TO 'goco';
  12. Schliessen Sie die Workbench.
  13. Restarten Sie den MySQL57 Service.
  14. Importieren Sie das unter Punkt 3 erstellte File:
    "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql" -u root -p --execute="source data-for-upgrade.sql" --force
  15. und lassen Sie MySQL die importierten Tabellen überprüfen und eventuell upgraden:
    "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql_upgrade.exe" -u root -p
  16. Tomcat-Anpassung: Um Warnungen im Logfile zu vermeiden, sollten Sie die JDBC connections in Tomcat (context.xml) ergänzen mit ?useSSL=false, also z.B.:
    url="jdbc:mysql://localhost:3306/goco?useSSL=false"
  17. Starten Sie Tomcat. Die Applikation sollte laufen wie vorher auch. Nach einer gewissen Zeit können Sie MySQL 5.6 deinstallieren.
  18. Weitere Informationen finden Sie unter https://dev.mysql.com/doc/refman/5.7/en/upgrading.html

Verwandte Seiten