Einführung in die MySQL-Optimierung für die Unternehmensproduktion

Einführung in die MySQL-Optimierung für die Unternehmensproduktion

Im Vergleich zu anderen großen Datenbanken wie Oracle, DB2, SQL Server usw. weist MySQL zwar seine eigenen Mängel auf, was seiner Beliebtheit jedoch keinen Abbruch tut. Für normale Einzelbenutzer sowie kleine und mittlere Unternehmen sind die von MySQL bereitgestellten Funktionen mehr als ausreichend. Und da MySQL eine Open-Source-Software ist, können die Gesamtbetriebskosten erheblich gesenkt werden.

Wie optimiert ein Unternehmen MySQL in der Produktion?

Referenzantwort:

a: Hardwareoptimierung:

1. Verwenden Sie eine 64-Bit-CPU, mindestens 4 CPUs, und je größer der L2-Cache, desto besser
2. Der Speicher sollte groß sein. 32–64 G können 1–2 Instanzen ausführen, und 96–128 G können 3–4 Instanzen ausführen.
3. Verwenden Sie für mechanische Festplatten eine SAS-Festplatte mit einer Rotationsgeschwindigkeit von mehr als 15000 und verwenden Sie nach Möglichkeit eine SSD
4. Verwenden Sie raid10 als RAID-Karte
5. Mehrere Netzwerkkarten, Gigabit oder höher
6. Verwenden Sie keine Virtualisierung für Datenbanken, und die Slave-Hardware sollte besser sein als die des Masters

b: Betriebssystemoptimierung

1. Wählen Sie x86_64 als Betriebssystem und versuchen Sie, das xfs-Dateisystem zu verwenden
2. Optimieren Sie die Festplattenspeicherparameter
3. Kernel-Parameter optimieren
4. Netzwerk optimieren usw.

c: MySQL-Architekturoptimierung

1. Konfigurieren Sie den Server so, dass mehrere Instanzen basierend auf der Speichergröße ausgeführt werden
2. Die Master-Slave-Replikation verwendet den gemischten Modus. Versuchen Sie, keine Synchronisierung über Rechenzentren hinweg durchzuführen. Wenn Sie eine Synchronisierung über Rechenzentren hinweg durchführen müssen, versuchen Sie, Remote-Schreiben und lokales Lesen zu verwenden.
3. Regelmäßiges Überprüfen und Beheben von Datenunterschieden zwischen Master- und Slave-Replikation
4. Geschäftsaufteilung, die Suchfunktion verwendet zur Ausführung keine MySQL-Datenbank; einige Geschäfte mit hoher Parallelität und allgemeiner Sicherheit verwenden NoSQL, wie Memcache, Redis usw.
5. Fügen Sie dem Datenbank-Frontend einen Cache wie Memcache für die Benutzeranmeldung und Produktabfrage hinzu
6. Statisiere dynamische Daten, statisiere die gesamte Datei und statisiere Seitenfragmente
7. Trennung von Lesen und Schreiben im Datenbankcluster, ein Master und mehrere Slaves, Trennung von Lesen und Schreiben im Cluster durch dbproxy
8. Wenn eine einzelne Tabelle 8 Millionen überschreitet, werden die Datenbank und die Tabelle aufgeteilt, z. B. durch manuelles Aufteilen (Anmeldung, Produkt, Bestellung) in Tabellen und Datenbanken.
9. Wählen Sie Backup aus der Datenbank und führen Sie ein Backup der Datenbank in separaten Tabellen und Datenbanken durch

d: Optimierung auf MySQL-Datenbankebene

1. Optimieren Sie die my.cnf-Parameter
2. Optimieren Sie das Design von Datenbanktabellen, einschließlich Zeichensätzen, Zeichenfolgenlänge, Erstellung kurzer Indizes und Mehrfachverwendung zusammengesetzter Indizes.
3. Optimieren Sie SQL-Anweisungen und reduzieren Sie die Anzahl langsamer Anweisungen.

