Mit der Veröffentlichung von CentOS 7 MySQL ist das weltweit beliebteste relationale Open-Source-Datenbankverwaltungssystem nicht mehr in den Repositories von CentOS 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 CentOS 7-Rechner installieren.
Wenn Sie MariaDB anstelle von MySQL installieren möchten, finden Sie in unserem Tutorial Installationsanweisungen.Voraussetzungen #
Bevor Sie mit diesem Tutorial beginnen, stellen Sie sicher, dass Sie mit einem Benutzerkonto mit sudo-Berechtigungen oder mit dem Root-Benutzer bei Ihrem Server angemeldet sind. Es empfiehlt sich, Verwaltungsbefehle als sudo-Benutzer statt als root auszuführen. Wenn Sie keinen sudo-Benutzer auf Ihrem System haben, können Sie einen erstellen, indem Sie diesen Anweisungen folgen.
Wie wir in der Einführung erwähnt haben, ist MySQL in den standardmäßigen CentOS 7-Repositorys nicht verfügbar, daher werden wir die Pakete aus dem MySQL Yum-Repository installieren. In den folgenden Abschnitten zeigen wir Ihnen, wie Sie MySQL 8.0 und MySQL 5.7 installieren.
Sie sollten nur eine MySQL-Version installieren auf Ihrem CentOS 7-Server. Wenn Sie sich nicht sicher sind, welche Version Sie installieren sollen, konsultieren Sie die Dokumentation der Anwendungen, die Sie auf Ihrem Server bereitstellen möchten.
Installieren Sie MySQL 8.0 unter CentOS 7 #
Zum Zeitpunkt des Schreibens dieses Artikels ist die neueste Version von MySQL Version 8.0. Führen Sie die folgenden Schritte aus, um es auf Ihrem CentOS 7-Server zu installieren:
-
Aktivieren Sie das MySQL 8.0-Repository mit dem folgenden Befehl:
sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
-
Installieren Sie das MySQL 8.0-Paket mit yum:
sudo yum install mysql-community-server
Während der Installation fordert yum Sie möglicherweise auf, den MySQL-GPG-Schlüssel zu importieren. Geben Sie
y
ein und drücken SieEnter
.
Installieren Sie MySQL 5.7 unter CentOS 7 #
Führen Sie die folgenden Schritte aus, um die vorherige stabile Version von MySQL, MySQL Version 5.7, auf einem CentOS 7-Server zu installieren:
-
Aktivieren Sie das MySQL 5.7-Repository mit dem folgenden Befehl:
sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
-
Installieren Sie das MySQL 5.7-Paket mit:
Installieren Sie MySQL wie jedes andere Paket mit yum:
sudo yum install mysql-community-server
Starte MySQL #
Sobald die Installation abgeschlossen ist, starten Sie den MySQL-Dienst und aktivieren Sie ihn für den automatischen Start beim Booten mit:
sudo systemctl enable mysqld
sudo systemctl start mysqld
Wir können den Status des MySQL-Dienstes überprüfen, indem wir Folgendes eingeben:
sudo systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2018-05-23 11:02:43 UTC; 14min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 4293 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 4310 (mysqld)
Status: "SERVER_OPERATING"
CGroup: /system.slice/mysqld.service
└─4310 /usr/sbin/mysqld
MySQL sichern #
Beim ersten Start des MySQL-Servers wird ein temporäres Passwort für den MySQL-Root-Benutzer generiert. Sie können das Passwort finden, indem Sie den folgenden Befehl ausführen:
sudo grep 'temporary password' /var/log/mysqld.log
Die Ausgabe sollte in etwa so aussehen:
2018-05-23T10:59:51.251159Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: q&0)V!?fjksL
Notieren Sie sich das Passwort, da der nächste Befehl Sie auffordert, das temporäre Root-Passwort einzugeben.
Führen Sie die mysql_secure_installation
aus Befehl zur Verbesserung der Sicherheit unserer MySQL-Installation:
sudo mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
Nach Eingabe des temporären Passworts werden Sie aufgefordert, ein neues Passwort für den Benutzer root festzulegen. Das Passwort muss mindestens 8 Zeichen lang sein und mindestens einen Großbuchstaben, einen Kleinbuchstaben, eine Zahl und ein Sonderzeichen enthalten.
The existing password for the user account root has expired. Please set a new password.
New password:
Re-enter new password:
Das Skript fordert Sie 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.
Herstellen einer 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 11
Server version: 8.0.11 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.
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)