MySQL ist das beliebteste relationale Open-Source-Datenbankverwaltungssystem. Es ist schnell, einfach zu bedienen, skalierbar und ein integraler Bestandteil des beliebten LAMP
und LEMP
Stapel.
In diesem Tutorial zeigen wir Ihnen, wie Sie MySQL auf einem Ubuntu 18.04-Rechner installieren und sichern.
Voraussetzungen #
Stellen Sie sicher, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind.
Installieren von MySQL auf Ubuntu #
Zum Zeitpunkt der Erstellung dieses Artikels war die neueste Version von MySQL, die in den offiziellen Ubuntu-Repositories verfügbar war, MySQL Version 5.7.
Führen Sie die folgenden Schritte aus, um MySQL auf Ihrem Ubuntu-Server zu installieren:
-
Aktualisieren Sie zuerst den apt-Paketindex, indem Sie Folgendes eingeben:
sudo apt update
-
Installieren Sie dann das MySQL-Paket mit dem folgenden Befehl:
sudo apt install mysql-server
-
Sobald die Installation abgeschlossen ist, wird der MySQL-Dienst automatisch gestartet. Um zu prüfen, ob der MySQL-Server läuft, geben Sie ein:
sudo systemctl status mysql
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-06-20 11:30:23 PDT; 5min ago Main PID: 17382 (mysqld) Tasks: 27 (limit: 2321) CGroup: /system.slice/mysql.service `-17382 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
MySQL sichern #
Das MySQL-Serverpaket enthält ein Skript namens mysql_secure_installation
die mehrere sicherheitsrelevante Operationen ausführen kann.
Führen Sie das Skript aus, indem Sie Folgendes eingeben:
sudo mysql_secure_installation
Sie werden aufgefordert, das VALIDATE PASSWORD PLUGIN
zu konfigurieren die verwendet wird, um die Stärke der Passwörter der MySQL-Benutzer zu testen und die Sicherheit zu verbessern. Es gibt drei Stufen der Kennwortvalidierungsrichtlinie:niedrig, mittel und stark. Drücken Sie ENTER
wenn Sie das Plugin zur Passwortvalidierung nicht einrichten möchten.
Bei der nächsten Eingabeaufforderung werden Sie aufgefordert, ein Passwort für den MySQL-Root-Benutzer festzulegen. Sobald Sie dies getan haben, fordert Sie das Skript außerdem auf, den anonymen Benutzer zu entfernen, den Root-Benutzerzugriff auf den lokalen Computer einzuschränken und die Testdatenbank zu entfernen. Sie sollten alle Fragen mit „Y“ (ja) beantworten.
Als Root anmelden #
Um mit dem MySQL-Server über die Befehlszeile zu interagieren, können Sie das MySQL-Client-Dienstprogramm verwenden, das als Abhängigkeit des MySQL-Serverpakets installiert wird.
In Ubuntu-Systemen mit MySQL 5.7 (und höher) wird der Root-Benutzer durch auth_socket
authentifiziert Plugin standardmäßig.
Der auth_socket
Plugin authentifiziert Benutzer, die sich vom localhost
verbinden über die Unix-Socket-Datei. Das bedeutet, dass Sie sich nicht als Root authentifizieren können, indem Sie ein Passwort eingeben.
Um sich als Root-Benutzer beim MySQL-Server anzumelden, geben Sie Folgendes ein:
sudo mysql
Ihnen wird die MySQL-Shell wie unten gezeigt angezeigt:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.22-0ubuntu18.04.1 (Ubuntu)
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.
Wenn Sie sich von einem externen Programm wie phpMyAdmin
als root bei Ihrem MySQL-Server anmelden möchten Sie haben zwei Möglichkeiten.
Die erste besteht darin, die Authentifizierungsmethode von auth_socket
zu ändern zu mysql_native_password
. Sie können dies tun, indem Sie den folgenden Befehl ausführen:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_password';
FLUSH PRIVILEGES;
Die zweite, empfohlene Option besteht darin, einen neuen administrativen Benutzer mit Zugriff auf alle Datenbanken zu erstellen:
GRANT ALL PRIVILEGES ON *.* TO 'administrator'@'localhost' IDENTIFIED BY 'very_strong_password';