« LINUX:MariaDB » : différence entre les versions

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
(Page créée avec « =But= MariaDB est un gestionnaire de base de données client-serveur utilisant le langage SQL. Il fait suite à MySQL. Il est souvent utilisé au même titre que PostgreSQ… »)
 
Aucun résumé des modifications
Ligne 21 : Ligne 21 :
  chmod -R 660 /produc/mysql
  chmod -R 660 /produc/mysql


 
Maintenant, il faut modifier le fichier configuration du serveur MariaDB, "'''/etc/my.cnf.d/mariadb-server.cnf'''". On modifie ou ajoutons quelques options sous la balise "[mysqld]":
----
[server]
[mysqld]
# répertoire contenant la base de données
datadir=/produc/mysql
# Socket, PID, journaux: de préférence, ne pas modifier
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
# niveau de journalisation, utile pour Fail2Ban
log-warnings=2
# nécessaire pour OPAC et WATERBEAR
ft_min_word_len = 1
# divers options à adapter en fonction de l'utilisation
sql-mode="NO_ENGINE_SUBSTITUTION"
max_allowed_packet=64M
innodb-log-file-size=256M
character-set-server=utf8
open_files_limit = 10000
----




Ligne 32 : Ligne 52 :


=Sécurité=
=Sécurité=
Lors du premier lancement du serveur, la base de données va être initialisée. Attention, si vous introduisez l'option "ft_min_word_len=1" vue ci-dessus, à postériori, vous devrez effectuer une mise à niveau de la base de données, une réindexation.
A ce stade, il n'existe qu'un utilisateur "'''root'''" ayant tous les privilèges mais sans mot de passe.
Il est primordial de mettre un mot de passe.
Voici une procédure:
* Créer un script SQL nommé par exemple, "user.root.sql
----
drop user 'root'@'localhost' ;
drop user 'root'@'127.0.0.1' ;
drop user 'root'@'::1' ;
create user 'root'@'localhost'      identified by 'Foutoir71' ;
create user 'root'@'127.0.0.1'      identified by 'Foutoir71' ;
create user 'root'@'::1'            identified by 'Foutoir71' ;
grant all privileges on *.*      to 'root'@'localhost' with grant option;
grant all privileges on *.*      to 'root'@'127.0.0.1' with grant option;
grant all privileges on *.*      to 'root'@'::1' with grant option;
---


=FireWall=





Version du 26 décembre 2020 à 21:43

But

MariaDB est un gestionnaire de base de données client-serveur utilisant le langage SQL. Il fait suite à MySQL. Il est souvent utilisé au même titre que PostgreSQL, autre gestionnaire de base de données.


Installation

On a besoin d'installer un package qui installera les dépendances nécessaires:

dnf install mariadb mariadb-server


Configuration

Les fichiers de configurations se trouvent dans le répertoire "/etc/my.cnf.d". Parmi ceux-ci, un seul nous intéresse: mariadb-server.cnf".

Par défaut, la base de données se crée dans le répertoire "/var/lib/mysql" mais nous préférons l'installer sur un disque à part. Dans notre cas, nous choisissons le répertoire "/produc/mysql".

Il faut le créer:

mkdir /produc/mysql

Il faut le faire appartenir à l'utilisateur pour lequel le service est lancé:

chown -R mysql:mysql /produc/mysql

et les privilèges:

chmod -R 660 /produc/mysql

Maintenant, il faut modifier le fichier configuration du serveur MariaDB, "/etc/my.cnf.d/mariadb-server.cnf". On modifie ou ajoutons quelques options sous la balise "[mysqld]":


[server]
[mysqld]
# répertoire contenant la base de données
datadir=/produc/mysql
# Socket, PID, journaux: de préférence, ne pas modifier
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
# niveau de journalisation, utile pour Fail2Ban
log-warnings=2
# nécessaire pour OPAC et WATERBEAR
ft_min_word_len = 1
# divers options à adapter en fonction de l'utilisation
sql-mode="NO_ENGINE_SUBSTITUTION"
max_allowed_packet=64M
innodb-log-file-size=256M
character-set-server=utf8
open_files_limit = 10000


Activer et lancer le service

Le service à lancer est mariadb. La première commande active le service pour qu'à chaque démarrage du serveur, le service se lance. La seconde lance directement le service. La troisième relance le service.

systemctl enable mariadb
systemctl start mariadb
systemctl restart mariadb


Sécurité

Lors du premier lancement du serveur, la base de données va être initialisée. Attention, si vous introduisez l'option "ft_min_word_len=1" vue ci-dessus, à postériori, vous devrez effectuer une mise à niveau de la base de données, une réindexation.

A ce stade, il n'existe qu'un utilisateur "root" ayant tous les privilèges mais sans mot de passe. Il est primordial de mettre un mot de passe.

Voici une procédure:

  • Créer un script SQL nommé par exemple, "user.root.sql

drop user 'root'@'localhost' ; drop user 'root'@'127.0.0.1' ; drop user 'root'@'::1' ;

create user 'root'@'localhost' identified by 'Foutoir71' ; create user 'root'@'127.0.0.1' identified by 'Foutoir71' ; create user 'root'@'::1' identified by 'Foutoir71' ;

grant all privileges on *.* to 'root'@'localhost' with grant option; grant all privileges on *.* to 'root'@'127.0.0.1' with grant option; grant all privileges on *.* to 'root'@'::1' with grant option;

---

FireWall

Sauvegarde

Restauration


->retour au menu de Linux