MySQL 8.0.3 RC steht kurz vor der Veröffentlichung. Werfen wir einen Blick auf die Änderungen

MySQL 8.0.3 RC steht kurz vor der Veröffentlichung. Werfen wir einen Blick auf die Änderungen

MySQL 8.0.3 steht kurz vor der Veröffentlichung. Werfen wir einen Blick auf die Neuerungen

MySQL 8.0.3 steht kurz vor der Veröffentlichung der RC-Version, was bedeutet, dass Version 8.0 der allgemeinen Verfügbarkeit näher kommt.

Hier sind einige wichtige neue Funktionen und Änderungen in Version 8.0.3:

1. Query Cache direkt abschaffen (er sollte einfach den Eingang schließen. Wenn du den Quellcode selbst kompilierst, kannst du ihn wieder aktivieren)

2. Der Abfrageoptimierer unterstützt die Änderung bestimmter Optionen auf Sitzungsebene direkt in SQL mithilfe der SET_VAR HINT-Syntax, beispielsweise:

- SELECT /*+ SET_VAR (Sortierungspuffergröße = 16 M) */ Name FROM Personen ORDER BY Name;

- INSERT /*+ SET_VAR (foreign_key_checks=OFF) */ INTO t2 VALUES (2);

(Diese Funktion ist super praktisch. Sie können sie direkt in SQL ändern, ohne ein weiteres SQL schreiben zu müssen und sich Sorgen über Auswirkungen auf andere machen zu müssen.)

3. Der Abfrageoptimierer unterstützt jetzt das Speichern des Histogramms der statistischen Ergebnisse jeder Spalte im Datenwörterbuch „column_statistics“, um die Erstellung des Ausführungsplans zu erleichtern. Mit diesem Histogramm können wir die Spalte mit der Konstanten vergleichen.

4. Dem Abfrageoptimierer wird ein neues Flag, use_invisible_indexes, hinzugefügt, um zu steuern, ob unsichtbare Indizes beim Erstellen des Ausführungsplans berücksichtigt werden.

5. InnoDB fügt eine Sicherungssperre hinzu. Wenn zuvor DML während des Online-Hot-Backups von InnoDB-Tabellen gleichzeitig ausgeführt wurde, konnte der Snapshot der InnoDB-Datei inkonsistent sein. Mit dieser Sicherungssperre müssen Sie sich darüber keine Sorgen machen. Die Sicherungssperrverwendung lautet INSTANZEN FÜR SICHERUNG SPERREN, INSTANZEN ENTSPERREN, wofür die Berechtigung BACKUP_ADMIN erforderlich ist.

6. InnoDB unterstützt jetzt die Atomizität von Tabellen-DDL, was bedeutet, dass DDL auf InnoDB-Tabellen auch Transaktionsintegrität erreichen kann, entweder Rollback bei Fehlschlag oder erfolgreiches Commit, sodass es kein Problem mit teilweisem Erfolg von DDL gibt. Darüber hinaus unterstützt es auch die Absturzsicherheitsfunktion (diese Funktion ist großartig).

