GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Installieren Sie einen MariaDB-Server auf CentOS

Mit der Veröffentlichung von CentOS 7 ersetzte MariaDB MySQL als Standarddatenbanksystem. MariaDB wurde von den ursprünglichen Entwicklern von MySQL erstellt und ist ein erweiterter Drop-in-Ersatz für MySQL mit binärer Bibliotheksäquivalenz und exaktem Abgleich mit MySQL-APIs und -Befehlen.

Dieser Artikel beschreibt eine grundlegende Installation eines MariaDB-Datenbankservers auf CentOS Linux. Möglicherweise müssen Sie andere Pakete installieren, damit Anwendungen MariaDB verwenden können, z. B. Erweiterungen für PHP. Einzelheiten finden Sie in Ihrer Anwendungsdokumentation.

Installieren Sie den Datenbankserver

Befolgen Sie die Schritte in diesem Abschnitt, um den Core-Datenbankserver zu installieren.

Installieren Sie MariaDB

Installieren Sie den MariaDB-Server über den CentOS-Paketmanager (yum), indem Sie den folgenden Befehl an einer Eingabeaufforderung ausführen:

sudo yum install mariadb-server

Fernzugriff zulassen

Führen Sie den folgenden Befehl aus, um den Fernzugriff zuzulassen:

firewall-cmd --zone=public --add-service=mysql --permanent

Root-Passwort festlegen

Da Sie gerade den MariaDB-Datenbankserver installiert haben, ist für das Rootkonto kein Passwort festgelegt. Verwenden Sie den folgenden Befehl, um das Root-Passwort und andere wichtige Einstellungen festzulegen:

/usr/bin/mysql_secure_installation

Starten und stoppen Sie den Datenbankdienst

Nach Abschluss der Installation können Sie den Datenbankdienst mit den Befehlen in diesem Abschnitt starten. Wenn das System bereits gestartet ist, informiert Sie eine Meldung darüber, dass der Dienst bereits ausgeführt wird.

Verwenden Sie den folgenden Befehl, um MariaDB zu starten:

sudo systemctl start mariadb.service

Verwenden Sie den folgenden Befehl, um MariaDB zu stoppen:

sudo systemctl stop mariadb.service

Beim Neustart starten

Um sicherzustellen, dass der Datenbankserver nach einem Neustart startet, müssen Sie chkconfig aktivieren Dienstprogramm. Verwenden Sie dazu den folgenden Befehl:

sudo systemctl enable mariadb.service

Starten Sie die MariaDB-Shell

Es gibt mehr als eine Möglichkeit, mit einem MariaDB-Server zu arbeiten, aber dieser Artikel konzentriert sich auf den grundlegendsten und kompatibelsten Ansatz:die mariadb Schale.

  1. Führen Sie an der Eingabeaufforderung den folgenden Befehl aus, um die Shell zu starten, und geben Sie sie als Root-Benutzer ein:

     /usr/bin/mysql -u root -p
    
  2. Wenn Sie zur Eingabe eines Passworts aufgefordert werden, geben Sie das Passwort ein, das Sie bei der Installation festgelegt haben, oder drücken Sie die Eingabetaste, wenn Sie noch keins festgelegt haben kein Passwort übermitteln.

    Der folgende Shell-Prompt sollte erscheinen:

    MariaDB [(none)]>
    

Benutzer anzeigen

MariaDB und MySQL speichern Benutzerinformationen in ihren eigenen Datenbanken. Der Name der Datenbank ist mysql . Innerhalb dieser Datenbank befinden sich die Benutzerinformationen in einer Tabelle, einem Datensatz mit dem Namen Benutzer . Wenn Sie sehen möchten, welche Benutzer in der MySQL-Benutzertabelle eingerichtet sind, führen Sie den folgenden Befehl aus:

SELECT User, Host, Password FROM mysql.user;

Die folgende Liste beschreibt die Teile dieses Befehls:

  • AUSWÄHLEN teilt MySQL mit, dass Sie nach Daten fragen.
  • Benutzer, Host, Passwort teilt MySQL mit, in welchen Feldern es suchen soll. Felder sind Kategorien für die Daten in einer Tabelle. In diesem Fall suchen Sie nach dem Benutzernamen, dem mit dem Benutzernamen verknüpften Host und dem verschlüsselten Passworteintrag.
  • VON mysql.user weist MySQL an, die Daten von mysql zu holen Datenbank und dem Benutzer Tabelle.
  • Ein Semikolon (;) beendet den Befehl.

