skip to content

Recherche

MariaDB

Base de données MariaDB : MySQL compatible et open source !

BDD
Publié le

MariaDB est un fork open source de MySQL, développé par les créateurs originaux de MySQL pour garantir l’ouverture et la performance.

🤔 Pourquoi MariaDB ?

MariaDB c’est pour quoi :

  • 🆓 100% gratuit - Même en entreprise, pas de licence payante
  • 🔄 Remplace MySQL - Facile à migrer
  • Rapide - Optimisé pour les sites web
  • 🛡️ Sécurisé - Chiffrement inclus

À utiliser pour :

  • WordPress, Drupal (CMS classiques)
  • Sites web avec PHP (LAMP)
  • Remplacer MySQL quand on veut du gratuit
  • Applications web “normales”

🚀 Installation

📌 Système🧠 Commande
🐧 Ubuntu/Debiansudo apt install mariadb-server mariadb-client
🎩 CentOS/RHELsudo yum install mariadb-server mariadb
🍎 macOS (Homebrew)brew install mariadb
🐳 Dockerdocker run -d mariadb:11
🏢 Version officiellemariadb.org/download

⚙️ Configuration de base

📌 Action🧠 Commande
▶️ Démarrer MariaDBsudo systemctl start mariadb
🔄 Activer au démarragesudo systemctl enable mariadb
🔒 Configuration sécuriséesudo mysql_secure_installation
🔗 Se connecter comme rootsudo mysql -u root -p
📊 Voir le statutsudo systemctl status mariadb
🚪 Quitter mysqlquit; (ou exit;)

🗄️ Gestion des bases de données

📌 Action🧠 Commande
📋 Lister les basesSHOW DATABASES;
🆕 Créer une baseCREATE DATABASE monapp;
🗑️ Supprimer une baseDROP DATABASE monapp;
🔗 Utiliser une baseUSE monapp;
📊 Base couranteSELECT DATABASE();
💾 Taille des basesSELECT table_schema, SUM(data_length) FROM information_schema.tables GROUP BY table_schema;

👥 Gestion des utilisateurs

📌 Action🧠 Commande
📋 Lister les utilisateursSELECT User, Host FROM mysql.user;
👤 Créer un utilisateurCREATE USER 'jean'@'localhost' IDENTIFIED BY 'motdepasse';
🔐 Changer mot de passeALTER USER 'jean'@'localhost' IDENTIFIED BY 'nouveau_mdp';
🗑️ Supprimer un utilisateurDROP USER 'jean'@'localhost';
👤 Utilisateur distantCREATE USER 'jean'@'%' IDENTIFIED BY 'motdepasse';
🔄 Recharger privilègesFLUSH PRIVILEGES;

🔒 Gestion des droits

📌 Action🧠 Commande
🔑 Tous droits sur une baseGRANT ALL PRIVILEGES ON monapp.* TO 'jean'@'localhost';
📖 Droits lecture seuleGRANT SELECT ON monapp.* TO 'jean'@'localhost';
✏️ Droits lecture/écritureGRANT SELECT, INSERT, UPDATE, DELETE ON monapp.* TO 'jean'@'localhost';
👑 Droits administrateurGRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
🚫 Retirer des droitsREVOKE ALL PRIVILEGES ON monapp.* FROM 'jean'@'localhost';
📋 Voir les droitsSHOW GRANTS FOR 'jean'@'localhost';

💾 Sauvegarde et restauration

📌 Action🧠 Commande
💾 Sauvegarde une basemysqldump -u root -p monapp > backup.sql
💾 Sauvegarde toutes les basesmysqldump -u root -p --all-databases > all_backup.sql
💾 Sauvegarde avec structuremysqldump -u root -p --no-data monapp > structure.sql
💾 Sauvegarde données seulesmysqldump -u root -p --no-create-info monapp > data.sql
📥 Restaurer une basemysql -u root -p monapp < backup.sql
📥 Restaurer depuis scriptmysql -u root -p < all_backup.sql

🔍 Monitoring et debug

📌 Action🧠 Commande
📈 Voir les processusSHOW PROCESSLIST;
💾 Variables systèmeSHOW VARIABLES;
📊 Statut serveurSHOW STATUS;
🔧 Tuer une requêteKILL QUERY process_id;
📊 Taille des basesSELECT table_schema, ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) AS 'DB Size in MB' FROM information_schema.tables GROUP BY table_schema;
⚡ Voir la versionSELECT VERSION();