- 1 Méthode la plus rapide pour installer MariaDB sur Ubuntu (20.04 / 22.04 / 24.04 pris en charge)
- 1.1 ① Mettre à jour les informations des paquets
- 1.2 ② Installer MariaDB
- 1.3 ③ Vérifier que MariaDB fonctionne
- 1.4 ④ Activer le démarrage automatique (généralement non requis mais recommandé de confirmer)
- 1.5 ⑤ Se connecter à MariaDB et vérifier le fonctionnement
- 1.6 Initialisation de sécurité obligatoire après l’installation
- 1.7 Version de MariaDB installée selon la version d’Ubuntu
- 1.8 Vérifications rapides si l’installation échoue ou si le service ne démarre pas
- 2 Choisir la bonne version de MariaDB pour votre version d’Ubuntu
- 3 Si vous avez besoin de la dernière version (ajoutez le dépôt officiel de MariaDB)
- 4 Comment vérifier la version actuellement installée de MariaDB
- 5 Guide complet de la configuration initiale de la sécurité MariaDB (mysql_secure_installation)
- 6 Pourquoi vous ne pouvez pas vous connecter en tant que root (Erreur d’accès refusé)
- 7 Comment changer root pour une authentification par mot de passe (uniquement si nécessaire)
- 8 Comment vérifier la méthode d’authentification actuelle
- 9 Erreurs courantes et solutions
- 10 Définir le jeu de caractères sur utf8mb4 (prévenir le texte corrompu)
- 11 Spécifier utf8mb4 lors de la création d’une base de données (recommandé)
- 12 Créer un utilisateur d’application et accorder les permissions
- 13 Créer un utilisateur d’accès distant (uniquement si nécessaire)
- 14 Comment vérifier les utilisateurs et privilèges actuels
- 15 Erreurs d’autorisation courantes et solutions
- 16 Comment autoriser les connexions distantes dans MariaDB (corriger lorsque l’accès externe échoue)
- 17 Liste de contrôle si vous ne pouvez pas vous connecter à distance
- 18 Notes de sécurité importantes
- 19 Dépannage lorsque MariaDB ne démarre pas (erreur d’échec)
- 20 Résumé des causes d’erreur d’accès refusé
- 21 Améliorations de performance de base (pour les débutants)
- 22 Questions fréquemment posées (FAQ)
- 23 Conclusion : Utiliser MariaDB en toute sécurité sur Ubuntu
Méthode la plus rapide pour installer MariaDB sur Ubuntu (20.04 / 22.04 / 24.04 pris en charge)
Si vous souhaitez commencer à utiliser MariaDB sur Ubuntu immédiatement, suivez simplement les étapes ci-dessous pour terminer l’installation et vérifier le démarrage. À moins d’avoir une raison précise, installer depuis le dépôt par défaut d’Ubuntu est l’option la plus sûre et la plus stable.
① Mettre à jour les informations des paquets
sudo apt update
sudo apt upgrade -y
② Installer MariaDB
sudo apt install -y mariadb-server mariadb-client
Aucune configuration spéciale n’est requise pendant l’installation. Une fois terminée, le service MariaDB démarrera automatiquement.
③ Vérifier que MariaDB fonctionne
sudo systemctl status mariadb
Si active (running) s’affiche, MariaDB fonctionne correctement.
④ Activer le démarrage automatique (généralement non requis mais recommandé de confirmer)
sudo systemctl enable mariadb
⑤ Se connecter à MariaDB et vérifier le fonctionnement
sudo mysql
Si vous voyez l’invite suivante, l’installation a réussi :
MariaDB [(none)]>
Pour quitter, tapez exit;.
Initialisation de sécurité obligatoire après l’installation
Immédiatement après l’installation, MariaDB ne possède que des paramètres de sécurité minimaux. Assurez‑vous d’exécuter la commande suivante :
sudo mysql_secure_installation
En général, les réponses suivantes sont recommandées :
- Supprimer les utilisateurs anonymes → Y
- Interdire la connexion root à distance → Y
- Supprimer la base de données de test → Y
- Recharger les tables de privilèges → Y
Cela complète la configuration d’un environnement MariaDB sécurisé sur Ubuntu.
Version de MariaDB installée selon la version d’Ubuntu
- Ubuntu 20.04 → série MariaDB 10.3
- Ubuntu 22.04 → série MariaDB 10.6
- Ubuntu 24.04 → série MariaDB 10.11 (LTS)
Pour la plupart des utilisateurs, la version par défaut d’Ubuntu suffit. Ne considérez le dépôt officiel que si vous avez besoin des dernières fonctionnalités.
Vérifications rapides si l’installation échoue ou si le service ne démarre pas
- Vérifier les erreurs avec
sudo systemctl status mariadb - Vérifier les journaux détaillés avec
sudo journalctl -xe - Vérifier l’espace disque avec
df -h
Dans la plupart des cas, le problème provient d’un espace disque insuffisant ou d’une faute de frappe dans un fichier de configuration.
Choisir la bonne version de MariaDB pour votre version d’Ubuntu
Lors de l’utilisation de MariaDB sur Ubuntu, l’option la plus sûre dans la plupart des cas est la version du dépôt par défaut. Les mises à jour de sécurité et la compatibilité des dépendances sont maintenues automatiquement, ce qui la rend idéale pour les débutants et les utilisateurs intermédiaires.
Version du dépôt Ubuntu par défaut (recommandée)
- Ubuntu 20.04 → série MariaDB 10.3
- Ubuntu 22.04 → série MariaDB 10.6
- Ubuntu 24.04 → série MariaDB 10.11 (LTS)
À moins d’avoir un besoin spécifique, ces versions sont pleinement utilisables en production.
Si vous avez besoin de la dernière version (ajoutez le dépôt officiel de MariaDB)
Si vous avez besoin des dernières fonctionnalités, vous pouvez ajouter le dépôt officiel de MariaDB. Étant donné que apt-key est obsolète, cela utilise la méthode signed-by.
① Enregistrer la clé GPG
sudo mkdir -p /etc/apt/keyrings
sudo curl -fsSL https://mariadb.org/mariadb_release_signing_key.asc \
| sudo gpg --dearmor -o /etc/apt/keyrings/mariadb.gpg
② Vérifier le nom de code de votre Ubuntu
lsb_release -cs
Exemples :
- 20.04 →
focal - 22.04 →
jammy - 24.04 →
noble
③ Ajouter le dépôt officiel (exemple : série 10.11)
echo "deb [signed-by=/etc/apt/keyrings/mariadb.gpg] \
https://mirror.mariadb.org/repo/10.11/ubuntu \
$(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/mariadb.list
④ Mettre à jour les paquets et installer
sudo apt update
sudo apt install mariadb-server mariadb-client
Remarques lors de l’utilisation du dépôt officiel
- Vous pouvez utiliser des fonctionnalités plus récentes que la version par défaut d’Ubuntu
- Il existe un risque futur de conflits de dépendances
- Des tests approfondis sont nécessaires pour les serveurs de production
En production, décidez clairement si vous privilégiez la stabilité ou les dernières fonctionnalités.
Comment vérifier la version actuellement installée de MariaDB
mysql --version
Exemple :
mysql Ver 15.1 Distrib 10.6.16-MariaDB
En confirmant explicitement la version, le dépannage et les travaux de migration deviennent beaucoup plus faciles.
Guide complet de la configuration initiale de la sécurité MariaDB (mysql_secure_installation)
Immédiatement après l’installation de MariaDB, seules des configurations de sécurité minimales sont appliquées. Pour fonctionner en toute sécurité, assurez‑vous d’exécuter la commande suivante :
sudo mysql_secure_installation
Lors de l’exécution, plusieurs invites apparaîtront. Dans la plupart des cas, les réponses suivantes sont recommandées.
Réponses recommandées
- Entrez le mot de passe actuel pour root : → Appuyez sur Entrée (non défini lors du premier lancement)
- Passer à l’authentification unix_socket ? → O (Recommandé sur Ubuntu)
- Changer le mot de passe root ? → N (Si vous utilisez l’authentification unix_socket)
- Supprimer les utilisateurs anonymes ? → O
- Interdire la connexion root à distance ? → O
- Supprimer la base de test et l’accès à celle‑ci ? → O
- Recharger les tables de privilèges maintenant ? → O
Cela complète la configuration de sécurité de base.
Pourquoi vous ne pouvez pas vous connecter en tant que root (Erreur d’accès refusé)
Sur Ubuntu, l’utilisateur root utilise par défaut l’authentification unix_socket. Par conséquent, la connexion standard par mot de passe ne fonctionnera pas.
Exemple de symptôme
mysql -u root -p
→ Accès refusé pour l'utilisateur 'root'@'localhost'
Méthode de connexion correcte (défaut Ubuntu)
sudo mysql
C’est la méthode la plus sûre et recommandée.
Comment changer root pour une authentification par mot de passe (uniquement si nécessaire)
Changez la méthode d’authentification uniquement si vous devez vous connecter en tant que root depuis des outils ou applications externes.
① Se connecter à MariaDB
sudo mysql
② Modifier le plugin d’authentification
ALTER USER 'root'@'localhost'
IDENTIFIED WITH mysql_native_password
BY 'StrongPasswordHere';
FLUSH PRIVILEGES;
③ Confirmer le changement
SELECT user, host, plugin FROM mysql.user;
Si mysql_native_password est affiché, le changement a réussi.
Comment vérifier la méthode d’authentification actuelle
sudo mysql -e "SELECT user, host, plugin FROM mysql.user;"
Principales méthodes d’authentification :
- unix_socket → défaut Ubuntu, sécurisé
- mysql_native_password → Authentification par mot de passe
Sauf raison spécifique, il est plus sûr de laisser root utiliser l’authentification unix_socket.
Erreurs courantes et solutions
ERREUR 1698 (28000) : Accès refusé pour l’utilisateur ‘root’@’localhost’
- Cause : Tentative de connexion par mot de passe
- Solution : Connectez‑vous avec
sudo mysql
mysql_secure_installation introuvable
- Vérifiez avec
which mysql_secure_installation - Si non installé, exécutez
sudo apt install mariadb-server
Définir le jeu de caractères sur utf8mb4 (prévenir le texte corrompu)
Pour gérer en toute sécurité le texte multilingue et les emojis dans MariaDB, il est recommandé d’utiliser utf8mb4. Sans ce réglage, vous pouvez rencontrer des problèmes d’encodage ou des pertes de données.
① Modifier le fichier de configuration
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Ajoutez ou modifiez les lignes suivantes dans la section [mysqld] :
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
② Redémarrer MariaDB
sudo systemctl restart mariadb
③ Vérifier les paramètres
sudo mysql -e "SHOW VARIABLES LIKE 'character_set%';"
Si utf8mb4 est affiché, la configuration a réussi.
Spécifier utf8mb4 lors de la création d’une base de données (recommandé)
Si vous souhaitez définir explicitement le jeu de caractères indépendamment des paramètres globaux, spécifiez‑le lors de la création de la base de données.
CREATE DATABASE sample_db
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
Toutes les tables créées dans cette base de données hériteront de utf8mb4.
Créer un utilisateur d’application et accorder les permissions
Dans les environnements de production, n’utilisez jamais l’utilisateur root pour les connexions d’application. Créez un utilisateur dédié et accordez uniquement les privilèges minimum nécessaires.
① Se connecter à MariaDB
sudo mysql
② Créer un utilisateur (connexion locale)
CREATE USER 'app_user'@'localhost'
IDENTIFIED BY 'StrongPasswordHere';
③ Accorder des privilèges à la base de données
GRANT ALL PRIVILEGES
ON sample_db.*
TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
Créer un utilisateur d’accès distant (uniquement si nécessaire)
Configurez ceci uniquement si vous devez vous connecter depuis un serveur externe ou un environnement cloud.
CREATE USER 'app_user'@'%'
IDENTIFIED BY 'StrongPasswordHere';
GRANT ALL PRIVILEGES
ON sample_db.*
TO 'app_user'@'%';
FLUSH PRIVILEGES;
Note : Le caractère générique “%” permet les connexions depuis n’importe quel hôte. Dans les environnements de production, spécifier une adresse IP particulière est plus sûr.
Comment vérifier les utilisateurs et privilèges actuels
SELECT user, host FROM mysql.user;
SHOW GRANTS FOR 'app_user'@'localhost';
Erreurs d’autorisation courantes et solutions
Accès refusé pour l’utilisateur ‘app_user’
- Spécification d’hôte incorrecte (différence entre localhost et %)
- FLUSH PRIVILEGES n’a pas été exécuté
- Nom de base de données incorrect lors de la connexion
Base de données inconnue
- Faute de frappe dans le nom de la base de données
- Aucun privilège accordé pour la base de données cible
Comment autoriser les connexions distantes dans MariaDB (corriger lorsque l’accès externe échoue)
Par défaut, MariaDB autorise uniquement les connexions locales. Si vous devez vous connecter depuis un serveur externe ou un environnement cloud, configurez les paramètres suivants.
① Modifier bind-address
Modifiez le fichier de configuration :
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Trouvez la ligne suivante :
bind-address = 127.0.0.1
Pour autoriser les connexions externes, modifiez-la ainsi :
bind-address = 0.0.0.0
Après avoir enregistré, redémarrez MariaDB :
sudo systemctl restart mariadb
② Ouvrir le port 3306 dans le pare-feu
Si vous utilisez UFW sur Ubuntu :
sudo ufw allow 3306
sudo ufw reload
Pour une meilleure sécurité, spécifiez l’adresse IP source :
sudo ufw allow from 192.168.1.10 to any port 3306
③ Créer un utilisateur d’accès distant
CREATE USER 'app_user'@'%'
IDENTIFIED BY 'StrongPasswordHere';
GRANT ALL PRIVILEGES
ON sample_db.*
TO 'app_user'@'%';
FLUSH PRIVILEGES;
Pour une meilleure sécurité :
CREATE USER 'app_user'@'192.168.1.10'
IDENTIFIED BY 'StrongPasswordHere';
Liste de contrôle si vous ne pouvez pas vous connecter à distance
1. MariaDB est-il en cours d’exécution ?
sudo systemctl status mariadb
2. Le port 3306 écoute-t-il ?
sudo ss -tulnp | grep 3306
S’il affiche 0.0.0.0:3306, il écoute correctement sur toutes les interfaces.
3. Si vous utilisez un environnement cloud (AWS / GCP / VPS)
- Assurez-vous que le port 3306 est ouvert dans le groupe de sécurité
- Confirmez qu’aucun pare-feu externe ne bloque la connexion
4. Causes selon le message d’erreur
Impossible de se connecter au serveur MySQL
- Le port est fermé
- bind-address non modifié
- Le pare-feu bloque la connexion
Accès refusé pour l’utilisateur
- Spécification d’hôte d’utilisateur incorrecte
- Mot de passe incorrect
- Privilèges non accordés
Délai de connexion dépassé
- Paramètres de sécurité du côté cloud
- Problèmes de routage réseau
Notes de sécurité importantes
- Évitez d’utiliser « % » dans les environnements de production
- Utilisez l’accès VPN chaque fois que possible
- Envisagez d’activer les connexions SSL/TLS
- N’autorisez jamais la connexion root à distance
Dépannage lorsque MariaDB ne démarre pas (erreur d’échec)
① Vérifier le statut du service
sudo systemctl status mariadb
② Vérifier les journaux détaillés
sudo journalctl -xe
sudo cat /var/log/mysql/error.log
③ Causes courantes
- Erreurs de syntaxe du fichier de configuration
- Espace disque insuffisant
- Conflit de port (MySQL déjà en cours d’exécution)
④ Vérifier l’espace disque
df -h
Résumé des causes d’erreur d’accès refusé
- Mot de passe incorrect
- Spécification d’hôte incorrecte (différence entre localhost et %)
- FLUSH PRIVILEGES non exécuté
- Tentative de connexion standard pour root (requiert
sudo mysql)
Améliorations de performance de base (pour les débutants)
Un réglage avancé n’est pas requis, mais au minimum, confirmez les paramètres suivants.
① Activer le journal des requêtes lentes
Ajoutez ce qui suit à 50-server.cnf:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
Redémarrez MariaDB:
sudo systemctl restart mariadb
② Vérifier l’utilisation des index
Les requêtes lentes peuvent manquer d’index appropriés.
EXPLAIN SELECT * FROM sample_table WHERE column_name = 'value';
③ Vérifier les ressources du serveur
top
htop
Si la mémoire est insuffisante, envisagez de mettre à niveau votre plan serveur.
Questions fréquemment posées (FAQ)
Comment verrouiller la version de MariaDB sur Ubuntu 22.04 ?
Utilisez apt-mark hold mariadb-server.
Comment réinitialiser le mot de passe root si je l’ai oublié ?
Vous pouvez le réinitialiser en démarrant en mode sécurisé et en reconfigurant le mot de passe. Consultez notre guide dédié pour les étapes détaillées.
Comment changer le numéro de port de MariaDB ?
Modifiez 50-server.cnf en quelque chose comme port = 3307, puis redémarrez le service.
Conclusion : Utiliser MariaDB en toute sécurité sur Ubuntu
- Utiliser la version du dépôt par défaut est l’option la plus sûre
- Exécutez toujours mysql_secure_installation
- N’utilisez jamais root pour les connexions d’application
- Activez l’accès distant uniquement si nécessaire
- Lors du dépannage, la vérification des journaux est la priorité absolue
En suivant ces étapes, vous pouvez créer un environnement MariaDB sécurisé et prêt pour la production sur Ubuntu.


