Der Unterschied zwischen 5.6 und 5.7 in MySQL: 1. Version 5.7 bietet JSON-Formatdaten, Version 5.6 jedoch keine JSON-Versionsdaten; 2. Version 5.7 unterstützt mehrere Master und einen Slave, aber Version 5.6 unterstützt nicht mehrere Master und ein Slave; 3. Die Version 5.7 initialisiert die Daten im bin-Verzeichnis, während sich die Version 5.6 im Skriptverzeichnis befindet.
Die Betriebsumgebung dieses Tutorials: Windows10-System, MySQL8.0.22-Version, Dell G3-Computer.
Mysql5.7 hat nach dem Update viele Änderungen, wie z. B. JSON usw., und sogar die Installation hat sich geändert Für die Installation ist eine Bibliothek erforderlich. Der offizielle Website-Quellcode von MySQL umfasst Quellcode mit Boost-Bibliothek und Quellcode ohne Boost-Bibliothek. Diejenigen ohne Boost-Bibliotheks-Quellcode müssen Boost separat installieren.
MySQL5.7 unterstützt mehrere Master und einen Slave, verschiedene Möglichkeiten, um eine hohe Verfügbarkeit zu erreichen. Laden Sie die Software herunter ohne Boost-MySQL-Quellcode-Installation -unsicher generiert kein zufälliges Passwort
3. Der Unterschied zwischen Funktionen und Features
Das Plugin-Feld der Benutzertabelle mysql.user darf nicht leer sein. Der Standardwert ist mysql_native_password anstelle von mysql_old_password. Das alte Passwortformat wird nicht mehr unterstützt; Passwortablaufmechanismus hinzugefügt, Sie müssen das Passwort nach Ablauf ändern, andernfalls werden Sie möglicherweise deaktiviert oder wechseln in den Sandbox-Modus. Passwortablaufmechanismus hinzugefügt, Sie müssen das Passwort danach ändern Ablauf, andernfalls werden Sie möglicherweise deaktiviert oder wechseln in den Sandbox-Modus. Vorausgesetzt, die Konfiguration des sicheren SSL-Zugriffs ist einfacher und die Standardverbindung verwendet SSL-Verschlüsselung.Flexibilität
MySQL-Datenbank bietet ab Version 5.7.8 auch Unterstützung für JSON. Kann strukturierte Daten und unstrukturierte Daten gemischt speichern und bietet gleichzeitig die Vorteile einer relationalen Datenbank und einer nicht relationalen Datenbank generierte Spalte, Diese Spalte in der Datenbank wird aus anderen Spalten berechnetVor MySQL 5.7 konnte die Ausführung von „beendet“ werden, wenn der Benutzer die falsche SQL-Anweisung eingab und Strg+C drückte SQL-Anweisung: Allerdings wird auch die aktuelle Sitzung beendet. MySQL 5.7 verbessert diese kontraintuitive Funktion und beendet die Sitzung nicht mehr.
MySQL 5.7 kann ein laufendes SQL erklären, was für DBAs sehr nützlich sein wird, um Anweisungen zu analysieren, deren Ausführung lange dauert. sys-Schema ist eine in MySQL 5.7.7 eingeführte Systembibliothek. Es enthält eine Reihe von Ansichten, Funktionen und gespeicherten Prozeduren. Der Schwerpunkt dieses Projekts liegt auf der Benutzerfreundlichkeit von MySQL.Verfügbarkeit
Online-Einstellung replizierter Filterregeln. MySQL muss nicht mehr neu gestartet werden. Stoppen Sie einfach den SQLthread. Starten Sie den SQLthread, nachdem die Änderung abgeschlossen ist.Ändern Sie die Pufferpoolgröße online.
Online DDL MySQL 5.7 unterstützt das Umbenennen von Indizes und das Ändern der Größe von Varchar. In früheren Versionen erforderten diese beiden Vorgänge eine Neuerstellung des Index oder der Tabelle. Da die Online-Aktivierung von GTID in der Vorgängerversion nicht unterstützt wurde, muss der Benutzer, wenn er die niedrigere Version der Datenbank auf eine Datenbankversion aktualisieren möchte, die GTID unterstützt, zuerst die Datenbank schließen Starten Sie es im GTID-Modus, was die Aktualisierung äußerst problematisch macht.Leistung
Leistungsverbesserungen für temporäre Tabellen.Temporäre Tabellen sind nur in der aktuellen Sitzung sichtbar.
Der Lebenszyklus temporärer Tabellen ist die aktuelle Verbindung (MySQL ist ausgefallen oder neu gestartet, die aktuelle Verbindung endet).Nur lesbare Transaktionsleistungsverbesserungen. MySQL 5.7 optimiert den Overhead von schreibgeschützten Transaktionen und verbessert die Gesamtleistung der Datenbank, indem es die Zuweisung von Transaktions-IDs zu schreibgeschützten Transaktionen vermeidet, keine Rollback-Segmente für schreibgeschützte Transaktionen zuweist, die Sperrkonkurrenz reduziert usw. -Beschleunigen Sie die VerbindungsverarbeitungVor MySQL 5.7 wurden Variableninitialisierungsvorgänge (THD, VIO) im Verbindungsempfangsthread ausgeführt. Jetzt werden diese Aufgaben an den Arbeitsthread gesendet, um die Arbeitsbelastung des Verbindungsempfangsthreads zu verringern Verarbeitungsgeschwindigkeit der Verbindung. Diese Optimierung ist sehr nützlich für Anwendungen, die häufig kurze Verbindungen herstellen.
Verbesserungen in der Replikationsleistung (Unterstützung von Multi-Threaded-Slaves, bezeichnet als MTS) Die Standardkonfiguration von MySQL ist die parallele Replikation auf Bibliotheksebene. Um die parallele Replikationsfunktion von MySQL 5.7 vollständig nutzen zu können, müssen wir Slave- parallel -type ist als LOGICAL_CLOCK konfiguriert. Unterstützung für Multi-Source-ReplikationStrict_TRANS_TABLES-Modus ist standardmäßig aktiviert.
Komplexere Funktionsunterstützung ist für den ONLY_FULL_GROUP_BY-Modus implementiert und auch standardmäßig aktiviert Ein anderer standardmäßig aktivierter SQL-Modus ist NO_ENGINE_SUBSTITUTION
Änderung der StandardparameterDas Standard-Binlog-Format wird an das ROW-Format angepasst
.Der Standardvorgang nach einem Binlog-Fehler wird auf ABORT_SERVER angepasst.
Wenn unter der vorherigen Option (binlog_error_action=IGNORE_ERROR) ein Fehler auftritt und das Binlog nicht geschrieben werden kann, zeichnet MySQL-Server den Fehler im Fehlerprotokoll auf und erzwingt die Binlog-Funktion ausgeschaltet werden. Dies führt dazu, dass der MySQL-Server weiterhin im Modus läuft, in dem das Binlog nicht aufgezeichnet wird, was dazu führt, dass die Slave-Bibliothek das Binlog der Hauptbibliothek nicht mehr abrufen kann.
Die Binlog-Sicherheit bei MySQL-Abstürzen ist standardmäßig aktiviert.
Slave_net_timeout ist standardmäßig verringert.
Verschiedene Installationen
mysql_install_db wird nicht mehr empfohlen. Es wird empfohlen, es in mysqld --initialize zu ändern, um die Instanzinitialisierung abzuschließen. Wenn im Zielverzeichnis, auf das datadir verweist, bereits eine Datendatei vorhanden ist, wird [ERROR] Aborting angezeigt. Wenn Sie während der Initialisierung --initial-insecure hinzufügen, wird andernfalls ein root@localhost-Konto mit einem leeren Kennwort erstellt es wird mit einem Passwort erstellt Das root@localhost-Konto, das Passwort wird direkt in die Protokolldatei geschrieben. Neue Benutzer müssen das Passwort sofort nach der Anmeldung ändern, sonst können sie die nachfolgende Arbeit nicht fortsetzen.
Empfohlenes Lernen:
MySQL-Video-TutorialDas obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen 5.6 und 5.7 in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!