Outils pour utilisateurs

Outils du site


bdd_et_replication

Ceci est une ancienne révision du document !


# 📘 Documentation : Installation GLPI avec BDD externe et réplication MariaDB sur Debian 12

## 1️⃣ Pré-requis

* Deux serveurs Debian 12 :

  • Master BDD : `192.168.100.9`
  • Replica BDD : `192.168.100.10`

* Serveur GLPI : `192.168.100.7` * Accès root/sudo sur tous les serveurs * Firewall : port 3306 ouvert entre Master et Replica, et du GLPI vers le Master

## 2️⃣ Installation de MariaDB sur le serveur externe (Master)

```bash sudo apt update && sudo apt upgrade -y sudo apt install mariadb-server -y sudo systemctl enable –now mariadb sudo mysql_secure_installation ```

Paramètres recommandés :

* Supprimer les utilisateurs anonymes * Interdire root distant * Supprimer la base test * Mettre un mot de passe root fort

## 3️⃣ Création de la base GLPI et de l’utilisateur

```sql CREATE DATABASE glpidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'glpiuser'@'192.168.100.7' IDENTIFIED BY 'Btssio2017'; GRANT ALL PRIVILEGES ON glpidb.* TO 'glpiuser'@'192.168.100.7'; FLUSH PRIVILEGES; ```

## 4️⃣ Configurer MariaDB pour un accès externe

Éditer `/etc/mysql/mariadb.conf.d/50-server.cnf` sur le Master :

```ini [mysqld] server-id = 1 log_bin = /var/log/mysql/mariadb-bin binlog_format = ROW bind-address = 192.168.100.9 expire_logs_days = 7 max_binlog_size = 100M ```

Créer le dossier des logs si nécessaire :

```bash sudo mkdir -p /var/log/mysql sudo chown -R mysql:mysql /var/log/mysql sudo chmod 750 /var/log/mysql sudo systemctl restart mariadb ```

## 5️⃣ Lier GLPI à la base externe

1. Supprimer le fichier de configuration local de GLPI :

```bash sudo rm /var/www/html/glpi/config/config_db.php ```

2. Vérifier les droits :

```bash sudo chown -R www-data:www-data /var/www/html/glpi/config sudo chmod -R 755 /var/www/html/glpi/config ```

3. Dans le navigateur, relancer GLPI → interface d’installation :

* Serveur SQL : `192.168.100.9` * Utilisateur SQL : `glpiuser` * Mot de passe : `Btssio2017` * Base : `glpidb`

GLPI va créer les tables nécessaires.

## 6️⃣ Configuration de la réplication Master → Replica

### 6.1 Sur le Master

1. Créer l’utilisateur de réplication :

```sql CREATE USER 'repl'@'192.168.100.10' IDENTIFIED BY 'Btssio2017'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.100.10'; FLUSH PRIVILEGES; ```

2. Vérifier l’état actuel des binlogs :

```sql SHOW MASTER STATUS; ```

Notez `File` et `Position` pour config du Replica.

### 6.2 Sur le Replica

1. Éditer `/etc/mysql/mariadb.conf.d/50-server.cnf` :

```ini [mysqld] server-id = 2 relay-log = /var/log/mysql/mariadb-relay read_only = 1 ```

2. Créer le dossier des logs si nécessaire :

```bash sudo mkdir -p /var/log/mysql sudo chown -R mysql:mysql /var/log/mysql sudo chmod 750 /var/log/mysql sudo systemctl restart mariadb ```

3. Importer la base depuis un dump du master :

```bash mysql -u root -p < /tmp/glpidb.sql ```

4. Configurer la réplication :

```sql STOP SLAVE; CHANGE MASTER TO

MASTER_HOST='192.168.100.9',
MASTER_USER='repl',
MASTER_PASSWORD='Btssio2017',
MASTER_LOG_FILE='mariadb-bin.000001',  -- depuis SHOW MASTER STATUS
MASTER_LOG_POS=123;                    -- depuis SHOW MASTER STATUS

START SLAVE; ```

5. Vérifier :

```sql SHOW SLAVE STATUS\G ```

* `Slave_IO_Running: YES` * `Slave_SQL_Running: YES`

## 7️⃣ Vérifications et tests

1. Créer une table test sur le Master et vérifier sur le Replica :

```sql CREATE TABLE test_replication (id INT PRIMARY KEY, message VARCHAR(50)); INSERT INTO test_replication VALUES (1, 'replication OK'); SELECT * FROM test_replication; – sur le Replica ```

2. Surveiller le retard :

```sql SHOW SLAVE STATUS\G ```

* `Seconds_Behind_Master` → doit être 0 ou proche

## 8️⃣ Bonnes pratiques

* Faire des backups réguliers (même avec réplication) * Ne pas écrire directement sur le Replica (`read_only = 1`) * Vérifier la réplication après chaque purge de binlogs ou upgrade * Firewall : ouvrir uniquement le port 3306 entre GLPI / Master / Replica

bdd_et_replication.1758006836.txt.gz · Dernière modification : (modification externe)