Aller au contenu principal

Installer MariaDB

Installation et Configuration de MariaDB sur VPS Linux

MariaDB est un système de gestion de base de données relationnel open-source, fork de MySQL. Ce guide vous accompagne dans l'installation complète sur votre VPS RedHeberg.

Prérequis

  • VPS Linux RedHeberg (Debian/Ubuntu recommandé)
  • Accès root ou utilisateur sudo
  • Connexion SSH active
info

Ce guide est compatible avec tous nos VPS Xeon KVM et Game Ryzen équipés de SSD NVMe Samsung 990 EVO Plus pour des performances optimales.

Installation de MariaDB

1. Mise à jour du système

# Mise à jour des paquets
sudo apt update && sudo apt upgrade -y

# Installation des dépendances de base
sudo apt install -y software-properties-common dirmngr apt-transport-https

2. Installation du serveur MariaDB

# Installation de MariaDB Server
sudo apt install -y mariadb-server mariadb-client

# Vérification du statut du service
sudo systemctl status mariadb

# Activation au démarrage
sudo systemctl enable mariadb

3. Configuration initiale sécurisée

# Lancement du script de sécurisation
sudo mysql_secure_installation
Réponses recommandées
  • Enter current password: Appuyez sur Entrée (pas de mot de passe par défaut)
  • Set root password: Y (définir un mot de passe root fort)
  • Remove anonymous users: Y
  • Disallow root login remotely: Y (sauf besoin spécifique)
  • Remove test database: Y
  • Reload privilege tables: Y

Création d'utilisateur et base de données

1. Connexion à MariaDB

# Connexion en tant que root
sudo mysql -u root -p

2. Création d'une base de données

-- Création d'une nouvelle base de données
CREATE DATABASE ma_base_de_donnees CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- Vérification de la création
SHOW DATABASES;

3. Création d'un utilisateur dédié

-- Création d'un utilisateur avec mot de passe
CREATE USER 'mon_utilisateur'@'localhost' IDENTIFIED BY 'MotDePasseSecurise123!';

-- Attribution des droits complets sur la base
GRANT ALL PRIVILEGES ON ma_base_de_donnees.* TO 'mon_utilisateur'@'localhost';

-- Application des changements
FLUSH PRIVILEGES;

-- Vérification des utilisateurs
SELECT User, Host FROM mysql.user;

4. Test de connexion

# Test de connexion avec le nouvel utilisateur
mysql -u mon_utilisateur -p ma_base_de_donnees

Configuration pour accès distant (optionnel)

Sécurité

L'accès distant expose votre base de données. Utilisez uniquement si nécessaire et avec des mesures de sécurité appropriées.

1. Configuration du serveur

# Édition du fichier de configuration
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

# Modifier la ligne bind-address (commentez-la ou changez l'IP)
# bind-address = 127.0.0.1
bind-address = 0.0.0.0

# Redémarrage du service
sudo systemctl restart mariadb

2. Création d'un utilisateur distant

-- Connexion à MariaDB
sudo mysql -u root -p

-- Création d'un utilisateur pour accès distant
CREATE USER 'utilisateur_distant'@'%' IDENTIFIED BY 'MotDePasseTresSecurise456!';
GRANT ALL PRIVILEGES ON ma_base_de_donnees.* TO 'utilisateur_distant'@'%';
FLUSH PRIVILEGES;

3. Configuration du firewall

# Ouverture du port 3306 (si nécessaire)
sudo ufw allow 3306/tcp

# Vérification des ports en écoute
sudo netstat -tlnp | grep 3306

Sauvegarde avec mysqldump

1. Sauvegarde complète d'une base

# Sauvegarde d'une base de données spécifique
mysqldump -u mon_utilisateur -p ma_base_de_donnees > sauvegarde_$(date +%Y%m%d_%H%M%S).sql

# Sauvegarde compressée
mysqldump -u mon_utilisateur -p ma_base_de_donnees | gzip > sauvegarde_$(date +%Y%m%d_%H%M%S).sql.gz

2. Sauvegarde de toutes les bases

# Sauvegarde complète de toutes les bases
mysqldump -u root -p --all-databases > sauvegarde_complete_$(date +%Y%m%d_%H%M%S).sql

# Avec structure et données séparées
mysqldump -u root -p --no-data --all-databases > structure_$(date +%Y%m%d).sql
mysqldump -u root -p --no-create-info --all-databases > donnees_$(date +%Y%m%d).sql

3. Script de sauvegarde automatique

# Création du script de sauvegarde
sudo nano /usr/local/bin/backup_mariadb.sh

# Contenu du script
#!/bin/bash
BACKUP_DIR="/var/backups/mariadb"
DATE=$(date +%Y%m%d_%H%M%S)
DB_USER="mon_utilisateur"
DB_PASS="MotDePasseSecurise123!"
DB_NAME="ma_base_de_donnees"

mkdir -p $BACKUP_DIR
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME | gzip > $BACKUP_DIR/backup_${DB_NAME}_${DATE}.sql.gz

# Suppression des sauvegardes de plus de 7 jours
find $BACKUP_DIR -name "*.sql.gz" -mtime +7 -delete

# Rendre exécutable
sudo chmod +x /usr/local/bin/backup_mariadb.sh

# Programmation avec cron (sauvegarde quotidienne à 2h)
sudo crontab -e
# Ajouter : 0 2 * * * /usr/local/bin/backup_mariadb.sh

Restauration d'une sauvegarde

# Restauration d'une sauvegarde non compressée
mysql -u mon_utilisateur -p ma_base_de_donnees < sauvegarde.sql

# Restauration d'une sauvegarde compressée
gunzip < sauvegarde.sql.gz | mysql -u mon_utilisateur -p ma_base_de_donnees

Optimisation et maintenance

1. Configuration des performances

# Édition de la configuration MariaDB
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

# Paramètres recommandés (ajuster selon vos ressources VPS)
[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
query_cache_size = 128M
query_cache_type = 1

2. Commandes de maintenance

-- Optimisation des tables
OPTIMIZE TABLE ma_table;

-- Vérification des tables
CHECK TABLE ma_table;

-- Réparation si nécessaire
REPAIR TABLE ma_table;
Performance VPS RedHeberg

Nos VPS équipés de SSD NVMe Samsung 990 EVO Plus (7250 Mo/s) offrent d'excellentes performances pour MariaDB. Les VPS Game Ryzen avec processeurs 5900X sont particulièrement adaptés