MySQL, das weltweit beliebteste relationale Open-Source-Datenbankverwaltungssystem, ist nicht in den standardmäßigen Debian-Repositories verfügbar. MariaDB ist das Standard-Datenbanksystem in Debian 10.
Dieses Tutorial erklärt, wie man MySQL auf Debian 10 aus dem MySQL Apt Repository installiert und sichert.
Mysql-Repository konfigurieren #
Um das MySQL APT-Repository zu Ihrem System hinzuzufügen, gehen Sie zur Repository-Download-Seite und laden Sie das neueste Release-Paket mit dem folgenden wget-Befehl herunter:
wget http://repo.mysql.com/mysql-apt-config_0.8.13-1_all.deb
Sobald der Download abgeschlossen ist, installieren Sie das Release-Paket als Benutzer mit sudo-Berechtigungen:
sudo apt install ./mysql-apt-config_0.8.13-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 MySQL 5.7 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 OK
durch Drücken von Tab
und drücken Sie Enter
(wie im Bild oben gezeigt).
Installieren von MySQL #
Aktualisieren Sie die Paketliste mit und installieren Sie das MySQL-Serverpaket, indem Sie Folgendes ausführen:
sudo apt update
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.
Sobald die Installation abgeschlossen ist, wird der MySQL-Dienst automatisch gestartet, Sie können dies überprüfen, indem Sie Folgendes eingeben:
sudo systemctl status mysql
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
Active: active (running) since Fri 2019-07-26 13:23:25 PDT; 37s ago
...
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.
Verbinden mit dem MySQL-Server #
Um mit MySQL über das Terminal zu interagieren, verwenden Sie mysql
Client, der als Abhängigkeit des MySQL-Serverpakets installiert wird.
Wenn Sie die Standard-Authentifizierungsmethode ausgewählt haben, um sich als Root-Benutzer beim MySQL-Server anzumelden, geben Sie Folgendes ein:
sudo mysql
Andernfalls, wenn Sie die Legacy-Authentifizierungsmethode für die Anmeldung ausgewählt haben, 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.17 MySQL Community Server - GPL
...