Wie man MySQL 8 unter Ubuntu 22.04 installiert und verwendet

MySQL ist eine freie, quelloffene, relationale Datenbankmanagement-Plattform, die von Oracle Cloud betrieben wird. Sie ist aufgrund ihrer bewährten Zuverlässigkeit, schnellen Verarbeitung, Einfachheit und Flexibilität sehr beliebt. Sie nutzt die Structured Query Language, um den Inhalt einer Datenbank hinzuzufügen, darauf zuzugreifen und sie zu verwalten. MySQL 8.0 speichert seine Metadaten in einer bewährten transaktionalen Speicher-Engine namens InnoDB. Es arbeitet auf einer Client/Server-Architektur und kann auf allen gängigen Betriebssystemen installiert werden, darunter Ubuntu, Windows, CentOS und Debian.

Diese Anleitung zeigt dir, wie du MySQL 8 auf dem Ubuntu 22.04 Server installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein Root-Passwort ist auf deinem Server eingerichtet.

Erste Schritte

Aktualisiere zunächst alle Systempakete auf die neueste Version, indem du den folgenden Befehl ausführst:

apt update -y
apt upgrade -y

Sobald alle Pakete aktualisiert sind, kannst du mit dem nächsten Schritt fortfahren.

MySQL 8 installieren Ubuntu 22.04

Standardmäßig ist die neueste Version des MySQL-Servers im Standard-Repository von Ubuntu enthalten. Du kannst ihn installieren, indem du den folgenden Befehl ausführst:

apt install mysql-server -y

Sobald der MySQL-Server installiert ist, kannst du die MySQL-Version mit folgendem Befehl überprüfen:

mysql --version

Du solltest die MySQL-Version in der folgenden Ausgabe sehen:

mysql  Ver 8.0.30-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))

Sobald alle Pakete aktualisiert sind, kannst du mit dem nächsten Schritt fortfahren.

Verwalten des MySQL-Dienstes

Standardmäßig wird der MySQL-Dienst von systemd verwaltet. Mit dem Befehl systemctl kannst du den MySQL-Dienst ganz einfach starten, stoppen und seinen Status überprüfen.

Um den MySQL-Dienst zu starten, führe den folgenden Befehl aus:

systemctl start mysql

Um den MySQL-Dienst zu stoppen, führe den folgenden Befehl aus:

systemctl stop mysql

Du kannst den Status des MySQL-Dienstes mit folgendem Befehl überprüfen:

systemctl status mysql

Du solltest die folgende Ausgabe sehen:

? mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-08-21 12:47:24 UTC; 28s ago
    Process: 26157 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
   Main PID: 26185 (mysqld)
     Status: "Server is operational"
      Tasks: 41 (limit: 2242)
     Memory: 359.8M
        CPU: 1.383s
     CGroup: /system.slice/mysql.service
             ??26185 /usr/sbin/mysqld

Aug 21 12:47:23 ubuntu2204 systemd[1]: Starting MySQL Community Server...
Aug 21 12:47:24 ubuntu2204 systemd[1]: Started MySQL Community Server.

Standardmäßig lauscht MySQL auf Port 3306. Du kannst das mit dem folgenden Befehl überprüfen:

ss -antpl | grep -i mysql

In der folgenden Ausgabe solltest du den Port sehen, an dem MySQL lauscht:

LISTEN 0      70         127.0.0.1:33060      0.0.0.0:*    users:(("mysqld",pid=26185,fd=21))                       
LISTEN 0      151        127.0.0.1:3306       0.0.0.0:*    users:(("mysqld",pid=26185,fd=23))                       

Sobald alle Pakete aktualisiert sind, kannst du mit dem nächsten Schritt fortfahren.

Sichere MySQL-Installation

Als Nächstes solltest du das Skript mysql_secure_installation ausführen, um einige zusätzliche Sicherheitsfunktionen zu aktivieren, z. B. ein neues MySQL-Root-Passwort zu setzen, den anonymen Benutzer zu entfernen und die Fernanmeldung zu deaktivieren.

mysql_secure_installation

Beantworte alle Fragen wie unten gezeigt:

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: 0
Please set the password for root here.

Du wirst aufgefordert, ein neues Passwort zu setzen (siehe unten):

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
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.

Gib J ein und drücke die Eingabetaste, um den anonymen Benutzer zu entfernen.

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.

Gib J ein und drücke die Eingabetaste, um den Remote-Root-Login zu deaktivieren.

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

Gib J ein und drücke die Eingabetaste, um die Testdatenbank zu entfernen.

 - 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! 

Wenn du fertig bist, kannst du mit dem nächsten Schritt fortfahren.

MySQL-Root-Passwort festlegen

Standardmäßig ist das MySQL-Root-Passwort nicht gesetzt. Um es festzulegen, musst du dich mit der MySQL-Shell verbinden:

mysql

Sobald du mit der MySQL-Shell verbunden bist, setze das MySQL-Passwort mit dem folgenden Befehl:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'securepassword';

Führe anschließend den folgenden Befehl aus, um die Änderungen zu speichern:

mysql> FLUSH PRIVILEGES;

Verlasse die MySQL-Shell mit folgendem Befehl:

mysql> EXIT;

Als Nächstes loggst du dich erneut in die MySQL-Shell ein, um das Root-Passwort zu überprüfen:

mysql -u root -p

Sobald du eingeloggt bist, gelangst du in die MySQL-Shell, wie unten dargestellt:

Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.30-0ubuntu0.22.04.1 (Ubuntu)

Copyright (c) 2000, 2022, 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> 

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Erstellen einer Datenbank und eines Benutzers in MySQL

Erstellen wir mit dem folgenden Befehl eine Datenbank namens db1:

mysql> CREATE DATABASE db1;

Du kannst deine erstellte Datenbank mit dem folgenden Befehl überprüfen:

mysql> SHOW databases;

Du erhältst die folgende Ausgabe:

+--------------------+
| Database           |
+--------------------+
| db1                |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

Um die Datenbank in db1 zu ändern, führe den folgenden Befehl aus:

mysql> USE db1;

Um einen Benutzer namens dbuser zu erstellen, führe den folgenden Befehl aus:

mysql> CREATE USER 'dbuser'@'%' IDENTIFIED BY 'password';

Um dbuser alle Rechte für alle Datenbanken zu gewähren, führe den folgenden Befehl aus:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'dbuser'@'%' WITH GRANT OPTION;

Um die Änderungen zu speichern, führe den folgenden Befehl aus:

mysql> FLUSH PRIVILEGES;

Du kannst die MySQL-Shell mit folgendem Befehl verlassen:

mysql> EXIT;

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

MySQL Server deinstallieren

Wenn du den MySQL-Server von deinem Server entfernen möchtest, führe folgenden Befehl aus:

apt remove mysql-server --purge

Als Nächstes entfernst du alle unerwünschten Pakete mit dem folgenden Befehl:

apt autoremove

Fazit

In diesem Beitrag hast du gelernt, wie du MySQL 8 unter Ubuntu 22.04 installierst. Du hast auch gelernt, wie du den MySQL-Dienst verwaltest und eine Datenbank und einen Benutzer anlegst. Jetzt kannst du damit beginnen, neue Datenbanken und Datenbankbenutzer in MySQL anzulegen.

Das könnte dich auch interessieren …