Ce cours s’adresse à toute personne désirant apprendre l’administration de MySQL. La connaissance de l’utilisation de l’OS (Unix ou Windows) est indispensable. La connaissance de SQL ainsi que l’administration d’un autre SGBD est souhaitable mais ce n’est pas indispensable.
Plan détaillé
Introduction
- Présentation du serveur MySQL.
- Introduction au langage SQL.
- Introduction aux transactions.
- Outils : mysql, WorkBench.
- Bases de donnnées dans MySQL.
- Types utilisés dans MySQL.
- Moteurs de stockage et types de tables dans MySQL.
- Installation binaire.
Travaux pratiques : installation binaire, copie de tables MyISAM, fonctionnalités de l’outil mysql.
Configuration de MySQL
- Processus du serveur (mysqld) et threads lancés par MySQL.
- Démarrage/arrêt du serveuySQL.
- Paramétrage de MySQL et fichier de configuration.
- Paramètre sql_mode et mode strict.
- Commande mysqladmin.
- Base information_schema.
- Présentation de performance_schema.
Travaux pratiques : démarrage/arrêt du serveur, modification des paramètres effet du mode strict et sql_mode.
Gestion des connexions/utilisateurs
- Base mysql et tables de privilèges.
- Niveaux de privilèges dans MySQL.
- Création/suppression d’utilisateurs.
- Attribution et révocation de droits d’exécution.
Travaux pratiques : création d’utilisateurs et gestion de leurs droits, contournement des tables de privilèges.
Moteur InnoDB
- Fonctionnalité transactionnelle.
- Verrouillage des tables.
- Différentes méthodes de stockages des tables InnoDB et fichiers associés.
- Structures et fichiers liés aux fonctionnalités transactionnelles.
- Configuration des segments undo (segments d’annulation).
- Fichiers de journalisation (log files).
- Gestion de la mémoire du moteur InnoDB.
Travaux pratiques : ajout/modification des fichiers de journalisation, reconfiguration des segments UNDO, ajout de fichiers au tablespace système, ajout et utilisation de tablespace général.
Maintenance du serveur
- Réorganisation des tables.
- Consultation/arrêt forcé de sessions.
- État du serveur et ses variables.
- Journaux de MySQL : configuration et maintenance.
- Configuration et utilisation du journal binaire.
- Chargement/déchargement de données.
- Sauvegarde/restauration.
- Scénario de sauvegarde incrémentale.
Travaux pratiques: réorganisation des tables, variables d’état du serveur, gestion des journaux MySQL, chargement/déchargement de données, sauvegarde/restauration complète et incrémentale.