7. Wenn die Gruppenreplikation (GR) spät initialisiert wird, d. h. im Einzelprimärmodus, können Daten über den asynchronen Replikationskanal auf den sekundären Knoten geschrieben werden, was bei der normalen Initialisierung des Gruppenreplikations-Plugins nicht zulässig ist (Fehler Nr. 26314756, dies ist eine interne Fehler-ID, wir können sie nicht sehen, also kümmern Sie sich nicht darum. Aber es gibt auch das allmächtige GitHub, wo Sie auch die entsprechende Beschreibung sehen können, siehe: https://github.com/mysql/mysql-server/commit/acbf1d13ecd1d89557f8ca62116f06e8633dc90d)

8. Mehrere Ansichten wie FILES, PARTITIONS, REFERENTIAL_CONSTRAINTS in der Systembibliothek INFORMATION_SCHEMA wurden neu implementiert (das ist nicht zu spezifisch, es könnte damit zusammenhängen, dass alle DDLs in InnoDB abgelegt werden und FRM-Dateien nicht mehr zum Speichern von DDL-Informationen verwendet werden)

9. Aufgrund der Änderung der Sperrfunktion für Fremdschlüsseleinschränkungen wird die Funktion zum Umbenennen von Spalten in der übergeordneten Tabelle mit Fremdschlüsseleinschränkungen vorübergehend für einen bestimmten Zeitraum deaktiviert (es wird geschätzt, dass sie nach einigen Nebenversionen wieder normal verwendet werden kann).

10. Neue Umbenennungssyntax für den allgemeinen InnoDB-Tablespace: ALTER TABLESPACE ... RENAME TO (Als MySQL-DBA scheinen nur wenige Leute allgemeine Tablespaces zu verwenden. Vielleicht sind sie nach dem Wechsel von Oracle DBA mehr daran gewöhnt.)

11. Auf dem Slave-Knoten der MySQL-Replikation wird der Standardwert der Option log_slave_updates auf ON geändert (dies ist auch recht praktisch und es ist praktisch, den Slave direkt als Relay-Knoten zu verwenden).

12. Der globale Bereich der Option sql_log_bin wurde in den Sitzungsbereich geändert, d. h. die Änderung dieser Option wirkt sich nur auf diese Sitzung aus und nicht mehr auf den globalen Bereich (diese Option wird im Allgemeinen auf Sitzungsebene verwendet).

13. Der Standardwert der Option max_allowed_packet wird von 4M auf 64M erhöht (das scheint realistischer)

14. Der Standardwert der Option event_scheduler wird von OFF auf ON geändert, sodass die Ereignisplanerfunktion standardmäßig aktiviert ist (ich finde die Ereignisfunktion sehr gut, aber es scheint, dass nur wenige Leute Ereignisse verwenden).

15. Der Standardwert der Option max_error_count wurde von 64 auf 1024 erhöht (glaube ich nicht)

16. Der letzte, der Zeichensatz utf8mb4, fügt eine russische Prüfsumme hinzu (zwei neue Sortierungssätze: utf8mb4_ru_0900_ai_ci und utf8mb4_ru_0900_as_cs)

Freuen wir uns auf die Veröffentlichung von 8.0.3!

Das könnte Sie auch interessieren:
  • Grafisches Tutorial zur Installation und Konfiguration von MySQL Community Server 8.0.12
  • Grafisches Tutorial zur Installation und Konfiguration von MySQL Community Server 8.0.11
  • Grafisches Tutorial zur Installation und Konfiguration von Ubuntu Server 16.04 MySQL 8.0
  • Grafisches Tutorial zur Offline-Installation und Konfiguration von MySQL 8.0.2
  • Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.12
  • mysql installer community 8.0.12.0 grafische anleitung zur installation
  • Tutorial zur Installation der Dekomprimierungsversion von MySQL 8.0.12
  • MySQL 8.0.12 – Schnellinstallations-Tutorial
  • MySQL 8.0.12 Installationskonfigurationsmethode und Kennwortänderung
  • MySQL Server 8.0.3 Installations- und Konfigurationsmethoden - Grafisches Tutorial

<<:  So beheben Sie Dateisystemfehler in Linux mit „fsck“

>>:  Kapseln Sie eine einfachste ErrorBoundary-Komponente zur Behandlung von React-Ausnahmen

Artikel    

Artikel empfehlen

Implementierungsbeispiel für das Zurücksetzen des CSS-Reset-Stils

Einführung: Alle Browser verfügen über Standardst...

Eine detaillierte Einführung in die Verwendung von Blockkommentaren in HTML

Allgemeine Kommentare in HTML: <!--XXXXXXXX--&g...

Fassen Sie die häufigsten Anwendungsprobleme von XHTML-Code zusammen

Im Laufe der Zeit habe ich festgestellt, dass vie...

Detaillierte Zusammenfassung häufig verwendeter MySQL-Funktionen

Inhaltsverzeichnis Allgemeine MySQL-Funktionen 1....

So erstellen Sie https mit Nginx und dem kostenlosen Tencent Cloud-Zertifikat

Ich habe gelernt, wie man https bekommt. Kürzlich...

jQuery+Ajax zum Erreichen eines einfachen Paging-Effekts

In diesem Artikel wird der spezifische Code von j...

So installieren Sie den MySQL 5.7.28-Binärmodus unter CentOS 7.4

Linux-Systemversion: CentOS7.4 MySQL-Version: 5.7...

Detaillierte Erläuterung der Wissenspunkte zu Linux Netfilter/Iptables

Netzfilter Netfilter ist ein Paketverarbeitungsmo...

CSS - overflow:hidden in Projektbeispielen

Hier sind einige Beispiele, wie ich diese Eigensch...

MySQL-Sharding-Details

1. Einführung in das Geschäftsszenario Angenommen...

So implementieren Sie Vue Page Jump

1. dies.$router.push() 1. Ansicht <Vorlage>...

Beispiel für asynchronen Dateiupload in HTML

Code kopieren Der Code lautet wie folgt: <form...