MySQL ist ein Open-Source-, leistungsstarkes und weit verbreitetes Verwaltungssystem für relationale Datenbanken (RDBMS). die die Daten in einzelne oder mehrere Datentabellen organisiert, in denen Datentypen miteinander in Beziehung stehen können andere. Structured Query Language (SQL) arbeitet mit RDBMS, und wenn jemand eine riesige Datenmenge speichern oder verwalten möchte, erwirbt er den Service einer relationalen Datenbank und SQL.

Dieser Artikel zeigt, wie Sie MySQL auf Ihrem Ubuntu 18.04-Server konfigurieren. Es zeigt Ihnen auch, wie Sie die Authentifizierung aktivieren, gefolgt von der Dienstverwaltung. Am Ende erfahren Sie auch, wie Sie den Dienst testen, um die erfolgreiche Konfiguration zu überprüfen.

Schritt 1: Installation des MySQL-Clients

Installiere das mysql-client um sich remote mit dem Server zu verbinden:

sudo apt install mysql-client -y

Überprüfen Sie die Client-Version, um zu überprüfen, ob die Installation erfolgreich war:

mysql-V

Ausgabe:

mysql Ver 8.0.28-0ubuntu0.20.04.3 für Linux auf x86_64 ((Ubuntu))
instagram viewer

Nun können Sie mit folgendem Befehl eine Remote-Verbindung zum MySQL-Server herstellen:

mysql-u  -P -h HOSTNAME_OR_IP

Schritt 2: Installation des MySQL-Servers

Stellen Sie vor der Installation von MySQL sicher, dass der Ubuntu-Server ordnungsgemäß installiert und konfiguriert ist. Der Ubuntu 18.04-Server enthält standardmäßig die neueste MySQL-Version 5.7 in den Repositories. Verwenden Sie den apt-Befehl, um die Systempakete aus dem Repository wie folgt zu aktualisieren:

sudo apt aktualisieren

Verwenden Sie nun den folgenden Befehl, um das MySQL-Serverpaket zu installieren:

sudo apt install mysql-server -y

Schritt 3: MySQL-Konfiguration

In dieser Ära anhaltender Cybersicherheitsbedrohungen ist es ein Standard, die Standardoptionen nach erfolgreicher Serverinstallation zu ändern. Dieser Abschnitt führt Sie durch die MySQL-Serverkonfiguration, um unsichere Standardoptionen wie Remote-Root-Logins, Standardbenutzerkonten usw. zu eliminieren. MySQL erleichtert diese Aufgabe, indem es alle Änderungen mithilfe eines einfachen Sicherheitsskripts automatisch vornimmt.

sudo mysql_secure_installation

Das Skript fordert mehrere Optionen auf, die Ja- oder Nein-Antworten erfordern, um die MySQL-Standardsicherheit zu ändern. Antworten Sie beispielsweise auf die erste Eingabeaufforderung, ob Sie ein Plug-in zum Überprüfen von Passwörtern einrichten möchten Jawohl und fortsetzen.

Die nächste Eingabeaufforderung fordert Sie auf, das Kennwort für das MySQL-Root-Benutzerkonto festzulegen. Sie können feststellen, dass die Aktivierung des Validate Password-Plugins die Einstellung der Passwortstärke anhand von drei Ebenen der Passwortsicherheitsrichtlinie und -länge ermöglicht.

Geben Sie die Nummer ein, die Sie auswählen möchten, um die Passwortstärke festzulegen. Das System fordert Sie dann auf, das neue Passwort festzulegen und es zur Bestätigung wie folgt erneut einzugeben:

Sie können feststellen, dass nach dem Festlegen des Passworts die Stärke angezeigt wird und Sie gefragt werden, ob Sie fortfahren möchten.

Jetzt werden folgende Fragen gestellt:

  1. Anonymen Testbenutzer entfernen
  2. Deaktivieren Sie die Remote-Anmeldung vom Root-Benutzer
  3. Entfernen Sie die Testdatenbanken
  4. Berechtigungstabelle neu laden, um alle Änderungen zu speichern

Art Y um mit den Standardeinstellungen fortzufahren, um Sicherheitsregeln festzulegen.

Bei älteren MySQL-Versionen (vor 5.7.6) müssen Sie das Datenbankverzeichnis manuell initialisieren. Führen Sie für Versionen danach den folgenden Befehl aus:

mysqld – initialisieren

Schritt 4: Anpassungen der MySQL-Benutzerauthentifizierung

Unabhängig von der Einrichtung eines Passworts für ein MySQL-Benutzerkonto deaktiviert die Standardeinstellung für die Authentifizierung die Verwendung von Passwörtern während des Verbindungsaufbaus. Stattdessen authentifiziert es den Benutzer automatisch mit Hilfe der auth_socket Plugin. Das Plugin ist ein großartiges Feature für die Benutzerfreundlichkeit, aber es ist nicht praktisch, wenn Sie von einem Remote-Client aus auf Ihre Datenbank zugreifen möchten.

Da der Datenbankzugriff ohne Passwort beim Zugriff durch ein externes Programm den Arbeitsprozess erschwert, fasst dieser Abschnitt zwei Möglichkeiten zusammen, den Benutzer beim Verbindungsaufbau zu authentifizieren:

