In dieser Anleitung erfahren Sie, wie Sie MySQL unter Ubuntu Linux installieren und dann MySQL root
festlegen Benutzerkennwort und schließlich, wie man als root
auf den MySQL-Server zugreift Benutzer.
Alle unten aufgeführten Schritte wurden auf einer frisch installierten Ubuntu 20.04 LTS Server Edition getestet.
Voraussetzungen
Stellen Sie vor der Installation von MySQL sicher, dass Ihr Ubuntu-System mit den neuesten Paketen aktualisiert ist:
$ sudo apt update
$ sudo apt upgrade
Sobald alle Updates installiert sind, starten Sie Ihr System neu:
$ sudo reboot
1. Installieren Sie MySQL unter Ubuntu Linux
MySQL ist in den Standard-Repositories von Ubuntu Linux verfügbar. Um MySQL unter Ubuntu Linux zu installieren, führen Sie Folgendes aus:
$ sudo apt install mysql-server
Dieser Befehl installiert alle notwendigen Komponenten, um einen MySQL-Datenbankserver in Ubuntu einzurichten.
Um die MySQL-Version zu überprüfen, führen Sie Folgendes aus:
$ mysql --version
Oder verwenden Sie das große V
:
$ mysql -V
Beispielausgabe:
mysql Ver 8.0.25-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
1.1. MySQL-Dienst starten, neu starten und stoppen
In Ubuntu wird der MySQL-Dienst automatisch gestartet, sobald der MySQL-Server installiert ist. Um zu überprüfen, ob der MySQL-Dienst gestartet ist oder nicht, führen Sie Folgendes aus:
$ sudo systemctl status mysql
Beispielausgabe:
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-05-26 10:55:17 UTC; 4min 26s ago Main PID: 1520 (mysqld) Status: "Server is operational" Tasks: 37 (limit: 2280) Memory: 332.8M CGroup: /system.slice/mysql.service └─1520 /usr/sbin/mysqld May 26 10:55:15 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server… May 26 10:55:17 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.
Wie Sie sehen können, ist der MySQL-Dienst geladen und läuft! Wenn es aus irgendeinem Grund nicht gestartet wird, können Sie den MySQL-Dienst mit folgendem Befehl starten:
$ sudo systemctl start mysql
Damit MySQL bei jedem Neustart automatisch startet, führen Sie Folgendes aus:
$ sudo systemctl enable mysql
Um den MySQL-Dienst neu zu starten, führen Sie Folgendes aus:
$ sudo systemctl restart mysql
2. Legen Sie das MySQL-Root-Benutzerpasswort fest
Standardmäßig ist das MySQL-Root-Passwort leer, was in der Produktion nicht empfohlen wird. Sie müssen einen starken und eindeutigen Administratorbenutzer für die Datenbank festlegen, d. h. ein Root-Benutzerpasswort. MySQL wird mit einem Skript namens mysql_secure_installation
ausgeliefert um unsichere Standardeinstellungen zu entfernen und den Datenbankserver zu sichern.
Die mysql_secure_installation
Das Skript macht Folgendes:
- Richten Sie die
VALIDATE PASSWORD COMPONENT
ein , - Falls
VALIDATE PASSWORD COMPONENT
aktiviert ist, legen Sie Ihre bevorzugtepassword validation
fest Politik, - Anonyme Benutzer entfernen
- Verbiete
root
Benutzer-Login aus der Ferne, - Entfernen Sie die Testdatenbank und entfernen Sie die Berechtigungen für die Testdatenbank,
- Laden Sie endlich die Berechtigungstabellen neu.
Lassen Sie uns nun dieses Skript ausführen:
$ sudo mysql_secure_installation
Wenn Sie diesen Befehl zum ersten Mal nach der MySQL-Installation ausführen, werden Sie mit einem leeren Passwort mit MySQL verbunden. Dann werden Sie gefragt, ob Sie VALIDATE PASSWORD PLUGIN
einrichten möchten .
Das VALIDATE PASSWORD PLUGIN
wird verwendet, um Passwörter zu testen und die Sicherheit zu verbessern. Es überprüft die Passwortstärke und erlaubt den Benutzern, nur die Passwörter festzulegen, die sicher genug sind. Das Einrichten von VALIDATE PASSWORD COMPONENT ist optional. Es ist sicher, es deaktiviert zu lassen . Ich empfehle Ihnen jedoch, beim Erstellen von Benutzerrollen starke und eindeutige Passwörter zu verwenden. Wenn Sie VALIDATE PASSWORD PLUGIN
nicht aktivieren möchten , drücken Sie einfach eine beliebige Taste, um den Teil der Passwortvalidierung zu überspringen und fahren Sie mit den restlichen Schritten fort.
Ich möchte dieses VALIDATE PASSWORD PLUGIN
verwenden , also habe ich y eingegeben für ja:
Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: y
Wenn Sie sich für Ja entscheiden , werden Sie aufgefordert, eine Kennwortrichtlinienebene auszuwählen. Es sind drei Kennwortvalidierungsrichtlinien verfügbar. Sie sind NIEDRIG , MITTEL und STARK . Jede Kennwortrichtlinie enthält eine Reihe von Kennwortregeln, die Sie beim Erstellen neuer Datenbankrollen verwenden sollten. Wenn Sie beispielsweise MEDIUM wählen, sollte das Passwort mindestens 8 Zeichen lang sein, einschließlich einer Zahl, einem Klein- und Großbuchstaben und einem Sonderzeichen. Wählen Sie eine beliebige Passwortrichtlinie, die zu Ihnen passt.
Ich gehe mit der Passwortrichtlinie auf NIEDRIGER Stufe, also wähle ich 0 (Null):
There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
Geben Sie als Nächstes zweimal das Passwort des MySQL-Root-Benutzers ein. Nach der Eingabe des Passworts wird die Punktzahl der Passwortstärke angezeigt. In meinem Fall habe ich 100 erhalten. Wenn die Passwortstärke für Sie in Ordnung ist, drücken Sie y
um mit dem angegebenen Passwort fortzufahren. Andernfalls geben Sie ein anderes starkes Passwort ein und drücken Sie dann Y
weitermachen.
Please set the password for root here. New password: Re-enter new password: Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
Bitte verwechseln Sie dies nicht mit dem root
Ihres Systems Konto. Es ist ein Administratorkonto für unseren Datenbankserver.
Drücken Sie als Nächstes y
und drücken Sie die EINGABETASTE, um die Standardeinstellungen für alle nachfolgenden Fragen zu akzeptieren. Dadurch werden anonyme Benutzer entfernt, die Root-Anmeldung aus der Ferne unterbunden und die Testdatenbanken entfernt.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Success. All done!
Wir haben das MySQL-Root-Benutzerpasswort festgelegt.
Haben Sie Ihr MySQL-Root-Passwort vergessen? Kein Problem! Sie können das Root-Passwort in MySQL ganz einfach zurücksetzen, wie in den folgenden Links beschrieben:
- So setzen Sie das Root-Passwort in MySQL 8 unter Ubuntu Linux zurück
- So setzen Sie das Passwort des MySQL-Root-Benutzers unter Linux zurück
3. Melden Sie sich bei MySQL an
Um sich beim MySQL-Server als root
anzumelden Benutzer, führen Sie einfach Folgendes aus:
$ sudo mysql
Geben Sie das Kennwort Ihres Benutzers ein, um auf die MySQL-Eingabeaufforderung zuzugreifen:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 18 Server version: 8.0.25-0ubuntu0.20.04.1 (Ubuntu) Copyright (c) 2000, 2021, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Beginnen Sie mit der Erstellung der Benutzerrollen und Datenbanken für Ihre Projekte. Wir werden es bald in einem separaten Leitfaden behandeln.
Um die help
anzuzeigen Geben Sie im Abschnitt help
ein oder \h
und drücken Sie ENTER
Schlüssel:
mysql> help
Um die MySQL-Eingabeaufforderung zu verlassen und zu Ihrem Terminal zurückzukehren, führen Sie Folgendes aus:
mysql> exit
4. Authentifizierungsmethode für MySQL-Root-Benutzer ändern
Haben Sie bemerkt, dass ich mich beim MySQL-Server angemeldet habe, ohne das Passwort des MySQL-Root-Benutzers anzugeben? Ich habe einfach das Passwort meines Systembenutzerkontos eingegeben, aber nicht das Passwort des MySQL-Root-Benutzers. Dies liegt daran, dass der MySQL-Root-Benutzer auth_socket
verwendet Plugin zur Authentifizierung mit dem MySQL-Server in Ubuntu-Systemen, auf denen MySQL 5.7 und neuere Versionen ausgeführt werden.
Der auth_socket
Das Plug-in authentifiziert Clients, die sich vom lokalen Host über die Unix-Socket-Datei mit dem MySQL-Server verbinden. Sie können sich also nicht als root
beim MySQL-Server authentifizieren Benutzer durch Angabe eines Passworts.
Wenn Sie die Kennwortauthentifizierung für den MySQL-Root-Benutzer verwenden möchten, müssen Sie den MySQL-Server neu konfigurieren, um eine andere Authentifizierungsmethode zu verwenden, wie im folgenden Artikel beschrieben.
>> Change Authentication Method For MySQL Root User In Ubuntu
Schlussfolgerung
In diesem Handbuch haben wir gelernt, MySQL im Betriebssystem Ubuntu Linux zu installieren. Wir haben auch gelernt, wie man das MySQL-Root-Benutzerpasswort festlegt und wie man als root
auf den MySQL-Server zugreift oder sich mit ihm verbindet Benutzer.