Le nom MySQL n'a pas besoin d'introduction. La plupart des administrateurs et utilisateurs de bases de données sont bien conscients de sa robustesse, de son efficacité et de sa fiabilité en tant que SGBD efficace (Système de gestion de base de données relationnelle ).
Le MySQL attribut; fiabilité , n'est qu'un nom à moins qu'il ne soit pleinement exploité et mis en œuvre. La fiabilité de la métrique de sécurité MySQL dépend de plusieurs aspects administratifs. L'un d'eux est la gestion des utilisateurs de base de données existants et de leurs niveaux d'autorisation individuels.
En tant qu'administrateur de base de données, vous souhaitez pouvoir prévisualiser de manière flexible tous les utilisateurs de base de données enregistrés ; qu'ils soient actifs ou inactifs et auditez leurs privilèges d'autorisation afin de ne pas compromettre l'intégrité de votre système de base de données.
Prérequis
- Être à l'aise avec l'environnement de ligne de commande Linux et être un utilisateur de Sudoer.
- Exécuter MySQL ou MariaDB serveur sur votre système d'exploitation Linux.
L'acquisition de MySQL par Oracle lui permet d'exister à la fois en tant que Community Edition logiciel et Enterprise Edition Logiciel. MariaDB est un fork open-source de MySQL . Que vous utilisiez MariaDB ou MySQL , leur implémentation manuelle des commandes de base de données est la même.
Installer le serveur de base de données MySQL sous Linux
Selon la distribution de votre système d'exploitation Linux, vous pouvez installer MySQL ou MariaDB à partir de l'une ou l'autre des commandes d'installation suivantes :
Installer MySQL sous Linux
$ 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]
Installer MariaDB sous Linux
$ 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]
Serveur de base de données MySQL sécurisé sous Linux
Une fois installé, vous devez sécuriser le MySQL installation du serveur en définissant le nouveau mot de passe root, en supprimant les utilisateurs anonymes, en désactivant l'accès root, en supprimant la base de données de test et en rechargeant le privilège.
$ sudo mysql_secure_installation
Créer des comptes utilisateur MySQL
Nous devons avoir plusieurs utilisateurs présents dans notre RDBMS pour que cet article soit efficace. La syntaxe de création d'un compte utilisateur MySQL est la suivante :
CREATE USER [IF NOT EXISTS] account_name IDENTIFIED BY 'password';
Pour créer un utilisateur de base de données lié à un nom d'hôte de base de données spécifique, le "account_name ” la partie de la syntaxe ci-dessus devrait ressembler à :
username@hostname
Si vous souhaitez que l'utilisateur de la base de données se connecte librement à la base de données MySQL serveur à partir de n'importe quel hôte/machine distant, utilisez uniquement :
username
La mise en œuvre de "nom d'utilisateur" et "nom d'hôte" définis par des caractères spéciaux doivent être entre guillemets.
'username'@ 'hostname'
Créons maintenant quelques utilisateurs de base de données :
Avec l'outil client MySQL, accédez à votre serveur MySQL en tant qu'utilisateur root :
$ sudo mysql -u root -p
Saisissez l'ancien mot de passe root de configuration :
Tout d'abord, listons les comptes d'utilisateurs MySQL actuels dans notre système de base de données :
MariaDB [(none)]> select user from mysql.user;
Comme vous pouvez le voir, nous n'avons que l'utilisateur root par défaut dont nous avons configuré le mot de passe plus tôt.
Créons plusieurs utilisateurs DB, certains pouvant se connecter à distance (nom d'utilisateur ) à ce serveur de base de données et à d'autres qui ne se connectent que localement (username@hostname ).
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!';
Répertorier les comptes utilisateur MySQL
Listons d'abord tous les utilisateurs présents sur la base de données :
MariaDB [(none)]> SELECT user FROM mysql.user;
Nous pourrions également avoir besoin de répertorier davantage d'informations relatives à l'utilisateur de la base de données, telles que l'état d'expiration du mot de passe du compte et le nom d'hôte lié.
MariaDB [(none)]> SELECT user, host, account_locked, password_expired FROM user;
Les utilisateurs qui ne sont pas sous l'hôte "localhost ” peut accéder à ce serveur de base de données de n'importe où. Pour obtenir l'utilisateur de base de données actuel, implémentez la commande suivante :
MariaDB [(none)]> SELECT user();
Il s'agit de l'utilisateur actuellement actif. Vous pouvez également utiliser la commande :
MariaDB [(none)]> SELECT current_user();
Quittez le shell MySQL et connectez-vous en tant qu'utilisateur différent :
MariaDB [(none)]> quit; $ mysql -u LinuxShellTips -p
Étant donné que vous pouvez avoir plusieurs utilisateurs de base de données actifs, pour les répertorier, vous aurez besoin d'une commande MySQL similaire à la suivante :
MariaDB [(none)]> SELECT user, host, db, command FROM information_schema.processlist;
Les points clés à noter lors de l'inscription de MySQL les informations du compte utilisateur correspondent au nom de la table (par exemple, utilisateur ) sous lesquels se trouvent ces utilisateurs et le nom de la base de données (par exemple mysql ) qui contient cette table. Rendez-vous au prochain tutoriel.