Tutoriel

MySQL vs MariaDB : guide complet pour votre hebergement 2026

Par MeilleurHebergement.ch ·
MySQL vs MariaDB : guide complet pour votre hebergement 2026

MySQL vs MariaDB : guide complet pour votre hebergement 2026

La base de donnees est le coeur de la plupart des sites web dynamiques : WordPress, PrestaShop, Drupal et pratiquement tous les CMS et applications web reposent sur une base de donnees relationnelle. En 2026, deux systemes dominent l’hebergement web : MySQL et MariaDB. Lequel choisir ? Quelles sont les differences concretes ? Ce guide complet vous donne toutes les cles pour comprendre et optimiser votre base de donnees.

L’histoire : de MySQL a MariaDB

MySQL : le pilier du web

MySQL a ete cree en 1995 par la societe suedoise MySQL AB. Pour une documentation technique complete, consultez le manuel officiel MySQL. Il est rapidement devenu la base de donnees open-source la plus populaire au monde, notamment grace a la stack LAMP (Linux, Apache, MySQL, PHP). En 2008, Sun Microsystems rachete MySQL AB. Puis en 2010, Oracle rachete Sun, devenant ainsi proprietaire de MySQL.

MariaDB : le fork communautaire

Inquiet du rachat par Oracle, Michael “Monty” Widenius, le createur original de MySQL, a cree MariaDB en 2009. MariaDB est un fork de MySQL : il est parti du meme code source mais a evolue de maniere independante. L’objectif : garantir qu’une version veritablement open-source et communautaire existe toujours.

En 2026, MariaDB est utilise par defaut dans la plupart des distributions Linux (Debian, Ubuntu, Red Hat, Arch) et par de nombreux hebergeurs web.

Serveur de base de donnees dans un datacenter pour hebergement MySQL et MariaDB

Differences techniques en 2026

Compatibilite

MariaDB a longtemps ete un remplacement direct (drop-in replacement) de MySQL. Cela signifie que vous pouviez remplacer MySQL par MariaDB sans modifier votre application. En 2026, c’est encore largement vrai pour les usages courants, mais les deux projets ont diverge sur certains points avances.

AspectMySQL 9.x (2026)MariaDB 11.x (2026)
ProtocoleCompatibleCompatible
Syntaxe SQL de baseIdentiqueIdentique
Drivers/connecteursMySQL natifCompatible MySQL
JSONType natif optimiseType alias de LONGTEXT
CTE recursivesOuiOui
Window functionsOuiOui
SequencesNonOui (CREATE SEQUENCE)
Colonnes systemeNonOui (versionning)

Pour WordPress, Joomla, Drupal ou PrestaShop, les deux sont parfaitement interchangeables. Les differences ne se manifestent que pour des usages avances specifiques.

Moteurs de stockage

C’est un domaine ou MariaDB se distingue nettement.

MoteurMySQLMariaDBUsage
InnoDBOui (defaut)Oui (defaut)Usage general, transactions
MyISAMOui (legacy)Oui (legacy)Tables en lecture seule
AriaNonOuiRemplacement ameliore de MyISAM
ColumnStoreNonOuiAnalytique, big data
SpiderNonOuiSharding natif
CONNECTNonOuiAcces a des sources externes
MyRocksNonOuiOptimise pour SSD, compression
S3NonOuiTables archivees sur S3

MariaDB offre donc plus de flexibilite pour des cas d’usage specialises. Pour l’hebergement web classique, InnoDB est le moteur standard des deux cotes.

Performances

Les benchmarks en 2026 montrent des resultats tres proches pour les charges de travail typiques d’un site web :

TestMySQL 9.xMariaDB 11.x
SELECT simples~15 000 req/s~15 200 req/s
INSERT en lot~8 000 req/s~8 500 req/s
Requetes complexes (JOIN)~4 200 req/s~4 400 req/s
JSON natifAvantage MySQLCorrect
Requetes parallelesOuiOui (depuis 11.x)

