GNU/Linux >> Znalost Linux >  >> Linux

Nainstalujte server MariaDB na CentOS

S vydáním CentOS 7 nahradila MariaDB MySQL jako výchozí databázový systém. MariaDB byla vytvořena původními vývojáři MySQL a je vylepšenou, drop-in náhradou za MySQL s binární ekvivalencí knihoven a přesnou shodou s MySQL API a příkazy.

Tento článek popisuje základní instalaci databázového serveru MariaDB na CentOS Linux. Možná budete muset nainstalovat další balíčky, aby aplikace mohly používat MariaDB, jako jsou rozšíření pro PHP. Podrobnosti naleznete v dokumentaci aplikace.

Instalace databázového serveru

Při instalaci základního databázového serveru postupujte podle kroků v této části.

Nainstalujte MariaDB

Nainstalujte server MariaDB prostřednictvím správce balíčků CentOS (yum) spuštěním následujícího příkazu na příkazovém řádku:

sudo yum install mariadb-server

Povolit vzdálený přístup

Chcete-li povolit vzdálený přístup, spusťte následující příkaz:

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

Nastavte heslo uživatele root

Protože jste právě nainstalovali databázový server MariaDB, rootaccount nemá nastaveno žádné heslo. Pomocí následujícího příkazu nastavte heslo uživatele root a další důležitá nastavení:

/usr/bin/mysql_secure_installation

Spuštění a zastavení databázové služby

Po dokončení instalace můžete spustit databázovou službu pomocí příkazů v této části. Pokud je systém již spuštěn, zobrazí se zpráva s informací, že služba již běží.

Ke spuštění MariaDB použijte následující příkaz:

sudo systemctl start mariadb.service

K zastavení MariaDB použijte následující příkaz:

sudo systemctl stop mariadb.service

Spustit při restartu

Chcete-li zajistit spuštění databázového serveru po restartu, musíte povolit chkconfig utility. K tomu použijte následující příkaz:

sudo systemctl enable mariadb.service

Spuštění prostředí MariaDB

Existuje více než jeden způsob práce se serverem MariaDB, ale tento článek se zaměřuje na nejzákladnější a nejkompatibilnější přístup:mariadb shell.

  1. Na příkazovém řádku spusťte následující příkaz pro spuštění shellu a zadejte jej jako uživatel root:

     /usr/bin/mysql -u root -p
    
  2. Až budete vyzváni k zadání hesla, zadejte heslo, které jste nastavili při instalaci, nebo pokud jste ho nenastavili, stiskněte Enter odeslat žádné heslo.

    Měla by se zobrazit následující výzva prostředí:

    MariaDB [(none)]>
    

Zobrazit uživatele

MariaDB a MySQL ukládají informace o uživatelích do svých vlastních databází. Název databáze je mysql . Uvnitř této databáze jsou informace o uživateli v tabulce, datové sadě s názvem uživatel . Pokud chcete vidět, jací uživatelé jsou nastaveni v uživatelské tabulce MySQL, spusťte následující příkaz:

SELECT User, Host, Password FROM mysql.user;

Následující seznam popisuje části tohoto příkazu:

  • VYBRAT říká MySQL, že žádáte o data.
  • Uživatel, hostitel, heslo říká MySQL, do jakých polí má nahlížet. Pole jsou kategorie pro data v tabulce. V tomto případě hledáte uživatelské jméno, hostitele spojeného s uživatelským jménem a zašifrované heslo.
  • Z mysql.user říká MySQL, aby získala data z mysql databázi a uživatele stůl.
  • Středník (;) ukončí příkaz.

Uživatelští hostitelé

Následující příklad je výstupem pro předchozí dotaz:

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

Uživatelé jsou přidruženi k hostiteli, konkrétně k hostiteli, ke kterému se připojují. Uživatel root je v tomto příkladu definován pro localhost , pro IP adresu localhost a název hostitele serveru. Obvykle potřebujete nastavit uživatele pouze pro hostitele, ze kterého se obvykle připojujete.

Pokud aplikaci spouštíte na stejném počítači jako server MariaDB, hostitel, ke kterému se připojuje, je ve výchozím nastavení localhost . Všichni noví uživatelé, které vytvoříte, musí mít localhost v jejich hostiteli pole.

Pokud se vaše aplikace připojuje vzdáleně, hostitel záznam, který MariaDB hledá, je IP adresa nebo název hostitele DNS vzdáleného počítače (toho, ze kterého klient přichází).

