Nous allons installer et configurer un moteur de base de données. MariaDB est un système de gestion de base de données (SGBD). Il s'agit d'un fork communautaire de MySQL . Il fait partie des logiciels de gestion de base de données les plus utilisés au monde, autant par le grand public (applications web principalement) que par des professionnels, en concurrence avec Oracle, Informix et Microsoft SQL Server.

Prérequis

Installation

yum install mariadb-server

Configuration

Sécuriser votre MariaDB

La commande mysql_secure_installation permet de sécuriser un peux votre serveur MariaDB, elle ne suffira pas à le sécuriser parfaitement mais c'est déjà un début.

Cette commande vous demande de : 

  • saisir un mot de passe root
  • supprimer les utilisateurs anonymes
  • supprimer l'accès à l'utilisateur root depuis une autre machine
  • supprimer la base de données test
  1. Démarrer le service MariaDB

    systemctl start mariadb

  2. Exécuter le script mysql_secure_installation

    mysql_secure_installation

    Enter current password for root (enter for none):
    OK, successfully used password, moving on..
    Setting the root password ensures that nobody can log into the MariaDB
    root user without the proper authorisation.
    
    Set root password? [Y/n] y
    New password:
    Re-enter new password:
    Password updated successfully!
    Reloading privilege tables.
     ...Success!
    ... 
    Remove anonymous users? [Y/n] y
     ... Success!
    ...
    Disallow root login remotely? [Y/n] y
     ... Success!
    ...
    Remove test database and access to it? [Y/n] y
    - Dropping test database...
     ... Success!
    - Removing privileges on test database...
     ... Success!
    ... 
    Reload privilege tables now? [Y/n] y
     ... Success!
    
    Cleaning up...
    
    All done! If you've completed all of the above steps, your MariaDB
    installation should now be secure.
    
    Thanks for using MariaDB!
  3. Activer le service au démarrage du serveur.

    systemctl enable mariadb

    ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service' 
  4. Tester la connection à MariaDB et tapant la commande ci-dessous:

    mysql -u root -p -e "use mysql; select host, user from user;"

    Enter password:
     +-----------+------+
     | host | user |
     +-----------+------+
    | 127.0.0.1 | root |
    | ::1 | root |
    | localhost | root |
    +-----------+------+

Remarque:

L'utilisateur root peut accéder à MariaDB uniquement depuis le serveur (localhost).

MariaDB accessible depuis un autre serveur/station de travail

Dans la configuration de base décrite ci-dessus, seul l'utilisateur root local peux accèder à MariaDB. Nous allons maintenant configurer MariaDB pour le rendre accessible depuis un serveur/station de travail distant.

Dans la commande grant all privileges décrite plus loin, vous entrez l'adresse ip du serveur/station de travail distant auquel vous donnez l'accès, cette adresse peut être remplacée par 192.168.1.0/255.255.255.0 pour tous les serveurs distant se trouvant dans le réseau 192.168.1.xxx ou par % pour tous les serveurs distant (déconseillé).

Configuration

  1. Ouvrir le port 3306 au niveau du firewall local avec les commandes ci-dessous:

    firewall-cmd --add-service=mysq
    firewall-cmd --permanent --add-service=mysql

  2. Pour permettre l'accès à l'utilisateur root depuis mon PC (192.168.1.24) je créé utilisateur 'root'@'192.168.1.24'.

    mysql -u root -p -e "grant all privileges on *.* to 'root'@'192.168.1.24' identified by 'votre_mot_de_passe_ici' with grant option; flush privileges;"

  3. Tester la connection à MariaDB depuis le serveur/station de travail en tapant la commande ci-dessous:

    mysql -u root -p -h srvname -e "use mysql; select host, user from user;"

    Enter password:
    +-----------+------+
    | host | user |
    +-----------+------+
    | 127.0.0.1 | root |
    | 192.168.1.24 | root |
    | ::1 | root |
    | localhost | root |
    +-----------+------+

Votre serveur MariaDB est prêt.