1. Root-Benutzerauthentifizierung mit Passwort

Um die Benutzerauthentifizierung per Passwort zu gewährleisten, können Sie das Plugin von "auth_socket" zu "mysql_native_password." Öffnen Sie dazu den MySQL-Prompt-Bildschirm mit der sudo mysql Befehl und überprüfen Sie das Plugin, das für die Benutzerauthentifizierung verwendet wird, wie folgt:

WÄHLEN Sie Benutzer, Authentifizierungszeichenfolge, Plugin, Host FROM mysql.user;

Der obige Screenshot zeigt, dass sich der Root-Client mithilfe des Plugins „auth_socket“ selbst authentifiziert. Um die Root-Client-Authentifizierung mit einem Passwort zu initialisieren, verwenden Sie die ALTER USER-Anweisung, um das „mysql_native_password“-Plugin festzulegen.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Speichern Sie die obigen Änderungen wie folgt:

FLUSH-PRIVILEGIEN;

Die MySQL-Anweisung "FLUSH PRIVILEGES" speichert Änderungen an den Datenbanktabellen, die durch die Klauseln ALTER, INSERT, UPDATE und DELETE vorgenommen wurden.

Um nun die von jedem Benutzer verwendeten Authentifizierungsstrategien zu überprüfen und sicherzustellen, dass das Plugin "auth_socket" nicht vom Root-Client verwendet wird, führen Sie den Befehl erneut aus:

WÄHLEN Sie Benutzer, Authentifizierungszeichenfolge, Plugin, Host FROM mysql.user;

Jetzt kann sich der Root-Benutzer mit dem Server verbinden, indem er sich über den folgenden Befehl authentifiziert:

sudo mysql -u root -p

2. Erstellen Sie einen dedizierten Benutzer

Eine andere Möglichkeit, die Authentifizierung ohne die Verwendung von mysql_native_password zu aktivieren, besteht darin, einen dedizierten Benutzer wie folgt zu erstellen:

sudo mysql

Erstellen Sie ein neues Konto und gewähren Sie alle Berechtigungen, um dem neuen Benutzer die Kontrolle auf Administratorebene zuzuweisen. Verlassen Sie dann die MySQL-Eingabeaufforderung. Führen Sie die aus folgenden SQL-Abfragen eins nach dem anderen, um dies zu erreichen:

BENUTZER ERSTELLEN 'ubuntu'@'localhost' IDENTIFIZIERT DURCH 'passwort';
GEWÄHREN SIE ALLE PRIVILEGIEN AUF *.* ZU 'ubuntu'@'localhost' MIT GRANT OPTION;
Ausfahrt

Verwalten und testen Sie den MySQL-Dienst mit systemctl

Stellen Sie den Dienst so ein, dass er beim Start des Ubuntu-Servers ausgeführt wird, indem Sie die verwenden systemctl aktivieren Befehl wie folgt:

sudo systemctl aktiviert mysql

Außerdem können Sie testen, ob der Server betriebsbereit ist, indem Sie Folgendes eingeben:

sudo systemctl status mysql

Oder

sudo systemctl status mysql.service

Der Dienst wird nach der MySQL-Installation automatisch ausgeführt. Wenn dies jedoch nicht der Fall ist, können Sie den Dienst mit dem folgenden Befehl starten:

sudo systemctl mysql starten

Erste Schritte mit MySQL Server auf Ubuntu

MySQL ist ein quelloffenes, benutzerfreundliches, skalierbares und robustes Datenbankverwaltungssystem. Außerdem ist es ein integraler Bestandteil des LAMP/LEMP-Stack-Modells oder der Webanwendungstechnologien. Dieses relationale Datenbankverwaltungssystem (RDBMS) bietet eine einfache Installation und einfache Konfiguration in seinen neuesten Versionen.

Dieser Artikel führt Sie durch den Aufbau eines grundlegenden MySQL-Setups, das Ihnen helfen wird Beginnen Sie damit, zu lernen, wie MySQL funktioniert. Es deckt auch einige erste wichtige Sicherheitsmaßnahmen in seiner Konfiguration ab, um die Lücken in der Standardkonfiguration zu vermeiden. Sie können mehr über das Sichern von MySQL erfahren, indem Sie einige Sicherheitstipps für Fortgeschrittene befolgen.

9 erweiterte MySQL-Sicherheitstipps

Lesen Sie weiter

TeilenTwitternTeilenEmail

Verwandte Themen

  • Linux
  • Datenbank
  • SQL
  • Linux-Apps
  • Software installieren
  • Ubuntu

Über den Autor

Rumaisa Niazi (21 veröffentlichte Artikel)

Rumaisa ist freiberufliche Autorin bei MUO. Sie hat viele Rollen getragen, von einer Mathematikerin bis hin zu einer Enthusiastin für Informationssicherheit, und arbeitet jetzt als SOC-Analystin. Ihre Interessen umfassen das Lesen und Schreiben über neue Technologien, Linux-Distributionen und alles rund um Informationssicherheit.

Mehr von Rumaisa Niazi

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich anzumelden