Vytvořte databázi

Mezi databázovým serverem je rozdíl a databázi , i když se tyto termíny často používají zaměnitelně. MariaDB je databázový server, což znamená, že sleduje databáze a řídí přístup k nim. Databáze ukládá data a je to databáze, ke které se aplikace pokoušejí přistupovat při interakci s MariaDB.

Některé aplikace vytvářejí databázi jako součást procesu nastavení, ale jiné vyžadují, abyste vytvořili databázi a informovali o tom aplikaci.

Chcete-li vytvořit databázi, přihlaste se do mariadb shell a spusťte následující příkaz nahrazující demodb s názvem databáze, kterou chcete vytvořit:

CREATE DATABASE demodb;

Databáze je vytvořena. Jeho vytvoření můžete ověřit spuštěním dotazu na seznam všech databází. Následující příklad ukazuje dotaz a příklad výstupu:

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

Správa uživatelů a oprávnění

Pomocí pokynů v této části přidejte uživatele do databáze a udělte a odeberte oprávnění.

Přidat uživatele a oprávnění

Když se aplikace připojují k databázi pomocí uživatele root, mají obvykle více oprávnění, než potřebují. Můžete vytvořit nového uživatele, kterého mohou aplikace používat k připojení k nové databázi. V následujícím příkladu uživatel jménem demouser je vytvořen.

Chcete-li vytvořit nového uživatele, spusťte následující příkaz v mariadb shell:

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

Můžete ověřit, že byl uživatel vytvořen znovu spuštěním dotazu SELECT:

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 |
+----------+-----------+------------------------------------------+

Udělit uživatelská oprávnění databáze

Ihned po vytvoření nového uživatele nemá žádná oprávnění. Uživatele lze použít k přihlášení do MariaDB, ale nelze jej použít k provádění jakýchkoli změn v databázi.

  1. Udělte uživateli plná oprávnění pro vaši novou databázi spuštěním následujícího příkazu:

    GRANT ALL PRIVILEGES ON demodb.* to demouser@localhost;
    
  2. Aby se změna projevila, vyprázdněte oprávnění.

    FLUSH PRIVILEGES;
    
  3. Chcete-li ověřit, zda byla oprávnění nastavena, spusťte následující příkaz:

    SHOW GRANTS FOR 'demouser'@'localhost';
    

    MariaDB vrátí příkazy potřebné k reprodukci oprávnění daného uživatele, pokud byste server přestavěli. USAGE on \*.\* znamená, že uživatel ve výchozím nastavení nezíská žádná oprávnění. Tento příkaz je přepsán druhým příkazem, což je povolení, které jste spustili pro novou databázi.

     +-----------------------------------------------------------------------------------------------------------------+
     | 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)
    

Odebrat oprávnění

Někdy může být nutné zrušit (odebrat) oprávnění uživatele. Předpokládejme například, že jste udělovali ALL oprávnění pro ‘demouser’@’localhost’, ale omylem jste udělili oprávnění i všem ostatním databázím, jak je znázorněno v následujících příkazech:

+-----------------------------------------------------------------------------------------------------------------+
| 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)

Chcete-li chybu opravit, můžete použít REVOKE následovaný příkazem GRANT pro použití správných oprávnění.

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)

Nyní má váš uživatel správná oprávnění a váš databázový server je o něco bezpečnější (udělování oprávnění jako ALL on *.* je považováno za velmi špatnou praxi). Měli byste si také přečíst oficiální dokumentaci MariaDB týkající se možných voleb oprávnění, abyste udělili pouze ta oprávnění, která jsou skutečně potřebná, místo použití ALL .

Přehled

Pokud právě vytváříte databázi a uživatele, máte hotovo. Koncepty obsažené v tomto článku by vám měly poskytnout solidní začátek, ze kterého se dozvíte více.


Linux
  1. Instalace MariaDB na CentOS 7 Server – proces krok za krokem?

  2. Co dělat na čerstvé instalaci serveru Centos 8

  3. Nainstalujte Adminer na CentOS

  1. Nainstalujte MySQL Server 5.6 v CentOS

  2. Nainstalujte Textpattern na CentOS 7

  3. Nainstalujte CumulusClips na CentOS 7

  1. Nainstalujte MariaDB 10.0 na CentOS 6

  2. Nainstalujte MariaDB na CentOS 6.4

  3. Nainstalujte Sentoru na CentOS 7