Benutzer-Hosts

Das folgende Beispiel ist die Ausgabe für die vorherige Abfrage:

SELECT User, Host, Password FROM mysql.user;
+------------------+-----------+-------------------------------------------+
| User             | Host      | Password                                  |
+------------------+-----------+-------------------------------------------+
| root             | localhost | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 |
| root             | 127.0.0.1 | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 |
| root             | ::1       | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 |
+------------------+-----------+-------------------------------------------+

Benutzer sind einem Host zugeordnet, insbesondere dem Host, mit dem sie sich verbinden. Der Root-Benutzer in diesem Beispiel ist für localhost definiert , für die IP-Adresse von localhost , und den Hostnamen des Servers. Normalerweise müssen Sie nur für den Host, von dem aus Sie normalerweise eine Verbindung herstellen, einen Benutzer festlegen.

Wenn Sie Ihre Anwendung auf demselben Computer wie den MariaDB-Server ausführen, ist der Host, mit dem sie sich standardmäßig verbindet, localhost . Alle neuen Benutzer, die Sie erstellen, müssen localhost haben in ihrem Host Feld.

Wenn Ihre Anwendung eine Remoteverbindung herstellt, wird der Host Eintrag, nach dem MariaDB sucht, ist die IP-Adresse oder der DNS-Hostname des Remote-Computers (derjenige, von dem der Client kommt).

Datenbank erstellen

Es gibt einen Unterschied zwischen einem Datenbankserver und eine Datenbank , auch wenn diese Begriffe oft synonym verwendet werden. MariaDB ist ein Datenbankserver, was bedeutet, dass er Datenbanken verfolgt und den Zugriff darauf kontrolliert. Die Datenbank speichert die Daten, und es ist die Datenbank, auf die Anwendungen zuzugreifen versuchen, wenn sie mit MariaDB interagieren.

Einige Anwendungen erstellen eine Datenbank als Teil ihres Setup-Prozesses, andere erfordern jedoch, dass Sie eine Datenbank erstellen und die Anwendung darüber informieren.

Um eine Datenbank zu erstellen, melden Sie sich bei mariadb an Shell und führen Sie den folgenden Befehl aus, wobei Sie demodb ersetzen mit dem Namen der Datenbank, die Sie erstellen möchten:

CREATE DATABASE demodb;

Die Datenbank wird erstellt. Sie können ihre Erstellung überprüfen, indem Sie eine Abfrage ausführen, um alle Datenbanken aufzulisten. Das folgende Beispiel zeigt die Abfrage und die Beispielausgabe:

SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demodb             |
| mysql              |
+--------------------+
3 rows in set (0.00 sec)

Benutzer und Berechtigungen verwalten

Verwenden Sie die Anweisungen in diesem Abschnitt, um Benutzer für die Datenbank hinzuzufügen und Berechtigungen zu erteilen und zu entziehen.

Benutzer und Berechtigungen hinzufügen

Wenn sich Anwendungen mit dem Root-Benutzer mit der Datenbank verbinden, verfügen sie normalerweise über mehr Berechtigungen, als sie benötigen. Sie können einen neuen Benutzer erstellen, den Anwendungen zum Herstellen einer Verbindung mit der neuen Datenbank verwenden können. Im folgenden Beispiel ein Benutzer namens demouser erstellt.

Führen Sie zum Erstellen eines neuen Benutzers den folgenden Befehl in der mariadb aus Schale:

CREATE USER 'demouser'@'localhost' IDENTIFIED BY 'demopassword';

Sie können überprüfen, ob der Benutzer erstellt wurde, indem Sie erneut eine SELECT-Abfrage ausführen:

SELECT User, Host, Password FROM mysql.user;
+----------+-----------+------------------------------------------+
| User     | Host      | Password                                 |
+----------+-----------+------------------------------------------+
| root     | localhost | 2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| root     | demohost  | 2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| root     | 127.0.0.1 | 2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| demouser | localhost | 0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6 |
+----------+-----------+------------------------------------------+

Datenbankbenutzerberechtigungen gewähren

