Instalacja
MariaDB
MariaDB to popularny, otwarto źródłowy system zarządzania relacyjnymi bazami danych, uznawany za zamiennik MySQL. W tej dokumentacji przedstawiono proces instalacji MariaDB na systemie Ubuntu Server 24.04.
Wprowadzona komenda pozwoli przejść na konto z uprawnieniami root. W tym celu należy wykonać komendę:

sudo su
Przed instalacją MariaDB należy zaktualizować listę dostępnych pakietów i ich wersji z repozytoriów poprzez komendę:

apt-get update
Przed instalacją MariaDB warto też zaktualizować aktualnie zainstalowane pakiety do najnowszych wersji. W trakcie przeprowadzania aktualizacji będzie trzeba potwierdzić działanie poprzez wybranie Y i naciśnięcie klawisza enter. Aktualizacji dokonuje się poprzez komendę:

apt-get upgrade
Po aktualizacji repozytoriów przechodzimy do procesu właściwego instalacji MariaDB. Instalator pobierze i zainstaluje MariaDB oraz wszystkie wymagane zależności. W trakcie instalacji konieczne jest potwierdzenie działania poprzez naciśnięcie klawisza Y, a następnie wciśnięcie klawisza enter.
Instalujemy MariaDB z komendy:

apt-install mariadb-server
Proces konfiguracji MariaDB
Po instalacji należy sprawdzić status usługi MariaDB, aby upewnić się, że działa poprawnie. Wprowadzone polecenie powinno zwrócić informację, że usługa jest aktywna i działa.

systemctl status mariadb
Po restarcie maszyny chcemy, aby MariaDB automatycznie uruchamiał się przy starcie systemu w tym celu należy wprowadzić polecenie:

systemctl enable mariadb
Po instalacji należy uruchomić skrypt zabezpieczający, aby skonfigurować bezpieczne środowisko dla MariaDB. Poprawi to znacząco bezpieczeństwo korzystania z MariaDB na serwerze Ubuntu.

mysql_secure_installation
Podczas konfiguracji:

- Naciśnij ENTER, aby pominąć podanie hasła root (domyślnie brak).
- Odpowiedz N na pytanie o zmianę metody uwierzytelniania na unix_socket.
- Odpowiedz N, gdy zapyta o ustawienie hasła dla konta root.
- Odpowiedz Y, aby zaakceptować domyślne opcje dla reszty pytań, aby usunąć anonimowych użytkowników, testowe bazy danych i zablokować zdalne logowanie jako root.
Przełączanie uwierzytelniania za pomocą hasła - mysql_native_password
Aby uzyskać dostęp do powłoki MariaDB należy się zalogować na użytkownika root bazy danych. Weryfikacja przejdzie bez hasła

mysql -u root
Poniższą komendę należy wprowadzić w celu zmiany sposobu logowania na mysql_native_password do konta root MariaDB. Po wprowadzeniu komendy weryfikacja do MariaDB będzie następować po wpisaniu hasła. Wcześniejsza możliwość dostępu za pomocą zalogowania się na konto root z poziomu systemu nie jest dostępna. Wprowadzona zmiana wpłynie znacząco na poprawę bezpieczeństwa.

ALTER USER root@localhost IDENTIFIED VIA mysql_native_password;
SET PASSWORD = PASSWORD('hasło');

Tworzone hasło powinno zawierać co najmniej 12 znaków z zakresu [a-z], [A-Z], [0-9] oraz znaków specjalnych takich jak: @, !, &, *

Za słowo hasło pomiędzy apostrofami należy wprowadzić nowe własne hasło dla konta root
Logowanie się do powłoki MariaDB oraz wyjście
Aby móc wykonywać operacje tworzenia użytkownika, nadawania uprawnień i logowania do MariaDB należy przejść na konto z uprawnieniami root.

sudo su
Aby uzyskać dostęp do powłoki MariaDB należy się zalogować na użytkownika root bazy danych z ustalonym hasłem podczas kroku z wykorzystaniem wtyczki mysql_native_password. W tym celu w terminalu wprowadzamy polecenie:

mysql -u root -p

Zostaniemy poproszeni o hasło po zatwierdzeniu komendy enterem. Należy wpisać ustawione hasło dla użytkownika root
Wyjście z powłoki MariaDB następuje poprzez wprowadzenie komendy:

exit;
Tworzenie nowego użytkownika

Operacje tworzenia nowego użytkownika należy przeprowadzić z konta root
Tworzenie nowego użytkownika odbywa się po zalogowaniu na koncie użytkownika root MariaDB. W tym celu należy wprowadzić komendę:

CREATE USER 'użytkownik'@localhost IDENTIFIED BY 'hasło';

Za słowa między apostrofami użytkownik należy wprowadzić nazwę tworzonego usera, natomiast za słowo hasło należy wprowadzić hasło, z którym user będzie się logować
W celu zalogowania się do powłoki z nowo utworzonego użytkownika MariaDB użyć poniższej komendy:

mysql -u NazwaUżytkownika -p

Zostaniemy poproszeni o hasło po zatwierdzeniu komendy enterem. Należy wpisać hasło ustalone dla tworzonego użytkownika

Za słowo NazwaUżytkownika wprowadzamy nazwę utworzonego użytkownika
Tworzenie baz danych
Tworzenie baz danych odbywa się w prosty sposób poprzez wprowadzenie polecenia:

CREATE DATABASE NazwaBazyDanych;

Za słowo NazwaBazyDanych pomiędzy apostrofami należy wprowadzić nazwę dla tworzonej bazy danych
Nadawanie uprawnień
Nadawanie uprawnień dla nowo utworzonych użytkowników do baz danych może odbywać się w różnych konfiguracjach. W tym celu należy wprowadzić różne komendy do terminala

