MySQL-Installation auf einem einzelnen Server (produktionsreif)
MySQLStufe: EinsteigerDauer: 30–45 Min.Installiert einen einzelnen MySQL-8.4-LTS-Server (oder 8.0) von Grund auf und produktionsreif aus dem offiziellen Repository: getrennte Verzeichnisse für Daten, Binlogs und Logs, eine nach RAM/CPU/Plattentyp berechnete my.cnf, GTID und Binlog-Aufbewahrungsdauer, Slow Query Log, SELinux/AppArmor, eingeschränkter root-Zugriff und ein Anwendungsbenutzer. Am Ende hast du eine verifizierte Instanz mit erstem Backup; die Leitfäden zu Replikation, InnoDB Cluster, Backup und Sicherheit bauen auf dieser Installation auf.
Topologie: 1 Server
Vor dem Start
- Der Server läuft auf einem unterstützten, aktuellen Betriebssystem; Zeitzone und NTP (chrony) sind korrekt.
- RAM und CPU entsprechen den Werten im Formular (my.cnf wird daraus berechnet: Buffer Pool … MB).
- Für …, … und … sind Platten/LVs eingebunden (dauerhaft in fstab), Dateisystem XFS oder ext4, ausreichend freier Platz. Binlogs werden … Tage aufbewahrt; reserviere mindestens das …-Fache deines täglichen Schreibvolumens.
- Der Hostname … ist gesetzt und wird zur eigenen IP aufgelöst; das Anwendungsnetz (…) ist erreichbar.
- Der Server erreicht repo.mysql.com per HTTPS, oder ein interner Mirror ist eingerichtet.
- Port … (und der X-Protocol-Port …) ist frei.
- Auf dem Server ist weder MariaDB noch die MySQL-Version des Betriebssystems installiert (das kollidiert mit dem offiziellen MySQL).
- Das Passwort des Anwendungsbenutzers liegt bereit… (in der RHEL-Familie ist validate_password standardmäßig aktiv: mindestens 8 Zeichen, Groß-/Kleinbuchstaben, Ziffern und Sonderzeichen)…. Das Passwort wird während der Installation ohne Anzeige abgefragt; es darf weder ' noch \ enthalten.
- Du bist mit root- oder sudo-Rechten angemeldet; Wartungsfenster und Rückfallplan (Server-Snapshot) stehen bereit.
Phasen der Anleitung
- Vorbereitung des Betriebssystems — Hostname und Systemaktualisierung · Kernel-Parameter (sysctl) · sysctl-Einstellungen anwenden · Transparent Huge Pages deaktivieren
- Installation der MySQL-Software — MySQL-Modul des Betriebssystems deaktivieren · Offizielles MySQL-Repository hinzufügen · MySQL-Serversoftware installieren · Offizielles MySQL-APT-Repository einrichten · MySQL-Serversoftware installieren
- Verzeichnisse und Konfiguration — Verzeichnisse anlegen und berechtigen · my.cnf schreiben · Limit für offene Dateien erhöhen (systemd) · systemd-Konfiguration neu laden · SELinux-Labels festlegen · Neue Verzeichnisse in AppArmor bekannt machen …
- Dienst starten — Dienst aktivieren und starten · Altes Standard-Datenverzeichnis bereinigen
- root-Zugriff und Sicherheit — Temporäres root-Passwort finden · root auf auth_socket umstellen · root-Passwort festlegen · root-Verbindungsdaten speichern (mysql_config_editor) · Standardkonten und Testdatenbank entfernen · Passwortrichtlinien-Komponente (validate_password)
- Anwendungsdatenbank und -benutzer — Datenbank und Anwendungsbenutzer anlegen
- Netzzugriff — Port in der Firewall öffnen
- Verifizierung — Angewendete Einstellungen prüfen · Error Log prüfen · Test der Remote-Verbindung
- Nach der Installation — Erstes logisches Backup erstellen · Monitoring anbinden