Direkt nachdem Sie einen neuen Benutzer erstellt haben, hat er keine Privilegien. Der Benutzer kann verwendet werden, um sich bei MariaDB anzumelden, aber er kann nicht verwendet werden, um Datenbankänderungen vorzunehmen.

  1. Geben Sie dem Benutzer volle Berechtigungen für Ihre neue Datenbank, indem Sie den folgenden Befehl ausführen:

    GRANT ALL PRIVILEGES ON demodb.* to demouser@localhost;
    
  2. Leeren Sie die Berechtigungen, damit die Änderung wirksam wird.

    FLUSH PRIVILEGES;
    
  3. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Berechtigungen festgelegt wurden:

    SHOW GRANTS FOR 'demouser'@'localhost';
    

    MariaDB gibt die Befehle zurück, die zum Reproduzieren der Berechtigungen dieses Benutzers erforderlich sind, wenn Sie den Server neu erstellen würden. USAGE on \*.\* bedeutet, dass der Benutzer standardmäßig keine Berechtigungen für irgendetwas erhält. Dieser Befehl wird durch den zweiten Befehl überschrieben, bei dem es sich um die Erteilung handelt, die Sie für die neue Datenbank ausgeführt haben.

     +-----------------------------------------------------------------------------------------------------------------+
     | Grants for demouser@localhost                                                                                   |
     +-----------------------------------------------------------------------------------------------------------------+
     | GRANT USAGE ON *.* TO 'demouser'@'localhost' IDENTIFIED BY PASSWORD '*0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6' |
     | GRANT ALL PRIVILEGES ON `demodb`.* TO 'demouser'@'localhost'                                                    |
     +-----------------------------------------------------------------------------------------------------------------+
     2 rows in set (0.00 sec)
    

Berechtigungen widerrufen

Manchmal müssen Sie einem Benutzer möglicherweise Berechtigungen entziehen (entziehen). Angenommen, Sie haben ALL gewährt Privilegien für ‘demouser’@‘localhost’, aber Sie haben versehentlich auch allen anderen Datenbanken Privilegien gewährt, wie in den folgenden Befehlen gezeigt:

+-----------------------------------------------------------------------------------------------------------------+
| Grants for demouser@localhost                                                                                   |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'demouser'@'localhost' IDENTIFIED BY PASSWORD '*0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6' |
| GRANT ALL PRIVILEGES ON *.* TO 'demouser'@'localhost'                                                           |
+-----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

Um den Fehler zu korrigieren, können Sie ein REVOKE verwenden -Anweisung, gefolgt von GRANT -Anweisung, um die richtigen Berechtigungen anzuwenden.

REVOKE ALL ON *.* FROM demouser@localhost;
GRANT ALL PRIVILEGES ON demodb.* to demouser@localhost;
SHOW GRANTS FOR 'demouser'@'localhost';

+-----------------------------------------------------------------------------------------------------------------+
| Grants for demouser@localhost                                                                                   |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'demouser'@'localhost' IDENTIFIED BY PASSWORD '*0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6' |
| GRANT ALL PRIVILEGES ON 'demodb'TO 'demouser'@'localhost'                                                           |
+-----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

Jetzt hat Ihr Benutzer die richtigen Berechtigungen und Ihr Datenbankserver ist etwas sicherer (Zuweisung von Berechtigungen wie ALL on *.* wird als sehr schlechte Praxis angesehen). Sie sollten auch die offizielle MariaDB-Dokumentation bezüglich möglicher Privilegien lesen, um nur die wirklich benötigten Privilegien zu gewähren, anstatt ALL zu verwenden .

Zusammenfassung

Wenn Sie nur eine Datenbank und einen Benutzer erstellen, sind Sie fertig. Die in diesem Artikel behandelten Konzepte sollten Ihnen einen soliden Ausgangspunkt bieten, um mehr zu erfahren.


Linux
  1. Installieren Sie MySQL Server 5.6 in CentOS

  2. Installieren Sie MariaDB auf CentOS 6.4

  3. Installieren Sie Sentora auf CentOS 7

  4. Installieren Sie BigTree unter CentOS 7

  5. Konfigurieren Sie den MariaDB-Server auf CentOS

Installieren Sie MariaDB auf CentOS 7

So installieren Sie MariaDB unter CentOS 8

2 Möglichkeiten zur Installation von MariaDB auf CentOS 7

So installieren Sie Zabbix Server 5.0 / 4.0 auf CentOS 8 / RHEL 8

So installieren Sie LAMP Server unter CentOS 8

So installieren Sie den LEMP-Server unter CentOS 8