Die Installation von MySQL auf Debian schafft eine robuste und flexible Datenbank-Infrastruktur, die eine Vielzahl von Anwendungen und Diensten unterstützt. MySQL ist bekannt für seine Skalierbarkeit, Zuverlässigkeit und Stabilität. Durch die Einrichtung profitieren Benutzer von effizienteren Abläufen und einer gesteigerten Gesamtleistung der Datenbankinfrastruktur.
Diese Kombination ist besonders vorteilhaft für Administratoren, Datenbankanalysten und Unternehmen, die eine verlässliche Lösung zum Verwalten großer Datenmengen benötigen. Darüber hinaus erleichtern die umfassende Dokumentation und die Community von MySQL das Troubleshooting und die Optimierung von Abläufen.
In dieser Anleitung zeigen wir den vollständigen Prozess zur Installation und Konfiguration von MySQL auf Debian.
Die Standard-Repositorys von Debian enthalten kein Paket für den MySQL-Datenbankserver. Um MySQL auf einem Linux-System zu installieren, folgen Sie bitte den untenstehenden Anweisungen. Wir laden die aktuelle Version von MySQL herunter.
Laden Sie zunächst das Repository-Informationspaket von MySQL im .deb
-Format herunter:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.30-1_all.deb
Hinweis: Besuchen Sie die MySQL-Repository-Seite, um die neueste Version zu prüfen.
Installieren Sie das heruntergeladene .deb
-Paket mit dpkg
:
sudo dpkg -i mysql-apt-config_0.8.30-1_all.deb
Beantworten Sie die Eingabeaufforderung. Wählen Sie zum Beispiel „MySQL Server & Cluster“ und drücken Sie die Eingabetaste, um mit der Konfiguration fortzufahren.
Wählen Sie dann die gewünschte Version (z. B. mysql-8.4-lts
) und bestätigen Sie mit OK.
Aktualisieren Sie die Paketlisten, um die neue MySQL-Konfiguration anzuwenden:
sudo apt update
Installieren Sie den MySQL-Server:
sudo apt install mysql-server -y
Während der Installation erscheint eine Oberfläche zur Vergabe eines Root-Passworts. Wählen Sie ein sicheres Passwort und bestätigen Sie mit OK.
Überprüfen Sie anschließend die installierte Version:
mysql --version
Aktivieren Sie den automatischen Start von MySQL beim Systemstart:
sudo systemctl enable mysql
Starten Sie den Dienst:
sudo systemctl start mysql
Überprüfen Sie, ob der Dienst läuft:
sudo systemctl status mysql
Bevor Sie den Port 3306
öffnen, sehen Sie sich die Anleitung zur Erstellung eines SSH-Tunnels für MySQL an – so können Sie Verbindungen sicher über SSH weiterleiten und müssen MySQL nicht direkt ins Internet freigeben.
Das bei der Installation gesetzte Root-Passwort schützt nun den Root-Nutzer auf dem Server. MySQL bringt jedoch weitere unsichere Standardeinstellungen mit, etwa den Fernzugriff auf Testdatenbanken oder anonyme Benutzer.
Nach der Installation sollten Sie daher unbedingt unsichere Voreinstellungen deaktivieren. MySQL bietet dafür ein Sicherheits-Skript. Führen Sie es mit folgendem Befehl aus:
sudo mysql_secure_installation
Um die Komponente „VALIDATE PASSWORD
“ zu aktivieren und sichere Passwörter zu erzwingen, geben Sie Y
ein und drücken Sie Enter.
Danach müssen mehrere Sicherheitseinstellungen vorgenommen werden:
Root-Passwort festlegen: Wählen Sie ein starkes Passwort und stellen Sie sicher, dass es korrekt ist. Konfigurieren Sie die Passwort-Richtlinie für den Datenbankserver. Geben Sie z. B. 2
ein, um nur starke Passwörter zuzulassen, und drücken Sie Enter. Wenn Sie das Root-Passwort nicht ändern möchten, geben Sie N
ein, andernfalls Y
.
Anonyme Benutzer entfernen: Es wird empfohlen, den Zugriff anonymer Benutzer zu deaktivieren. Geben Sie dazu Y
ein und drücken Sie Enter.
Remote-Zugriff für Root verhindern: Aus Sicherheitsgründen sollten Sie den Fernzugriff für den Root-Nutzer deaktivieren. Geben Sie Y
ein und drücken Sie Enter.
Testdatenbank löschen: Um die Sicherheit zu erhöhen, sollten Sie die zu Testzwecken verwendete Datenbank löschen. Geben Sie dazu Y
ein und drücken Sie Enter.
Verwenden Sie das Dienstprogramm mysql
, um sich mit dem Datenbankserver zu verbinden:
sudo mysql -u root -p
Geben Sie das Root-Passwort ein, das Sie bei der Sicherung der Installation festgelegt haben.
Es ist bewährte Praxis, nicht mit dem Root-Konto zu arbeiten, sondern eigene Datenbanken und Benutzerkonten für Anwendungen anzulegen.
Legen Sie zunächst eine neue Datenbank an. In unserem Beispiel heißt sie hostmandb
:
CREATE DATABASE hostmandb;
Listen Sie alle vorhandenen Datenbanken auf, um zu prüfen, ob hostmandb
erfolgreich erstellt wurde:
SHOW DATABASES;
Erstellen Sie einen Benutzer und weisen Sie ihm ein starkes Passwort zu. In unserem Fall lautet das Passwort Qwer@1234
für den Benutzer minhal
. Ersetzen Sie diese Werte durch Ihre eigenen Daten:
CREATE USER 'minhal'@'localhost' IDENTIFIED BY 'Qwer@1234';
Geben Sie dem Benutzer vollständigen Zugriff auf die Datenbank hostmandb
:
GRANT ALL PRIVILEGES ON hostmandb.* TO 'minhal'@'localhost';
Damit die Änderungen wirksam werden, aktualisieren Sie die Berechtigungstabellen:
FLUSH PRIVILEGES;
Schließen Sie die MySQL-Konsole:
EXIT;
Testen Sie den Zugriff auf hostmandb
, indem Sie sich mit dem neu erstellten Benutzer anmelden:
sudo mysql -u minhal -p
Geben Sie das Passwort des Benutzers minhal
ein, wenn Sie dazu aufgefordert werden.
Überprüfen Sie, ob hostmandb
verfügbar ist:
SHOW DATABASES;
Wenn Sie MySQL von einem entfernten System aus erreichen möchten, müssen Sie den Server für den Fernzugriff konfigurieren:
mysql.cnf
:sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address
und ändern Sie sie zu:bind-address = 0.0.0.0
sudo systemctl restart mysql
sudo mysql -u root -p
GRANT ALL PRIVILEGES ON hostmandb.* TO 'minhal'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Falls eine Firewall aktiv ist, müssen Sie den MySQL-Port 3306
freigeben:
sudo ufw allow mysql
sudo ufw enable
sudo ufw reload
Regelmäßige Backups schützen vor Datenverlust. Mit dem Tool mysqldump
können Sie Daten sichern und wiederherstellen:
Dieser Befehl nutzt mysqldump
, um ein Backup der Datenbank hostmandb
als Datei hostmandb_backup.sql
zu erstellen:
sudo mysqldump -u root -p hostmandb> hostmandb_backup.sql
Um alle Datenbanken mit Root-Rechten in der Datei all_databases_backup.sql
zu sichern, verwenden Sie:
sudo mysqldump -u root -p --all-databases > all_databases_backup.sql
sudo mysql -u root -p hostmandb < hostmandb_backup.sql
Passen Sie je nach Arbeitslast und Serverressourcen die Einstellungen an, um eine optimale Leistung sicherzustellen. Die folgenden Maßnahmen helfen dabei, die Geschwindigkeit von MySQL zu maximieren:
Im InnoDB-Buffer-Pool werden Zwischenspeicher für Daten und Indizes abgelegt. Eine Erhöhung dieser Größe kann die Performance deutlich verbessern. Öffnen Sie die MySQL-Konfigurationsdatei:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Fügen Sie hinzu oder bearbeiten Sie:
innodb_buffer_pool_size = 1G
Der Query Cache speichert die Ergebnisse von SELECT
-Abfragen. Das Aktivieren kann bei häufig wiederholten Abfragen die Leistung verbessern. Öffnen Sie die Konfigurationsdatei:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Fügen Sie die folgenden Zeilen hinzu oder passen Sie sie an:
query_cache_type = 1
query_cache_size = 64M
Optimieren Sie regelmäßig Tabellen wie customers
in der Datenbank hostmandb
, um Speicherplatz freizugeben und die Effizienz zu erhöhen:
USE hostmandb;
OPTIMIZE TABLE customers;
Datenbankoperationen lassen sich mit Tools wie MySQL Workbench oder mysqltuner
analysieren. Installieren Sie mysqltuner
mit folgendem Befehl:
sudo apt install mysqltuner
Führen Sie mysqltuner
aus, um Empfehlungen zur Leistungsverbesserung zu erhalten:
sudo mysqltuner
Die Einrichtung einer MySQL-Datenbankumgebung ist in der heutigen digitalen Welt von großer Bedeutung. Mit dieser Anleitung können Sie Ihre MySQL-Datenbank sicher installieren und verbinden. Dieses Vorgehen erhöht nicht nur die Sicherheit, sondern verbessert auch die Effizienz der Remote-Verwaltung Ihrer Datenbank. Es hilft, Sicherheitslücken zu vermeiden und die Vertraulichkeit Ihrer Daten zu gewährleisten.
Dieser Artikel bietet eine ausführliche Schritt-für-Schritt-Anleitung zur Installation der MySQL-Datenbankumgebung auf Debian. Wir empfehlen, MySQL-Server regelmäßig zu überwachen und zu optimieren, um eine optimale Leistung und Zuverlässigkeit sicherzustellen.
Darüber hinaus bietet Hostman vorkonfigurierte und sofort einsatzbereite Cloud-Datenbanken, darunter auch MySQL in der Cloud.