MariaDB je bezplatný, open-source a jeden z nejpopulárnějších databázových serverů na světě. Jde o komunitně vyvinutý fork velmi oblíbeného systému pro správu databází MySQL. MariaDB poskytuje podporu pro PHP a používá standardní a oblíbený dotazovací jazyk. MariaDB přichází se širokou škálou úložných modulů a několika optimalizacemi, které lze použít ke zlepšení výkonu databáze.
V tomto tutoriálu vám ukážeme, jak spravovat databáze v MariaDB na Ubuntu 18.04.
Předpoklady
- Nové Ubuntu 18.04 VPS na cloudové platformě Atlantic.Net.
- Heslo uživatele root nakonfigurované na obou serverech.
Krok 1 – Vytvoření cloudového serveru Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte na svůj server Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
apt-get update -yapt-get upgrade -y
Krok 2 – Instalace MariaDB
Nejprve si stáhněte a přidejte klíč MariaDB GPG do svého systému pomocí následujícího příkazu:
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
Dále přidejte úložiště MariaDB pomocí následujícího příkazu:
add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://ftp.utexas.edu/mariadb/repo/10.3/ubuntu bionic main'
Dále aktualizujte úložiště a nainstalujte MariaDB pomocí následujících příkazů:
apt-get update -yapt-get install mariadb-server -y
Po instalaci MariaDB zkontrolujte stav MariaDB pomocí následujícího příkazu:
systemctl status mariadb
Měli byste vidět následující výstup:
● mariadb.service – databázový server MariaDB 10.3.19Načteno:načteno (/lib/systemd/system/mariadb.service; povoleno; přednastaveno dodavatelem:povoleno)Drop-In:/etc/systemd/system/mariadb.service. d└─migred-from-my.cnf-settings.confActive:aktivní (běžící) od St 2019-11-06 04:25:01 UTC; 24s agoDocs:man:mysqld(8)https://mariadb.com/kb/en/library/systemd/Main PID:4538 (mysqld)Stav:"Teď se berou vaše požadavky SQL..."Úkoly:32 (limit:1114)CGroup:/system.slice/mariadb.service└─4538 /usr/sbin/mysqldNov 06 04:25:03 ubuntu1804 /etc/mysql/debian-start[4584]:Fáze 6/7:Kontrola a upgrade tabulek6Nov0 04:25:03 ubuntu1804 /etc/mysql/debian-start[4584]:Spuštění 'mysqlcheck' s argumenty připojení:--port='3306' --socket='/var/run/mysqNov 06 04:25:03 ubuntu1804 /etc/mysql/debian-start[4584]:# Připojování k localhost...Nov 06 04:25:03 ubuntu1804 /etc/mysql/debian-start[4584]:# Odpojení od localhost...Nov 06 04 :25:03 ubuntu1804 /etc/mysql/debian-start[4584]:Zpracování databázíNov 06 04:25:03 ubuntu1804 /etc/mysql/debian-start[4584]:information_schemaNov 06/034:25:25:/debian-start[4584]:schéma_výkonu
Krok 3 – Vytvoření nové databáze
Chcete-li vytvořit novou databázi, nejprve se přihlaste do prostředí MariaDB pomocí následujícího příkazu:
mysql -u root -p
Po zobrazení výzvy zadejte heslo uživatele root a poté vytvořte databázi pomocí následujícího příkazu:
CREATE DATABASE db1;
Po vytvoření nové databáze můžete zobrazit seznam všech databází pomocí následujícího příkazu:
ZOBRAZIT DATABÁZE;
Měli byste vidět následující výstup:
+--------------------+| Databáze |+--------------------+| db1 || informační_schéma || mysql || performance_schema |+--------------------+4 řádky v sadě (0,002 s)
Krok 4 – Vytvořte nový uživatelský účet
Nový uživatelský účet MariaDB můžete vytvořit spuštěním následujícího příkazu:
VYTVOŘTE UŽIVATELE 'dbuser'@'localhost' IDENTIFIKOVANÉHO PODLE 'vašeho hesla';
V tomto řádku jsou proměnné definovány takto:
dbuser :Jméno uživatele MariaDB.
místní hostitel :Tato možnost určuje, že se uživatel může připojit k serveru MariaDB pouze z místního hostitele.
vaše heslo :Heslo uživatele MariaDB.
Pokud chcete změnit heslo uživatelského účtu MariaDB, spusťte následující příkaz:
ZMĚNIT UŽIVATELE 'dbuser'@'localhost' IDENTIFIKOVANÉHO PODLE 'vašeho nového hesla';
Chcete-li zobrazit všechny uživatelské účty MariaDB, spusťte následující příkaz:
VYBRAT uživatele, hostitele FROM mysql.user;
Měli byste získat následující výstup:
+------------------+-----------+| uživatel | hostitel |+------------------+-----------+| kořen | 127.0.0.1 || kořen | ::1 || dbuser | localhost || debian-sys-maint | localhost || kořen | localhost |+------------------+-----------+5 řádků v sadě (0,003 s)
Krok 5 – Udělení oprávnění uživatelskému účtu
Uživatelskému účtu MariaDB můžete udělit několik typů oprávnění.
Chcete-li uživateli (dbuseru) udělit všechna oprávnění k určité databázi (db1), spusťte následující příkaz:
UDĚLEJTE VŠECHNA OPRÁVNĚNÍ PRO db1.* 'dbuser'@'localhost';
Chcete-li uživateli (dbuseru) udělit všechna oprávnění ke všem databázím, spusťte následující příkaz:
UDĚLEJTE VŠECHNA OPRÁVNĚNÍ NA *.* TOMU 'dbuser'@'localhost';
Chcete-li uživateli (dbuseru) udělit pouze určitá oprávnění k určité databázi (db1), spusťte následující příkaz:
GRANT SELECT, INSERT, DELETE ON db1.* TO [email protected]'localhost';
Všechna oprávnění udělená konkrétnímu uživatelskému účtu můžete zobrazit pomocí následujícího příkazu:
ZOBRAZIT GRANTY PRO 'dbuser'@'localhost';
Měli byste vidět následující výstup:
+---------------------------------------------- -------------------------------------------------- -------------------------+| Granty pro [email protected] - --- ----------------------------------------- -------------------------------------------------- ------------------------------+| UDĚLEJTE VŠECHNA PRIVILEGIUM NA *.* 'dbuser'@'localhost' IDENTIFIKOVANÉ HESLEM '*7F99F4477B835ED95816BC01E9823771AE2A3F1C' || UDĚLEJTE VŠECHNA PRIVIlegia NA `db1`.* 'dbuser'@'localhost' - - - ------------------------------ -------------------------------------------------- ---------------------------------------+2 řádky v sadě (0,000 s)Krok 6 – Odstranění databází a uživatelů
Databázi můžete odstranit pomocí následujícího příkazu:
DROP DATABASE db1;Chcete-li odstranit uživatelský účet, spusťte následující příkaz:
DROP USER 'dbuser'@'localhost';Krok 7 – Obnovení hesla root MariaDB
Pokud jste zapomněli své root heslo MariaDB, můžete je snadno obnovit podle následujících kroků.
Nejprve zastavte běžící službu MariaDB pomocí následujícího příkazu:
systemctl stop mariadbDále budete muset spustit službu MariaDB s možností –skip-grant-tables. To vám umožní připojit se k databázovému serveru bez hesla:
Službu MariaDB můžete spustit bez načtení tabulek grantů spuštěním následujícího příkazu:
mysqld_safe --skip-grant-tables &
Nyní se můžete připojit k serveru MariaDB jako uživatel root bez hesla, jak je znázorněno níže:
mysql -u root
Po úspěšném přihlášení spusťte následující příkaz pro resetování hesla root:
ZMĚNIT UŽIVATELE 'root'@'localhost' IDENTIFIKOVANÉ PODLE 'vaše-nové-heslo';FLUSH PRIVILEGES;Pokud výše uvedený příkaz nefunguje, spusťte následující příkaz:
UPDATE mysql.user SET authentication_string =PASSWORD('vaše-nové-heslo')WHERE User ='root' AND Host ='localhost';FLUSH PRIVILEGES;
Dále zastavte službu MariaDB a spusťte ji normálně pomocí následujících příkazů:
mysqladmin -u root -p vypnutí
Když budete vyzváni k zastavení služby MariaDB, zadejte heslo uživatele root.
Dále spusťte službu MariaDB normálně pomocí následujícího příkazu:
systemctl start mariadbZávěr
Ve výše uvedeném tutoriálu jsme se naučili vytvářet a spravovat databáze a uživatelské účty v MariaDB. Také jsme se naučili, jak resetovat root heslo MariaDB. Pro více informací navštivte oficiální dokumentaci MariaDB na MariaDB Doc.
Linux