e: Datenbankmanagementprozess und Systemoptimierung

1. Menschlicher Prozess: Entwicklung -> Kernbetrieb und Wartung/DBA
2. Testprozess: Der Intranet-IDC-Test wird online durchgeführt
3. Kundenverwaltung, PHPMYADMIN

f: Sicherheitsoptimierung für MySQL-Datenbanken

1. Der Datenbank ist es untersagt, ein externes Netzwerk einzurichten
2. Optimieren Sie die Datenbankdateiberechtigungen.
3. Beschränken Sie die Berechtigungen autorisierter Benutzer und versuchen Sie, dedizierte Datenbanken und dedizierte Benutzer zu verwenden
4. Beschränken Sie die Betriebsrechte der Entwickler auf die Produktionsdatenbank
5. Verhindern Sie die Einschleusung von SQL-Anweisungen

Zusammenfassen

Dies ist das Ende dieses Artikels zur Einführung in die MySQL-Optimierung in der Unternehmensproduktion. Ich hoffe, er ist für alle hilfreich. Interessierte Freunde können sich hier informieren: Detaillierte Erläuterung des Oracle-Codes zur Leistungsoptimierung von Paging-Abfragen, Analyse der wichtigsten Punkte der ORACLE-Technologie zur SQL-Anweisungsoptimierung, Einführung in die C/C++-Compileroptimierung usw. Wenn Sie Fragen haben, können Sie jederzeit eine Nachricht hinterlassen und der Herausgeber wird Ihnen rechtzeitig antworten.

Das könnte Sie auch interessieren:
  • Ein kurzer Vortrag über das MySQL-Optimierungstool - langsame Abfrage
  • Lösung für das Problem „Tabelle ist bereits aktuell“ bei der Optimierung einer Tabelle in MySQL
  • 21 Best Practices zur Leistungsoptimierung von MySQL-Datenbanken

<<:  So erstellen Sie einen NFS-Dienst in Ubuntu 16.04

>>:  Ubuntu16.04 erstellt eine php5.6-Webserverumgebung

Artikel empfehlen

3 einfache Möglichkeiten, Karusselleffekte mit JS zu erzielen

In diesem Artikel werden 3 Methoden beschrieben, ...

Informationen zur Verwendung der Vue v-on-Direktive

Inhaltsverzeichnis 1. Auf Ereignisse achten 2. Üb...

mysql erhält statistische Daten innerhalb eines bestimmten Zeitraums

mysql erhält statistische Daten innerhalb eines b...

MySQL-Datenmigration mit dem Befehl MySQLdump

Die Vorteile dieser Lösung liegen in der Einfachh...

Professionelles und nicht-professionelles Webdesign

Zunächst einmal hängt die Gestaltung des Webseiten...

HTML-Code Textfeld Eingabe begrenzen Textfeld wird grau Textfeldeingabe begrenzen

Methode 1: Setzen Sie das schreibgeschützte Attrib...

Installieren Sie .NET 6.0 im CentOS-System mithilfe eines Cloud-Servers

.NET SDK-Download-Link https://dotnet.microsoft.c...

So konfigurieren Sie Anti-Hotlinking für den Nginx-Websitedienst (empfohlen)

1. Prinzip des Hotlinking 1.1 Vorbereitung der We...

Erstellen, Einschränkungen und Löschen von Fremdschlüsseln in MySQL

Vorwort Ab MySQL-Version 3.23.44 unterstützen Inn...

Lernen Sie Node.js von Grund auf

Inhaltsverzeichnis URL-Modul 1.Parse-Methode 2. F...

Spezifische Verwendung von useRef in React

Ich glaube, dass Leute, die Erfahrung mit React h...

Mysql NULL verursachte die Grube

Verwenden von NULL in Vergleichsoperatoren mysql&...