Název MySQL není třeba představovat. Většina administrátorů a uživatelů databází si je dobře vědoma její robustnosti, efektivity a spolehlivosti jakožto efektivního RDBMS (Systém správy relačních databází ).
MySQL atribut; spolehlivost , je pouze název, pokud není plně využit a implementován. Spolehlivost metriky zabezpečení MySQL závisí na několika administrativních aspektech. Jedním z nich je správa stávajících uživatelů databáze a jejich jednotlivých úrovní oprávnění.
Jako správce databáze chcete mít možnost flexibilně zobrazit náhled všech registrovaných uživatelů databáze; zda jsou aktivní nebo neaktivní a auditujte jejich oprávnění, abyste neohrozili integritu vašeho databázového systému.
Předpoklady
- Buďte spokojeni s prostředím příkazového řádku Linuxu a buďte uživatelem Sudoeru.
- Provozujte MySQL nebo MariaDB serveru na vašem operačním systému Linux.
Akvizice MySQL společností Oracle umožňuje, aby existovala jako Community Edition software a Enterprise Edition software. MariaDB je open-source fork MySQL . Ať už používáte MariaDB nebo MySQL , jejich ruční implementace databázových příkazů je jedna a ta samá.
Nainstalujte databázový server MySQL v systému Linux
V závislosti na vaší distribuci operačního systému Linux můžete nainstalovat MySQL nebo MariaDB z jednoho nebo z následujících instalačních příkazů:
Nainstalujte MySQL v Linuxu
$ sudo apt-get install mysql-server [On Debian, Ubuntu and Mint] $ sudo yum install mysql-server [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo pacman -S mysql-server [On Arch Linux] $ sudo zypper install mysql-server [On OpenSUSE]
Nainstalujte MariaDB v Linuxu
$ sudo apt-get install mariadb-server [On Debian, Ubuntu and Mint] $ sudo yum install mariadb-server [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo pacman -S mariadb-server [On Arch Linux] $ sudo zypper install mariadb-server [On OpenSUSE]
Zabezpečte databázový server MySQL v systému Linux
Po instalaci musíte zabezpečit MySQL instalace serveru nastavením nového hesla uživatele root, odebráním anonymních uživatelů, zakázáním přístupu uživatele root, odebráním testovací databáze a oprávnění k opětovnému načtení.
$ sudo mysql_secure_installation
Vytvoření uživatelských účtů MySQL
V našem RDBMS potřebujeme mít několik uživatelů aby byl tento článek účinný. Syntaxe pro vytvoření uživatelského účtu MySQL je následující:
CREATE USER [IF NOT EXISTS] account_name IDENTIFIED BY 'password';
Chcete-li vytvořit uživatele databáze vázaného na konkrétní název hostitele databáze, „název_účtu ” část výše uvedené syntaxe by měla být něco jako:
username@hostname
Pokud chcete, aby se uživatel databáze volně připojoval k MySQL DB serveru z libovolného vzdáleného hostitele/počítače, pak použijte pouze:
username
Implementace „username“ a „název hostitele“ definované speciálními znaky je třeba uvést v uvozovkách.
'username'@ 'hostname'
Nyní vytvoříme několik uživatelů DB:
Pomocí klientského nástroje MySQL přistupujte k serveru MySQL jako uživatel root:
$ sudo mysql -u root -p
Zadejte dřívější heslo root nastavení:
Nejprve si uveďme seznam aktuálních uživatelských účtů MySQL v našem databázovém systému:
MariaDB [(none)]> select user from mysql.user;
Jak vidíte, máme pouze výchozího uživatele root, jehož heslo jsme nastavili dříve.
Vytvořme několik uživatelů DB, z nichž někteří se mohou vzdáleně připojit (uživatelské jméno ) k tomuto databázovému serveru a dalším, které se připojují pouze lokálně (uživatelské_jméno@název_hostitele ).
MariaDB [(none)]> create user LinuxShellTips@localhost identified by 'Sec1pass!'; MariaDB [(none)]> create user LinuxShellTipster identified by 'Min1pass!'; MariaDB [(none)]> create user LinuxShellTips_tutor identified by 'Min1pass!';
Výpis uživatelských účtů MySQL
Nejprve vyjmenujme všechny uživatele přítomné v databázi:
MariaDB [(none)]> SELECT user FROM mysql.user;
Možná také budeme muset uvést další informace týkající se uživatelů DB, jako je stav vypršení platnosti hesla k účtu a propojený název hostitele.
MariaDB [(none)]> SELECT user, host, account_locked, password_expired FROM user;
Uživatelé, kteří nejsou pod hostitelem „localhost ” může přistupovat k tomuto databázovému serveru odkudkoli. Chcete-li získat aktuálního uživatele DB, implementujte následující příkaz:
MariaDB [(none)]> SELECT user();
Toto je aktuálně aktivní uživatel. Alternativně můžete použít příkaz:
MariaDB [(none)]> SELECT current_user();
Ukončete prostředí MySQL a přihlaste se jako jiný uživatel:
MariaDB [(none)]> quit; $ mysql -u LinuxShellTips -p
Protože můžete mít více než jednoho aktivního uživatele databáze, abyste je mohli vypsat, budete potřebovat příkaz MySQL podobný následujícímu:
MariaDB [(none)]> SELECT user, host, db, command FROM information_schema.processlist;
Klíčové body, které je třeba vzít v úvahu při uvádění MySQL informace o uživatelském účtu je název tabulky (např. uživatel ), pod kterými jsou tito uživatelé, a název databáze (např. mysql ), který drží ten stůl. Uvidíme se v dalším tutoriálu.