Benchmarks indicatifs sur un serveur 4 vCPU / 8 Go RAM, base de 1 million de lignes.

MariaDB a un leger avantage sur les operations de lecture et d’ecriture classiques grace a son optimiseur de requetes plus agressif. MySQL a un avantage sur les operations JSON natives grace a son type JSON binaire optimise.

Licence et gouvernance

AspectMySQLMariaDB
LicenceGPL v2 (Community) + proprietaire (Enterprise)GPL v2 (100% open-source)
GouvernanceOracleMariaDB Foundation + MariaDB plc
Edition EnterprisePayante, fonctions exclusivesTout est open-source
Mises a jour securiteOracle controle le calendrierCommunaute reactive

Quel SGBD utilisent les hebergeurs suisses et francophones ?

HebergeurSGBD par defautAlternative disponible
InfomaniakMariaDBNon
o2switchMariaDBNon
HetznerAu choix (VPS)MySQL ou MariaDB
OVHcloudMariaDBMySQL sur certaines offres
HostingerMariaDBNon
PlanetHosterMariaDBNon

La tendance est claire : MariaDB domine l’hebergement web francophone en 2026.

Commandes essentielles

Que vous utilisiez MySQL ou MariaDB, les commandes de base sont identiques. Voici les operations les plus courantes, utiles notamment pour gerer votre hebergement via cPanel ou en SSH.

Connexion et navigation

-- Se connecter (en SSH ou terminal)
mysql -u nom_utilisateur -p

-- Lister les bases de donnees
SHOW DATABASES;

-- Selectionner une base de donnees
USE nom_de_la_base;

-- Lister les tables
SHOW TABLES;

-- Voir la structure d'une table
DESCRIBE nom_table;

-- Voir la version du serveur
SELECT VERSION();

Operations CRUD de base

-- Creer une base de donnees
CREATE DATABASE mon_site
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci;

-- Creer un utilisateur avec mot de passe
CREATE USER 'mon_user'@'localhost' IDENTIFIED BY 'mot_de_passe_fort';

-- Accorder les permissions
GRANT ALL PRIVILEGES ON mon_site.* TO 'mon_user'@'localhost';
FLUSH PRIVILEGES;

