Mit der Veröffentlichung von Debian 9 Stretch MySQL ist das weltweit beliebteste relationale Open-Source-Datenbankverwaltungssystem nicht mehr in den Debian-Repositories verfügbar und MariaDB ist zum Standard-Datenbanksystem geworden. MariaDB ist ein abwärtskompatibler, binärer Ersatz für MySQL.
In diesem Tutorial zeigen wir Ihnen, wie Sie MySQL auf einem Debian 9-Rechner aus dem MySQL Apt Repository installieren und sichern. Wenn Ihre Anwendung keine besonderen Anforderungen stellt, sollten Sie bei MariaDB bleiben, dem Standard-Datenbanksystem in Debian 9.
Voraussetzungen #
Bevor Sie mit diesem Tutorial fortfahren, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind.
Schritt 1:MySQL-Repository konfigurieren #
Um das MySQL APT-Repository zu Ihrem System hinzuzufügen, gehen Sie zur Download-Seite des Repositorys und laden Sie das neueste Release-Paket mit dem folgenden wget-Befehl herunter:
wget http://repo.mysql.com/mysql-apt-config_0.8.10-1_all.deb
Sobald der Download abgeschlossen ist, installieren Sie das Release-Paket mit dem folgenden Befehl:
sudo apt install ./mysql-apt-config_0.8.10-1_all.deb
Ihnen wird das Konfigurationsmenü angezeigt, in dem Sie die MySQL-Version auswählen können, die Sie installieren möchten.
MySQL 8.0 ist vorausgewählt, wenn Sie eine andere Version von MySQL installieren möchten, wählen Sie MySQL Server & Cluster (Currently selected: mysql-8.0)
und wählen Sie Ihre bevorzugte MySQL-Version aus
Wir werden MySQL Version 8.0 installieren. Wählen Sie die letzte Option OK
und drücken Sie Enter
(wie auf dem Bild oben gezeigt), um die Konfiguration zu speichern.
Schritt 2:Installation von MySQL #
Bevor Sie MySQL auf Ihrem Debian 9-Server installieren, aktualisieren Sie zuerst die Paketliste mit:
sudo apt update
Sobald die Paketliste aktualisiert ist, führen Sie den folgenden Befehl aus, um MySQL auf Ihrem Debian-Server zu installieren:
sudo apt install mysql-server
Das Installationsprogramm fordert Sie auf, das MySQL-Root-Passwort festzulegen. Legen Sie das Passwort jetzt nicht fest (lassen Sie es leer), wir werden das im nächsten Abschnitt tun.
Als nächstes wird Ihnen eine Meldung angezeigt, die Sie über die neue MySQL 8-Authentifizierung informiert. Stellen Sie vor der Auswahl des standardmäßigen MySQL 8-Authentifizierungs-Plugins sicher, dass es von Ihrer Anwendung unterstützt wird.
Schritt 3:Überprüfen der MySQL-Installation #
Sobald die Installation abgeschlossen ist, wird der MySQL-Dienst automatisch gestartet.
Wir können den Status des MySQL-Dienstes überprüfen, indem wir Folgendes eingeben:
sudo systemctl status mysql
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset:
Active: active (running) since Thu 2018-08-02 17:22:18 UTC; 18s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 14797 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (co
Main PID: 14832 (mysqld)
Status: "SERVER_OPERATING"
Tasks: 37 (limit: 4915)
CGroup: /system.slice/mysql.service
└─14832 /usr/sbin/mysqld
Schritt 4:MySQL sichern #
Führen Sie die mysql_secure_installation
aus Befehl, um das Root-Passwort festzulegen und die Sicherheit der MySQL-Installation zu verbessern:
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:
Sie werden aufgefordert, das VALIDATE PASSWORD PLUGIN
zu konfigurieren die verwendet wird, um die Stärke der Passwörter der MySQL-Benutzer zu testen. Es gibt drei Stufen der Kennwortvalidierungsrichtlinie:niedrig, mittel und stark. Drücken Sie ENTER
wenn Sie das Plugin zur Passwortvalidierung nicht einrichten möchten.
Please set the password for root here.
New password:
Re-enter new password:
Bei der nächsten Eingabeaufforderung werden Sie aufgefordert, ein Passwort für den MySQL-Root-Benutzer festzulegen.
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!
Sobald Sie das Root-Passwort festgelegt haben, fordert Sie das Skript außerdem auf, den anonymen Benutzer zu entfernen, den Zugriff des Root-Benutzers auf den lokalen Computer zu beschränken und die Testdatenbank zu entfernen. Sie sollten alle Fragen mit „Y“ (ja) beantworten.
Schritt 5:Verbindung zu MySQL über die Befehlszeile #
Um mit MySQL über das Terminal zu interagieren, verwenden wir den MySQL-Client, der als Abhängigkeit des MySQL-Serverpakets installiert wird.
Um sich als Root-Benutzer beim MySQL-Server anzumelden, geben Sie Folgendes ein:
mysql -u root -p
Sie werden aufgefordert, das Root-Passwort einzugeben, das Sie zuvor bei der mysql_secure_installation
festgelegt haben Skript wurde ausgeführt.
Sobald Sie das Passwort eingegeben haben, wird Ihnen die MySQL-Shell wie unten gezeigt angezeigt:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.12 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
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>
Datenbank erstellen #
Sobald Sie mit der MySQL-Shell verbunden sind, können Sie eine neue Datenbank erstellen, indem Sie den folgenden Befehl eingeben:
CREATE DATABASE new_database;
Query OK, 1 row affected (0.00 sec)
Tabellen erstellen #
Nachdem wir nun eine Datenbank erstellt haben, können wir eine Tabelle erstellen, um einige Daten zu speichern.
Bevor wir die SQL-Anweisungen zum Erstellen einer Tabelle ausführen, müssen wir uns mit der Datenbank verbinden:
use new_database;
In diesem Beispiel erstellen wir eine einfache Tabelle mit dem Namen contacts
mit drei Feldern, id
, name
und email
:
CREATE TABLE contacts (
id INT PRIMARY KEY,
name VARCHAR(30),
email VARCHAR(30)
);
Query OK, 1 row affected (0.00 sec)