In diesem Tutorial zeigen wir Ihnen, wie Sie MySQL auf Ihrem Ubuntu 20.04 installieren und wie Sie es mit den grundlegenden MySQL-Befehlen verwenden. MySQL ist ein relationales Open-Source-Datenbankverwaltungssystem und wird aufgrund seiner Popularität auf verschiedenen Systemen zum Speichern von Daten weit verbreitet verwendet.
In diesem Beitrag erfahren Sie mehr über das Anmelden bei MySQL mit oder ohne Root-Benutzer, das Erstellen von Datenbanken, das Erstellen von Benutzern, das Gewähren von Berechtigungen, den externen Zugriff auf Ihre Datenbanken, das Importieren einer Datenbank, das Erstellen eines Dumps einer Datenbank usw. Fangen wir an!
1. Aktualisieren Sie das System
Wir gehen davon aus, dass Sie eine Neuinstallation von Ubuntu 20.04 als Betriebssystem haben und werden daher das System aktualisieren, bevor wir mit der Installation beginnen.
sudo apt update -y && sudo apt upgrade -y
2. MySQL-Server installieren
Installieren Sie den MySQL-Datenbankserver mit dem folgenden Befehl:
sudo apt install mysql-server -y
Nachdem dieser Befehl ausgeführt wurde, beginnt der Installationsprozess von MySQL 8.0. MySQL 8.0 ist standardmäßig im Ubuntu 20.04-Repository enthalten. Sobald die Installation abgeschlossen ist, können Sie überprüfen, ob der Dienst ausgeführt wird:
sudo systemctl status mysql
Sie sollten die folgende Ausgabe erhalten:
root@vps:~# systemctl status mysql ● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2021-11-04 17:07:12 UTC; 39s ago Main PID: 98088 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 4617) Memory: 355.4M CGroup: /system.slice/mysql.service └─98088 /usr/sbin/mysqld
3. Sichern Sie den MySQL-Server
Bevor wir mit der Verwendung von MySQL beginnen, müssen wir es in mehreren Schritten mit dem folgenden Befehl sichern:
sudo mysql_secure_installation
Dieser Befehl führt uns durch mehrere Schritte, die uns helfen, die Sicherheit unseres MySQL zu konfigurieren, ein sicheres Root-Passwort festzulegen usw. Sie sollten die Optionen mit fetten Buchstaben aus der folgenden Ausgabe verwenden:
root@vps:~# sudo mysql_secure_installation 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 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: 2 Please set the password for root here. New password: YourStrongRootPassword Re-enter new password:YourStrongRootPassword 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 By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. 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!
Die MySQL-Installation wird jetzt gesichert und wir können in den nächsten Schritten mit einigen nützlichen Befehlen fortfahren
4. Melden Sie sich mit und ohne Root-Passwort beim MySQL-Server an
Nach der Neuinstallation von MySQL können Sie sich bei der MySQL-Eingabeaufforderung anmelden, indem Sie einfach die „mysql ” auf der Befehlszeile des Servers ohne MySQL, um nach dem Root-Passwort zu fragen, das Sie im vorherigen Schritt eingerichtet haben.
Nachdem Sie die Datei „mysql ” werden Sie an der MySQL-Eingabeaufforderung angemeldet.
root@vps:~# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 13 Server version: 8.0.27-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>
Das Gleiche gilt, wenn Sie den folgenden Befehl ausführen und die Eingabetaste drücken, ohne Ihr Passwort einzugeben:
mysql -u root -p
Um MySQL so zu konfigurieren, dass es nach dem Root-Passwort fragt, führen Sie den folgenden Befehl in der MySQL-Eingabeaufforderung aus:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourStrongRootPassword';
Nach dem Ausführen sollten Sie die folgende Eingabe sehen
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourStrongRootPassword'; Query OK, 1 rows affected (0.01 sec) mysql
Wenn Sie nun versuchen, sich mit „mysql ” Befehl erhalten Sie die folgende Meldung:
root@vps:~# mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Sie müssen den folgenden Befehl mit Ihrem zuvor festgelegten Root-Passwort verwenden:
mysql -u root -p
Es ist Ihre Entscheidung, ob Sie ein Passwort für die Root-Anmeldung verwenden möchten oder nicht. Wenn Sie ohne Passwort zugreifen möchten, ignorieren Sie diesen Schritt einfach und fahren Sie fort.
5. Datenbank, Benutzererstellung und Gewährung von Privilegien
Wenn Sie die Datenbanken in der MySQL-Eingabeaufforderung mit dem Befehl „show databases“ auflisten, erhalten Sie die Standarddatenbanken von MySQL:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.01 sec)
Um eine Datenbank zu erstellen, führen Sie den folgenden Befehl aus:
Create database 'admin';
Sobald sie erstellt ist, können Sie die Datenbanken erneut auflisten:
mysql> show databases; +--------------------+ | Database | +--------------------+ | admin | | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec) mysql>
Lassen Sie uns einen Benutzer namens „adminuser“ erstellen und der „admin“-Datenbank mit einem Passwort Berechtigungen erteilen.
CREATE USER 'adminuser'@'localhost' IDENTIFIED by 'YourStrongPassword'; GRANT ALL PRIVILEGES ON admin* TO 'adminuser'@'localhost'; FLUSH PRIVILEGES; EXIT;
Einmal wird der Datenbankbenutzer mit Rechten für den „admin“ erstellt ” Datenbank können Sie leicht überprüfen, ob alles richtig eingerichtet ist:
mysql -u adminuser -p
Sie sollten nur die Datei „admin“ sehen “ und die Vorgabe „information_schema ” Datenbanken:
mysql> show databases; +--------------------+ | Database | +--------------------+ | admin | | information_schema | +--------------------+ 2 rows in set (0.01 sec) mysql>
6. Externer Zugriff auf Benutzer
Um dem Benutzer „adminuser Fernzugriff zu gewähren “ und unsere bestehende „admin ” Datenbank führen Sie den folgenden Befehl aus:
GRANT ALL ON admin.* TO adminuser@'remote_ip_address' IDENTIFIED BY 'YourStrongPassword';
Wenn Sie möchten, dass sich der Benutzer von einer beliebigen IP-Adresse aus verbindet, verwenden Sie % :
GRANT ALL ON admin.* TO adminuser@'%' IDENTIFIED BY 'YourStrongPassword';
7. Erstellen Sie einen Dump der Datenbank
Das Erstellen eines Speicherauszugs der Datenbank erfordert keine Anmeldung bei der MySQL-Eingabeaufforderung. Dies kann über das Server-Befehlszeilenterminal unter Verwendung des Benutzernamens, der Datenbank und des Kennworts erfolgen. Wir erstellen einen Dump unserer „admin Datenbank mit dem Root-Benutzer:
mysqldump -u root -p admin > dump.sql
Sobald der Dump abgeschlossen ist, können Sie eine Liste erstellen, um zu überprüfen, ob alles in Ordnung ist
root@vps:/# mysqldump -u root -p admin > dump.sql Enter password: root@vps:/# ls -al total 12 drwxr-xr-x 2 root root 4096 Nov 4 21:38 . drwxr-xr-x 19 root root 4096 Oct 18 14:09 .. -rw-r--r-- 1 root root 1266 Nov 4 21:40 dump.sql
8. Datenbank-Dump importieren
Um den Dump der Datenbank in die „admin ” Datenbank mit dem Root-Benutzer müssen Sie den folgenden Befehl verwenden:
mysql -u root -p admin < dump.sql
Dies ist die Syntax zum Sichern und Importieren der Datenbank:
mysqldump -u "database user" -p "database name" > "name of dump file".sql mysql -u "database user" -p "database name" < "name of dumped database".sql
Bitte beachten Sie, dass der Datenbankbenutzer über Berechtigungen für die Datenbank verfügen muss, die gesichert werden muss. Der MySQL-Root-Benutzer hat die Berechtigung, alle Datenbanken zu sichern und zu importieren.
Herzlichen Glückwunsch, Sie haben es geschafft, die wichtigsten Befehle im MySQL-Server zu installieren und zu verwenden
Wenn Sie mehr über MySQL-Befehle erfahren möchten, können Sie deren offizielle Dokumentation besuchen. Wenn Sie Schwierigkeiten haben, können Sie sich natürlich rund um die Uhr an unseren technischen Support wenden, und unsere Administratoren installieren und konfigurieren den MySQL-Server auf Ubuntu 20.04 für Sie.
Wenn Ihnen dieser Beitrag zur Installation und Verwendung von MySQL unter Ubuntu 20.04 gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.