Operacje nadawania uprawnień należy przeprowadzić z konto root

Analogicznie dla wszystkich poleceń za słowo NazwaBazyDanych pomiędzy apostrofami należy wprowadzić nazwę bazy danych, za słowo użytkownik należy wprowadzić nazwę użytkownika.

Po każdorazowej zmianie uprawnień ważne jest zastosowanie polecenia odświeżającego uprawnienia:

FLUSH PRIVILEGES;
Nadawanie wszystkich uprawnień do wszystkich bazy danych dla tworzonego usera

GRANT ALL PRIVILEGES ON *.* TO 'użytkownik'@localhost;
Nadawanie wszystkich uprawnień do tworzonej pojedynczej bazy danych dla tworzonego usera

GRANT ALL PRIVILEGES ON NazwaBazyDanych.* TO 'użytkownik'@localhost;
Nadanie uprawnień do odczytu danych z bazy danych dla tworzonego usera
GRANT SELECT ON NazwaBazyDanych.* TO 'użytkownik'@localhost;
lub dla wszystkich baz danych
GRANT SELECT ON *.* TO 'użytkownik'@localhost;
Nadanie uprawnień do wstawiania danych do bazy danych dla tworzonego usera
GRANT INSERT ON NazwaBazyDanych.* TO 'użytkownik'@localhost;
lub dla wszystkich baz danych
GRANT INSERT ON *.* TO 'użytkownik'@localhost;
Nadanie uprawnień do aktualizowania istniejących danych dla tworzonego usera

GRANT UPDATE ON NazwaBazyDanych.* TO 'użytkownik'@localhost;
lub dla wszystkich baz danych

GRANT UPDATE ON *.* TO 'użytkownik'@localhost;
Nadanie uprawnień do usuwania baz danych dla tworzonego usera

GRANT DROP ON NazwaBazyDanych.* TO 'użytkownik'@localhost;
lub dla wszystkich baz danych

GRANT DROP ON *.* TO 'użytkownik'@localhost;
Istnieje również możliwość nadania kombinacji uprawnień dla tworzonego użytkownika

GRANT SELECT, INSERT, UPDATE ON NazwaBazyDanych'.* TO 'użytkownik'@'localhost';
lub dla wszystkich baz danych

GRANT SELECT, INSERT, UPDATE ON *.* TO użytkownik@'localhost';
Nadane uprawnienia dla użytkownika możemy sprawdzić poleceniem

SHOW GRANTS FOR 'użytkownik'@localhost;
Odebranie uprawnień
Odebranie uprawnień dla nowo utworzonych użytkowników do baz danych może odbywać się w różnych konfiguracjach. W tym celu należy wprowadzić różne komendy do terminala

Operacje odbierania uprawnień należy przeprowadzić z konta root

Analogicznie dla wszystkich poleceń za słowo NazwaBazyDanych pomiędzy apostrofami należy wprowadzić nazwę bazy danych, za słowo użytkownik należy wprowadzić nazwę użytkownika.

Po każdorazowej zmianie uprawnień ważne jest zastosowanie polecenia odświeżającego uprawnienia:

FLUSH PRIVILEGES;
Odebranie wszystkich uprawnień do wszystkich bazy danych dla tworzonego usera

REVOKE ALL PRIVILEGES ON *.* FROM 'użytkownik'@localhost';
Odebranie wszystkich uprawnień do tworzonej pojedynczej bazy danych dla tworzonego usera

REVOKE ALL PRIVILEGES ON NazwaBazyDanych.* FROM 'użytkownik'@localhost;
Odebranie uprawnień do odczytu danych z baz danych dla tworzonego usera
REVOKE SELECT ON NazwaBazyDanych.* FROM 'użytkownik'@'localhost';
lub dla wszystkich baz danych
REVOKE SELECT ON *.* TO 'użytkownik'@'localhost';
Odebranie uprawnień do wstawiania danych do bazy danych dla tworzonego usera
REVOKE INSERT ON NazwaBazyDanych.* TO 'użytkownik'@'localhost';
lub dla wszystkich baz danych
REVOKE INSERT ON *.* TO użytkownik@'localhost';
Odebranie uprawnień do aktualizowania istniejących danych dla tworzonego usera

REVOKE UPDATE ON NazwaBazyDanych.* TO 'użytkownik'@'localhost';
lub dla wszystkich baz danych

REVOKE UPDATE ON *.* TO 'użytkownik'@'localhost';
Odebranie uprawnień do usuwania baz danych dla tworzonego usera

REVOKE DROP ON NazwaBazyDanych.* TO 'użytkownik'@'localhost';
lub dla wszystkich baz danych

REVOKE DROP ON *.* TO 'użytkownik'@'localhost';
Istnieje również możliwość odebrania kombinacji uprawnień dla tworzonego użytkownika

REVOKE SELECT, INSERT, UPDATE ON NazwaBazyDanych.* TO 'użytkownik'@'localhost';
lub dla wszystkich baz danych

REVOKE SELECT, INSERT, UPDATE ON *.* TO 'użytkownik'@'localhost';
Nadane uprawnienia dla użytkownika możemy sprawdzić poleceniem

SHOW GRANTS FOR 'użytkownik'@localhost;
Usuwanie utworzonego użytkownika

Operacje usuwania użytkownika należy przeprowadzać z konta root
Usuwanie użytkownika MariaDB odbywa się poprzez wprowadzenie komendy:

DROP USER 'użytkownik'@localhost;

Za słowo użytkownik pomiędzy apostrofami należy wprowadzić nazwę użytkownika