-- Creer une table
CREATE TABLE articles (
    id INT AUTO_INCREMENT PRIMARY KEY,
    titre VARCHAR(255) NOT NULL,
    contenu TEXT,
    date_creation DATETIME DEFAULT CURRENT_TIMESTAMP,
    publie BOOLEAN DEFAULT FALSE,
    INDEX idx_date (date_creation)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Inserer des donnees
INSERT INTO articles (titre, contenu, publie)
VALUES ('Mon premier article', 'Le contenu de l article...', TRUE);

-- Lire des donnees
SELECT titre, date_creation FROM articles
WHERE publie = TRUE
ORDER BY date_creation DESC
LIMIT 10;

-- Modifier des donnees
UPDATE articles SET titre = 'Titre modifie' WHERE id = 1;

-- Supprimer des donnees
DELETE FROM articles WHERE id = 1;

Sauvegarde et restauration

# Sauvegarder une base de donnees
mysqldump -u utilisateur -p nom_base > sauvegarde.sql

# Sauvegarder toutes les bases
mysqldump -u root -p --all-databases > sauvegarde_complete.sql

# Sauvegarder avec compression
mysqldump -u utilisateur -p nom_base | gzip > sauvegarde.sql.gz

# Restaurer une base
mysql -u utilisateur -p nom_base < sauvegarde.sql

# Restaurer depuis un fichier compresse
gunzip < sauvegarde.sql.gz | mysql -u utilisateur -p nom_base

Infrastructure serveur hebergeant des bases de donnees relationnelles

Optimisation de la base de donnees

Une base de donnees mal optimisee est souvent la cause principale de lenteurs sur un site web. Voici les optimisations essentielles.

1. Configuration du serveur (my.cnf)

Pour un site web classique sur un serveur avec 4 Go de RAM :

[mysqld]
# Memoire InnoDB : 50-70% de la RAM disponible
innodb_buffer_pool_size = 2G

# Taille du log InnoDB
innodb_log_file_size = 512M

# Cache de requetes (desactive depuis MySQL 8.0, encore utile sur MariaDB)
# query_cache_type = 1          # MariaDB uniquement
# query_cache_size = 128M       # MariaDB uniquement

# Connexions
max_connections = 150
wait_timeout = 300

# Tables temporaires
tmp_table_size = 64M
max_heap_table_size = 64M

# Fichier par table (recommande)
innodb_file_per_table = 1

# Journalisation
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1

2. Indexation

Les index sont le levier de performance le plus puissant. Un index bien place peut transformer une requete de 5 secondes en une requete de 5 millisecondes.

-- Identifier les requetes lentes
SHOW FULL PROCESSLIST;

-- Analyser une requete
EXPLAIN SELECT * FROM wp_posts
WHERE post_status = 'publish'
ORDER BY post_date DESC;

-- Ajouter un index compose
CREATE INDEX idx_status_date ON wp_posts (post_status, post_date);

-- Verifier les index existants
SHOW INDEX FROM wp_posts;

Regles d’or pour les index :

  • Indexez les colonnes utilisees dans les clauses WHERE, JOIN, ORDER BY
  • Les index composes doivent respecter l’ordre de selectivite (colonne la plus selective en premier)
  • N’indexez pas tout : chaque index ralentit les ecritures (INSERT, UPDATE, DELETE)
  • Surveillez les index inutilises avec SHOW INDEX et les statistiques

3. Optimisation specifique a WordPress

WordPress est le principal consommateur de bases de donnees sur le web. Voici les optimisations specifiques apres avoir installe WordPress :

-- Supprimer les revisions inutiles (garder les 5 dernieres par article)
DELETE FROM wp_postmeta WHERE post_id IN (
    SELECT ID FROM wp_posts WHERE post_type = 'revision'
    AND ID NOT IN (
        SELECT ID FROM (
            SELECT ID FROM wp_posts WHERE post_type = 'revision'
            ORDER BY post_date DESC LIMIT 5
        ) AS recent_revisions
    )
);

-- Nettoyer les transients expires
DELETE FROM wp_options WHERE option_name LIKE '%_transient_%'
AND option_value < UNIX_TIMESTAMP();

-- Optimiser les tables
OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_comments;

-- Verifier la taille des tables
SELECT table_name,
       ROUND(data_length / 1024 / 1024, 2) AS data_mb,
       ROUND(index_length / 1024 / 1024, 2) AS index_mb,
       table_rows
FROM information_schema.tables
WHERE table_schema = 'wordpress'
ORDER BY data_length DESC;

Pour limiter les revisions dans wp-config.php :

// Limiter a 5 revisions par article
define('WP_POST_REVISIONS', 5);

// Augmenter l'intervalle d'auto-sauvegarde (en secondes)
define('AUTOSAVE_INTERVAL', 120);

4. Surveillance et diagnostic

-- Voir les variables de performance
SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool%';
SHOW GLOBAL STATUS LIKE 'Threads%';
SHOW GLOBAL STATUS LIKE 'Slow_queries';

-- Taux de hit du buffer pool (devrait etre > 99%)
SELECT
  ROUND(
    (1 - (
      (SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_STATUS
       WHERE VARIABLE_NAME = 'Innodb_buffer_pool_reads') /
      (SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_STATUS
       WHERE VARIABLE_NAME = 'Innodb_buffer_pool_read_requests')
    )) * 100, 2
  ) AS buffer_pool_hit_rate;

Migration de MySQL vers MariaDB (et inversement)

De MySQL vers MariaDB

La migration est generalement transparente pour les sites web :

# 1. Sauvegarder la base
mysqldump -u root -p --all-databases > backup_mysql.sql

# 2. Arreter MySQL
sudo systemctl stop mysql

# 3. Desinstaller MySQL et installer MariaDB (Ubuntu/Debian)
sudo apt remove mysql-server
sudo apt install mariadb-server

# 4. Restaurer les bases
mysql -u root -p < backup_mysql.sql

# 5. Verifier
mysql -u root -p -e "SELECT VERSION();"

De MariaDB vers MySQL

Le sens inverse est plus delicat si vous utilisez des fonctionnalites specifiques a MariaDB (sequences, moteur Aria, etc.). Pour un site WordPress standard, la migration reste simple avec la meme methode de dump/restore.

Quel choisir pour votre projet ?

Choisissez MariaDB si :

  • Vous utilisez un hebergement mutualise (c’est probablement deja MariaDB)
  • Vous voulez une solution 100% open-source
  • Vous avez besoin de moteurs de stockage avances (ColumnStore, Aria)
  • Vous hebergez un site WordPress, Joomla, PrestaShop classique

Choisissez MySQL si :

  • Vous avez besoin de fonctionnalites JSON avancees
  • Votre application est specifiquement certifiee pour MySQL
  • Vous utilisez des services cloud manages (AWS RDS, Google Cloud SQL)
  • Vous avez besoin du support commercial d’Oracle

Pour la majorite des sites web

Les deux conviennent parfaitement. Si votre hebergeur propose MariaDB par defaut (ce qui est le cas chez Infomaniak, o2switch, Hostinger et PlanetHoster), restez sur MariaDB. Si vous configurez votre propre VPS, MariaDB est le choix recommande pour l’hebergement web en 2026.

FAQ

WordPress fonctionne-t-il avec MariaDB ?

Oui, parfaitement. WordPress supporte officiellement MySQL 5.7+ et MariaDB 10.4+. La grande majorite des hebergeurs WordPress utilisent MariaDB en 2026, y compris Infomaniak.

MariaDB est-il plus rapide que MySQL ?

Pour les charges de travail web classiques, les performances sont comparables. MariaDB a un leger avantage sur les lectures grace a son optimiseur plus agressif. MySQL est legerement meilleur sur les operations JSON natives. En pratique, la difference est negligeable pour un site web standard.

Puis-je utiliser phpMyAdmin avec MariaDB ?

Oui. phpMyAdmin fonctionne de maniere identique avec MySQL et MariaDB. C’est l’interface d’administration par defaut proposee dans cPanel et la plupart des panneaux d’hebergement.

Comment savoir si j’utilise MySQL ou MariaDB ?

Connectez-vous a phpMyAdmin ou en ligne de commande et executez SELECT VERSION();. Si le resultat contient “MariaDB” (par exemple 11.4.2-MariaDB), vous utilisez MariaDB. Sinon, c’est MySQL (par exemple 9.0.1).

Combien de bases de donnees puis-je avoir ?

Cela depend de votre hebergeur. Sur un hebergement mutualise, c’est generalement illimite chez o2switch et limite a quelques dizaines chez d’autres. Sur un VPS, la limite est celle de votre espace disque.

Faut-il optimiser regulierement sa base de donnees ?

Oui. Lancez un OPTIMIZE TABLE sur vos tables principales au moins une fois par mois, surtout pour WordPress. Nettoyez regulierement les revisions, les transients et les commentaires spam. Un plugin comme WP-Optimize peut automatiser ce processus.

Conclusion

MySQL et MariaDB sont deux excellents systemes de gestion de bases de donnees pour l’hebergement web. En 2026, MariaDB a pris le dessus dans l’ecosysteme de l’hebergement web francophone grace a sa philosophie open-source et ses fonctionnalites avancees. Pour la majorite des utilisateurs, le choix entre les deux a peu d’impact concret : concentrez-vous plutot sur l’optimisation de votre configuration et de vos requetes.

Les bases de donnees meritent une attention particuliere car elles sont souvent le goulot d’etranglement des performances. Un innodb_buffer_pool_size bien dimensionne et quelques index strategiques peuvent transformer radicalement la vitesse de votre site.