Ubuntu-Resolute-Pakete liefern die MySQL-8.4-Serie; der genaue Security/Update-Build ändert sich mit der Zeit.
Ubuntu 26.04 enthält die MySQL-8.4-Serie. Eine Produktionsinstallation ist mehr als Paketinstallation: Bind-Adresse, Kontomodell, Backup-Prüfung, Storage-Verhalten und Slow-Query-Sichtbarkeit gehören zusammen.
Prüfen Sie, ob der Datenbankport überhaupt öffentlich sein muss. MySQL aus Bequemlichkeit auf 0.0.0.0:3306 zu binden vergrößert die Angriffsfläche unnötig.
Läuft die Anwendung auf demselben VPS, MySQL standardmäßig lokal binden. Für Remote-Zugriff privates Netz/VPN oder Quell-IP-Allow-Lists statt global offenem 3306 verwenden und ein separates Least-Privilege-DB-Konto anlegen.
Läuft die Anwendung auf demselben VPS, MySQL standardmäßig lokal binden. Für Remote-Zugriff privates Netz/VPN oder Quell-IP-Allow-Lists statt global offenem 3306 verwenden und ein separates Least-Privilege-DB-Konto anlegen.
MySQL 8.4 auf Ubuntu 26.04 produktionsorientiert mit Bind-Regeln, Benutzerrechten, TLS, Firewall, Backups, Slow-Query-Log und InnoDB-Sizing einrichten.
Ubuntu-Resolute-Pakete liefern die MySQL-8.4-Serie; der genaue Security/Update-Build ändert sich mit der Zeit.
Für Anwendungen auf demselben Host reduziert localhost-only die Angriffsfläche.
Nur bei echtem Remote-Bedarf und mit Quelladressbeschränkung öffnen.
Ein Backup gilt erst als erfolgreich, wenn es in eine saubere Instanz zurückgespielt werden kann.
Repository-Quelle und Kandidatenversion vor der Produktionsinstallation prüfen.
sudo apt updateapt-cache policy mysql-serversudo apt install mysql-server -ymysql --versionsystemctl status mysql --no-pagerDas Anwendungskonto sollte nur erforderliche Rechte auf seinem eigenen Schema erhalten. Globales `ALL PRIVILEGES` ist meist unnötig.
sudo mysql -e "CREATE DATABASE uygulama CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;"sudo mysql -e "CREATE USER 'uygulama'@'localhost' IDENTIFIED BY 'GUCLU_PAROLA';"sudo mysql -e "GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,INDEX ON uygulama.* TO 'uygulama'@'localhost'; FLUSH PRIVILEGES;"sudo mysql -e "SHOW GRANTS FOR 'uygulama'@'localhost';"Die Listen-Adresse von MySQL und erlaubte Firewall-Quellen sind getrennte Schichten. Beide prüfen.
| Szenario | Bind | Firewall |
|---|---|---|
| Web + DB auf einem VPS | 127.0.0.1 | 3306 extern geschlossen |
| Separate DB im privaten Netz | Private IP | Nur App-Subnet/IP |
| Temporärer Remote-Admin | Private IP bevorzugt | VPN oder eine Quell-IP |
sudo ss -lntp | grep 3306sudo mysql -e "SHOW VARIABLES LIKE 'bind_address';"sudo ufw status numberedFür kleine und mittlere Datenbanken ist `mysqldump` ein klarer Startpunkt; große Systeme benötigen ggf. physische Backups, Replikate oder Snapshots.
mysqldump --single-transaction --routines --triggers uygulama | gzip > uygulama-$(date +%F).sql.gzmysql -e "CREATE DATABASE restore_test CHARACTER SET utf8mb4;"gunzip -c uygulama-YYYY-MM-DD.sql.gz | mysql restore_testmysql -e "SELECT table_schema,COUNT(*) tables_count FROM information_schema.tables WHERE table_schema IN ('uygulama','restore_test') GROUP BY table_schema;"Ziel ist, latenzrelevante Abfragen zu finden, nicht jede Abfrage auf Disk zu schreiben. Log-Wachstum und sensible SQL-Inhalte beachten.
sudo mysql -e "SHOW VARIABLES WHERE Variable_name IN ('slow_query_log','long_query_time','log_output');"sudo mysql -e "SET GLOBAL long_query_time=1.0; SET GLOBAL slow_query_log=ON;"sudo tail -f /var/log/mysql/mysql-slow.logWenn PHP, Webserver, Redis oder Worker denselben VPS teilen, kann MySQL nicht den gesamten RAM nutzen. Erst tatsächliche Nutzung messen.
free -hps -eo pid,comm,%mem,rss --sort=-rss | head -20sudo mysql -e "SHOW VARIABLES LIKE 'innodb_buffer_pool_size';"sudo mysql -e "SHOW GLOBAL STATUS LIKE 'Threads_connected';"„8-GB-VPS“ allein ist keine Datenbankdimensionierung. Eka Sunucu VPS/VDS nach aktivem Datensatz, Parallelität, Query-Mix und Storage-Latenz auswählen.
Primärdokumentation und technische Referenzen dieses Leitfadens.
Mit passenden Infrastruktur- und Implementierungsleitfäden fortfahren.
Ubuntu 26.04 + MySQL 8.4
Ja. Ubuntu resolute liefert die MySQL-8.4-Serie. Der genaue Update-Build ändert sich; mit `apt-cache policy mysql-server` prüfen.
Nein. Die zugrunde liegenden Konto- und Testdatenbankregeln können auch manuell umgesetzt werden. Entscheidend ist der Endzustand.
Standard-Web-Proxying ist dafür nicht gedacht. VPN, privates Netz, SSH-Tunnel oder geeignetes TCP-Proxy-Produkt verwenden.
Das akzeptable Datenverlustfenster (RPO) bestimmt die Frequenz. Ein Bestellsystem benötigt oft tägliche Full-Backups plus Binlogs oder engeren Plan.