Mysql
| Fiche express | |
|---|---|
| Type | SGBD relationnel (Système de Gestion de Base de Données) |
| Éditeur | Oracle Corporation (racheté avec Sun Microsystems en 2010) |
| Fork majeur | MariaDB (créé en 2009 par les fondateurs de MySQL, en réaction au rachat par Oracle) |
| Port par défaut | TCP 3306 |
| Fichier de configuration | my.cnf |
| Voir aussi | My.cnf · Mysqladmin · Mysqldump · Mysqlcheck · Reset password · Phpmyadmin · Innotop · Mtop |
MySQL est un système de gestion de base de données relationnelles open source, le plus utilisé au monde avec PostgreSQL. Le serveur (démon mysqld) écoute par défaut sur le port TCP 3306 ; l'administration se fait via le client en ligne de commande mysql, les outils dédiés (mysqladmin, mysqldump, mysqlcheck...) ou une interface graphique comme phpMyAdmin.
Cette page sert de hub vers les autres fiches MySQL du wiki : configuration, outils d'administration, supervision, commandes SQL et cluster/réplication.
Architecture
MySQL supporte plusieurs moteurs de stockage (storage engines), sélectionnables par table :
- InnoDB — moteur par défaut depuis MySQL 5.5, transactionnel (ACID), gestion des clés étrangères, verrouillage au niveau ligne. À utiliser dans l'immense majorité des cas.
- MyISAM — ancien moteur historique, non transactionnel, verrouillage au niveau table. Encore présent sur certaines installations anciennes ; voir MyISAM pour ses spécificités.
- NDB (MySQL Cluster) — moteur distribué en mémoire pour la haute disponibilité, voir MySQL Cluster.
Administration de base
- My.cnf — fichier de configuration du serveur (
[mysqld],[client]...) - Mysqladmin — administration en ligne de commande (statut, threads, flush, arrêt du serveur...)
- Mysqlcheck — vérification, réparation et optimisation des tables
- Mysqldump — sauvegarde logique (export SQL)
- mysql_config_editor — stockage des identifiants de connexion hors clair
- Reset password — récupération de l'accès root en cas de mot de passe perdu
Commandes SQL usuelles
Fiches dédiées aux commandes et opérations SQL courantes :
- Client mysql — exemples d'utilisation du client en ligne de commande
- SHOW — inspection de l'état du serveur et des objets
- Gestion des tables
- Maintenance
- Transactions
- MyISAM
- DROP · TRUNCATE — suppression de tables/bases
- Tuning — réglages de configuration
- GRANT — gestion des droits et comptes utilisateurs
Contrainte d'intégrité
Désactiver temporairement la vérification des clés étrangères (utile lors d'un import massif ou d'une restauration dans le désordre) :
SET FOREIGN_KEY_CHECKS = 0;
-- ... opérations ...
SET FOREIGN_KEY_CHECKS = 1;
À réactiver systématiquement ensuite : la désactivation ne supprime pas les contraintes, elle empêche seulement leur vérification pendant la fenêtre où elle est active — des données incohérentes peuvent être insérées entre-temps.
Tests de charge
L'outil mysqlslap (fourni avec le client MySQL) permet de simuler une charge de connexions/requêtes concurrentes pour du benchmark : voir la documentation officielle mysqlslap.
Supervision
- Innotop — supervision temps réel façon
top, actif et maintenu - Mtop — outil plus ancien, dépendant d'un dépôt aujourd'hui fermé
Cluster et variantes
- MySQL Cluster — architecture distribuée haute disponibilité (moteur NDB)
- MariaDB — fork communautaire, compatible au niveau protocole/API dans la plupart des cas
Voir aussi
- Documentation officielle — Réplication MySQL
- phpMyAdmin — interface d'administration graphique