
Nos consultants formateurs tous fortement impliqués dans la communauté MySQL suivent activement les nouveautés de MySQL afin de mettre à jour nos programmes de cours pratiquement en temps réel.
Ils ont conçu les formations MySQL, les supports de cours et les travaux pratiques qui accompagnent chaque formation. Ces programmes sont révisés plusieurs fois par an afin de coller à l’actualité très dynamique de ce domaine.
PLB, vous propose ci-dessous les formations MySQL les plus pertinentes, de la formation MySQL pour débutant jusqu’aux formations MySQL pour experts.
Description de la formation MySQL
Le SGBD MySQL dispose, depuis la version 5, de la majorité des fonctionnalités et des mécanismes disponibles chez ses concurrents commerciaux ou libres (Oracle, DB2, PostgreSQL…).
Objectifs
Cette formation vous permettra de savoir installer MySQL et d’en assurer l’essentiel de la gestion quotidienne. Ce cours présentera également les aspects développement de MySQL et notamment les extensions procédurales (procédures stockées, curseurs, triggers…) apparues avec la version 5.
À qui s’adresse cette formation ?
Public :
Développeurs et administrateurs de bases de données.
Prérequis :
La formation peut se dérouler indifféremment en environnement Unix, Linux ou Windows, des connaissances de base sur l’un ou l’autre de ces systèmes sont suffisantes pour suivre la formation.
Contenu du cours MySQL
Introduction, installation et prise en main
Versions, panorama des fonctionnalités et des outils
Ressources et documentation
Procédure d’installation
Paramétrages de post-installation et premiers tests
L’outil client ligne de commandes mysql
Présentation de l’outil graphique MySQL Query Browser
Travaux pratiques
Exemple complet d’installation sur un système Linux
Modèle relationnel, conception et création d’une base MySQL
Éléments de conception d’un schéma de base de données
Contraintes d’intégrité
Types de données MySQL (numériques, chaînes, dates, types spécifiques…)
Fonctions intégrées de MySQL
Types de tables (MyISAM, MEMORY, MERGE, InnoDB…)
Création de bases et de tables
Gestion des index
La base INFORMATION_SCHEMA
Travaux pratiques
Conception et création d’une base “ecole” en tables MyISAM
Visualisation du schéma des tables
Insertion de données, vérification des contraintes
Pratique du SQL avec MySQL
Sélections simples, comparaisons, tris
Sélections multitables, différents types de jointures
Requêtes imbriquées
Requêtes préparées
Recherches full-text
Modifications (insertions, mises à jours, suppressions)
Gestion des vues
Travaux pratiques
Sélections simples
Sélections multiples, jointures internes et externes, requêtes imbriquées
Modifications et suppressions de données
Création et utilisation des vues
Tables transactionnelles InnoDB
Notion de transaction, niveaux d’isolation
Structure physique des tables
Programmation des transactions (START TRANSACTION, COMMIT, ROLLBACK)
Travaux pratiques
Création d’une base “ecolebis” en tables InnoDB
Mise en oeuvre de transactions
SQL Procédural
Procédures stockées et fonctions
Définition des procédures, appels, instructions de contrôle, curseurs
Déclencheurs (triggers): création et utilisation
Gestion des erreurs
Travaux pratiques
Écriture de procédures stockées
Récupérations de résultats à l’aide de curseurs
Création et utilisation de triggers
Connexions, droits d’accès, sécurité
Principe d’authentification et de vérification des droits
Gestion des utilisateurs et de leurs privilèges
Sécurisation des procédures stockées
Travaux pratiques
Création de différents types de comptes MySQL
Gestion des privilèges et des mots de passe
Maintenance des données
Importation et exportation de données
Les différents journaux de MySQL (erreurs, requêtes, requêtes lentes, journal binaire)
Types et stratégies de sauvegardes
La commande mysqldump
Travaux pratiques
Exportation de données vers des fichiers texte, réimportation des données
Activation des différents journaux
Sauvegardes et restaurations avec la commande ” mysqldump”
Aspects avancés, optimisation
Jeux de caractères, internationalisation
Formats géométriques, données géographiques
Optimisation des requêtes (types d’index, interprétation de l’outil EXPLAIN)
Interfaces de programmation (exemple PHP/MySQL)
Connecteurs MySQL
Description de la formation MySQL 5
MySQL est devenu en quelques années le serveur de base de données libre le plus utilisé, notamment dans le contexte des applications Internet/Intranet.
Objectifs
A l’issue de ce stage, vous saurez installer et administrer MySQL au quotidien, d’une manière efficace et sécurisée.
À qui s’adresse cette formation ?
Public :
Développeurs, administrateurs système et administrateurs de bases de données.
Prérequis :
Il est souhaitable de posséder de bonnes notions de base sur le langage SQL. La formation peut se dérouler indifféremment en environnement Unix, Linux ou Windows, des connaissances de base sur l’un ou l’autre de ces systèmes sont suffisantes pour suivre la formation.
Contenu du cours MySQL 5
Introduction et installation de MySQL 5.7
Versions, panorama des fonctionnalités et des outils
Ressources et documentation
Procédure d’installation de MySQL 5.7
Paramétrages de post-installation et premiers tests
Changements de versions, mises à jour
Travaux Pratiques :
Exemple complet d’installation sur un système Linux
Manipulation des données avec MySQL 5.7
Prise en main de l’outil client ligne de commande “mysql”
Scripts clients et utilitaires
Outils graphiques : MySQL Administrator, MySQL Query Browser, Migration Toolkit
Types de données et fonctions MySQL
Types de tables (MyISAM, MEMORY, MERGE, InnoDB…)
Création de bases, d’index et de tables
Gestion des vues
La base de données INFORMATION_SCHEMA
Importation et exportation de données
Travaux Pratiques :
Création d’une base “produits” en tables MyISAM
Visualisation du schéma des tables
Insertion de données
Exportation de données vers des fichiers texte, réimportation des données
SQL Procédural
Procédures stockées et fonctions
Définition des procédures, appels, instructions de contrôle, curseurs
Déclencheurs (triggers) : création et utilisation
Gestion des erreurs
Travaux Pratiques :
Écriture de procédures stockées simples
Récupération de résultats à l’aide de curseurs
Création et utilisation de triggers
Connexions, droits d’accès, sécurité
Principe d’authentification et de vérification des droits
Structure des tables de la base “mysql” de gestion des droits
Sécurisation de la post-installation
Gestion des utilisateurs et de leurs privilèges
Sécurisation des procédures stockées
Travaux Pratiques :
Sécurisation complète de la post-installation
Création de différents types de comptes MySQL
Gestion des privilèges et des mots de passe
Tables transactionnelles InnoDB
Notion de transaction, niveaux d’isolation
Structure physique des tables
Paramétrages et optimisation
Travaux Pratiques :
Création d’une base “produitsbis” en tables InnoDB
Mise en œuvre de transactions
Modification des paramètres de stockage (“tablespaces”, journaux…)
Fichiers de logs, sauvegardes, réplication avec MySQL 5.7
Les différents journaux de MySQL (erreurs, requêtes, requêtes lentes, journal binaire)
Stratégies de sauvegarde (serveur arrêté, serveur actif, types de tables, verrouillages…)
Les commandes (mysqldump, InnoDB Hot Backup, autres commandes…)
Réplication maître-esclave (mise en œuvre, résolution des problèmes)
Travaux Pratiques :
Activation des différents journaux
Sauvegardes et restaurations avec la commande “mysqldump”
Utilisation du journal binaire
Mise en œuvre d’une réplication “maître-esclave”
Optimisation de la production du serveur MySQL 5.7
Observation de l’activité du serveur
Variables dynamiques, paramétrages et optimisation du serveur MySQL 5.7
Cache des requêtes
Multiples instances de serveur MySQL 5.7
Travaux Pratiques :
Optimisation des paramètres du serveur
Tour d’horizon des solutions propriétaires
L’offre Oracle
Notion de grille (11g) et de Cloud (12c)
Les grandes différences avec Oracle (techniques et financières)
L’offre de Microsoft SQL Server
La version Cloud (Azure)
Travaux Pratiques
Tout au long du stage, de nombreux travaux pratiques permettent de valider les connaissances théoriques.
Objectifs de la formation MySQL Cluster
Cette formation MySQL Cluster vous permet de maîtriser la mise en place d’une architecture haute disponibilité avec MySQL Cluster. À l’issue de la formation MySQL Cluster, vous serez en mesure de réaliser des tâches telles que l’installation et la configuration d’un cluster, l’optimisation de performance et l’administration d’une architecture en cluster. Nous aborderons également des techniques avancées telles que la réplication, la sauvegarde à chaud et la restauration des noeuds d’un cluster.
Concrètement, à l’issue de ce stage MySQL Cluster, vous serez capable de :
- Connaitre MySQL Cluster
- Mettre en place une architecture haute disponibilité
- Installer, configurer et administrer MySQL Cluster.
À qui s’adresse cette formation ?
Public :
Cette formation MySQL Cluster s’adresse aux administrateurs de bases de données connaissant MySQL.
Prérequis :
Cette formation exige de connaitre l’administration MySQL.
Contenu du cours MySQL Cluster
Présentation
Haute disponibilité
Maitriser l’installation
Configuration de MySQL
Connaitre les chaînes de connexion
Démarrage du cluster
Démarrer le gestionnaire de noeuds du cluster
Savoir démarrer les noeuds SQL
Vérifier le statut du cluster
Arrêt et démarrage du cluster
Arrêt propre
Démarrage du cluster
Les logs et débug
Les logs MySQL
Les logs du cluster et du noeud
La base d’information du cluster ndbinfo
Sauvegarde et restauration
Sauvegarde de MySQL Cluster
Restauration de MySQL Cluster
Les commandes – ndb_setup.py, ndb_mgmd, ndbmtd
Objectifs de la formation Optimisation MySQL
Cette formation MySQL administration avancée vous permet d’identifier, d’anticiper et de régler les problèmes de performances de votre serveur de bases de données MySQL et de son environnement. A l’issue de la formation MySQL avancée, le stagiaire est capable de paramétrer finement le serveur MySQL ainsi que d’optimiser ses performances.
Concrètement, cette formation d’optimisation MySQL vous permettra de :
- Connaître l’architecture de MySQL
- Bien choisir son moteur de stockage
- Choisir les bon types de données
- Optimiser ses requêtes
- Optimiser son serveur MySQL
- Identifier les goulots d’étranglement
- Gérer les caches et les buffers
À qui s’adresse cette formation ?
Public :
Cette formation MySQL avancée s’adresse aux administrateurs de base de données, aux concepteurs, aux architectes et aux développeurs Webmaster
Prérequis :
Connaître le SQL
Contenu du cours Optimisation MySQL
Théorie et architecture
Architecture de MySQL
Architecture client-serveur
Les outils de mesure de performance
Optimisation du schéma
Normalisation
Les types de données
Partitionnement
Index
Optimisation des requêtes
La commande EXPLAIN
L’optimiseur/planificateur
Trouver les requêtes problématiques
Cache et buffer de MySQL
Le cache de requêtes
Le cache de threads
Le cache de tables
Le cache de requêtes
Spécificités des moteurs de stockage
MyISAM
InnoDB
MEMORY
Autres moteur
minim veniam, quis nostrud exercitation.
Objectifs de la formation MariaDB SQL
MariaDB est un SGBD (Système de Gestion de Base de Données) édité sous licence GPL.
Développé au départ pour concurencer MySQL, les deux sont aujourd’hui complémentaires.
Cette formation couvre à la fois la dernière version de MySQL et la dernière version de MariaDB.
Concrètement, à l’issue de cette formation vous serez en mesure de:
- Vous connecter au serveur puis à la base de données
- Construire une base de données exemple
- Apprendre ou perfectionner l’utilisation du langage SQL STANDARD (selon votre niveau initial)
- Utiliser le SQL STANDARD pour n’importe quel SGBDR
À qui s’adresse cette formation ?
Public :
Cette formation s’adresse aux personnes souhaitant apprendre ou perfectionner leur connaissance du langage SQL STANDARD et des bases de données.
Prérequis :
Aucune connaissance particulière sur le SQL n’est requise pour suivre ce module.
Contenu du cours MariaDB SQL
Généralités
En quoi MySQL/MariaDB peut nous aider ?
MySQL vs MariaDB
Les moteurs de stockage
MariaDB Sécurité, compatibilité, versions, calendriers
Les migration MySQL/MariaDB
Caractéristiques de MySQL/MariaDB, les limites
Les fichiers MySQL/MariaDB
Démarrage/arrêt du serveur
Installation et choix de la version
Connexion avec le client mysql
Le mot de passe administrateur avec mysqladmin
Le fichier .my.cnf
Les débuts avec MariaDB
Premier exemples simples avec SELECT
La casse dans les requêtes
Requêtes stockées dans un fichier
Création de la base avec CREATE DATABASE
Création de la base avec mysqladmin
Suppression de la base avec DROP DATABASE
Suppression de la base avec DROP mysqladmin
Utiliser l’aide des instructions SQL
Création des tables avec CREATE TABLE
Les types de données MySQL
Renommer une table avec RENAME TABLE
Insérer des données avec INSERT
Le SQL avec MariaDB
Création/suppression de bases de données
Outils mysqladmin et mysqlshow
Utiliser l’aide SQL en ligne
Création des tables
Les types de données
Etude de SELECT
Les alias de colonnes
La clause WHERE avec <, >, !=, =, BETWEEN, LIKE et NOT LIKE
Utiliser AND et OR dans les requêtes
Utilisation de IN( )
Gérer les doublons avec DISTINCT
Le tri avec ORDER BY et DESC
Limiter les requêtes avec LIMIT
L’agregat COUNT( )
Grouper avec GROUP BY
Utiliser HAVING
Les agregats MIN( ), MAX( ), SUM( ) et AVG( )
La recherche de modèles avec _ et %
Les expressions régulières avec REGEXP et NOT REGEXP
La concaténations avec CONCAT( ) et CONCAT_WS( )
Les sous-requêtes (ALL, EXISTS, IN, NOT IN)
Les alias de tables
Les jointures
Les jointures avec INNER, JOIN, USING, LEFT, RIGTH, OUTER et ON
Duplication de tables avec CREATE TABLE SELECT
Suppressions avec DELETE et DROP
Modifier et ajouter des enregistraments avec UPDATE et INSERT
La colonne PRIMARY KEY et l’auto_increment
Travailler avec les dates : =, <, >, <=, >=
Travailler avec les dates : MONTH( ), YEAR( ), DAYOFMONTH( )
Changer le type de colonne avec ALTER TABLE
Les fonctions TO_DAYS( ) et FROM_DAYS( )
Les fonctions CURDATE( ) et CURTIME( )
Les fonctions DATE_ADD( ) et DATE_SUB( )
Utiliser INTERVAL( )
Les fonctions DATE_FORMAT( ), EXTRACT( ), PERIOD_ADD( ) et PERIOD_DIFF( )
Les variables utilisateur avec @
Les tests dans les requêtes avec IF
Les tests dans les requêtes avec CASE, WHEN, THEN, ELSE et END
La selection dans une liste avec ELT( )
Les fonctions mathématiques : ABS( ), SIGN( ), ROUND( ), POW( ), SQRT( ), RAND( ), etc…
Les fonctions sur les chaines : ASCII( ), BINARY( ), STRCMP( ), BIT_LENGTH( ), INSERT( ), etc…
Verrous sur les tables avec LOCK TABLES et UNLOCK TABLES
Les index avec CREATE INDEX
Les vues avec CREATE VIEW
Lire les données dans un fichier avec LOAD DATA INFILE
L’instruction WITH ROLLUP avec GROUP BY
Les instructions OUTFILE et DUMPFILE
Remplacer des enregistrements avec REPLACE
InnoDB : Les transactions START TRANSACTION, COMMIT et ROLLBACK
La commande SHOW
Objectifs de la formation MariaDB administration
MariaDB est un SGBD (Système de Gestion de Base de Données) édité sous licence GPL.
Développé au départ pour concurencer MySQL, ils sont aujourd’hui complémentaires.
Cette formation couvre à la fois la dernière version de MySQL et la dernière version de MariaDB.
Vous apprendrez notamment à maitriser:
- Le partitionnement des tables
- La base de données d’informations
- Les variables globales et les variables de session
- Les types de tables, les tables INNODB, les tables temporaires
- La modification avec ALTER
- La gestion des comptes avec GRANT et REVOKE
- Les journaux binaires, ainsi que les SAUVEGARDES, l’optimisation et la REPLICATION.
À qui s’adresse cette formation ?
Public :
Ce programme s’adresse à tous ceux souhaitant maîtriser les systèmes MySQL et MariaDB.
Prérequis :
Cette formation nécessite d’avoir de bonnes connaissances en informatique.
Contenu du cours MariaDB administration
Architecture et partitionnement des tables MariaDB
Architecture : client/serveur, les protocoles, gestion de la mémoire
Les types de partitionnement : horizontal et vertical
Les avantages du partitionnement des tables
Mise en oeuvre partitionnement par intervalles avec RANGE
Voir les partitions avec EXPLAIN
Partitionner avec ALTER TABLE
Suppression de données dans une partition
Mise en oeuvre partitionnement par listes
Ajouter une valeur liste avec REORGANIZE
Mise en oeuvre partitionnement par hachage
Mise en oeuvre partitionnement par clés
Le sous-partitionnement
Commande ALTER et jeux de caractères
Etude de ALTER TABLE
ALTER TABLE mise en oeuvre : RENAME, MOF-DIFY, ADD, …
Autres exemples : DATABASE, SERVER, VIEW, FUNCTION, …
Les jeux de caractères et les collations
Changer et/ou définir les jeux de caractères
La base de données d’informations de MariaDB
La base de données INFORMATION_SCHEMA
Que peut-on faire avec ces tables ?
Panorama des tables importantes : SCHEMATA, TABLES, COLUMNS, STATISTICS, etc…
La commande FLUSH PRIVILEGES
Fichiers utiles pour les connexions
Fichiers $HOME/.my.cnf et /etc/my.cnf.d/server.cnf
Les fichiers PID et /etc/my.cnf
Les variables globales et de session
La commande SET
Utiliser SET GLOBAL ou SET SESSION ?
Les variables de session avec @@
Les règles avec GLOBAL et SESSION
Recopie de variables
Panorama des variables globales et de session
Les types de tables
ISAM, MYISAM, Aria, MEMORY, CSV, TEMPORARY
ARCHIVE, FEDERATED, TokuDB, MERGE, INNODB
Le moteur INNODB
Fonctionnement et paramètres importants
Caractèristiques : isolation, durabilité, …
Réglages de l’isolation et de la durabilité
Configuration du serveur : fichiers auto-extensibles, compression transparente, …
Les variables pour INNODB
Les PRIMARY KEY et FOREIGN KEY
Utiliser ON DELETE CASCADE
Utiliser ON DELETE SET NULL
Configurer la taille de l’espace INNODB
Les journaux binaires : activation, lecture, rotation, purge, …
Les scripts du serveur et les utilitaires
Panorama des scripts et utilitaires
Programmes mysqld_safe, mysqlmanager, mysqld, …
Commandes : mysql, mysqladmin, mysqlbinlog, mysqldump, …
Informations sur les bases et les tables : SHOW
Démarrage avec SysVinit
Les fichiers journaux
Terminer une session avec KILL
Commandes ANALYSE TABLE, OPTIMIZE TABLE, REPAIR TABLE, BACKUP TABLE
Les commandes CHECK TABLE et CHECKSUM TABLE, RESTAURE TABLE
La connexion distante
Outils graphiques : Mysql Workbench (windows)
Gestion des comptes et des mots de passe avec MariaDB
La table user
Création/modification de compte avec GRANT
Voir les privilèges avec SHOW
Supression de compte avec DROP USER
Limiter les ressources des utilisateurs avec GRANT
Modification des mots de passe avec mysqladmin et SET PASSWORD
La clause WITH GRANT OPTION
Suppression de droits avec REVOKE
Renommer un compte avec RENAME
Les rôles
Sauvegardes des bases MariaDB
Le bon environnement pour les sauvegardes
Types de sauvegardes : LOGIQUES, PHYSIQUES, COMPLETES, INCREMENTALES
Sauvegardes et réplications
Utiliser les journaux binaires pour les sauvegardes
Sauvegarde des différents moteurs : MyISAM, InnoDB
Restauration et PITR
Commande mysqlbinlog
Import/export manuelle des bases
Commande mysqldump : mise en oeuvre
Sauvegardes distantes
Optimisation processeur et mémoire pour les sauvegardes
Processeurs multi-coeurs
Mémoire
Replications
Fonctionnement de la réplication
Les formats de réplication : STATEMENT, ROW et MIXED
Comtes dédiés à la réplication
Configuration MAITRE et ESCLAVEDémarrer la réplication
Relancer la réplication sur une autre position binaire
RAZ des journaux binaires et reconfiguration ESCLAVE
Réplication bidirectionnelle
Les variables de la réplication
Supprimer une configuration ESCLAVE
Monitoring avec SHOW SLAVE STATUS et SHOW MASTER STATUS
Réparation d’une réplication sur plantage
Objectifs de la formation MariaDB Développement
Cette formation couvre à la fois la dernière version de MySQL et la dernière version de MariaDB.
Ce module est destiné à apprendre le langage de procédure dans l’optique de développer:
- Des procédures stockées
- Les requêtes préparées
- Des fonctions
- Des triggers
- Les événements programmés
À qui s’adresse cette formation ?
Public :
Cette formation s’adresse aux personnes destinées à développer lesprocédures stockées, les requêtes préparées, les fonctions, les triggers et les évennements programmés.
Prérequis :
La formation nécessite d’avoir de bonnes connaissances en informatique. La connaissance d’un langage de programmation (SQL par exemple) est un vrai plus. Vous pouvez suivre par exemple la Formation MariaDB : Développement SQL (Réf. MADS).
Contenu du cours MariaDB Développement
Les Procédures stockées avec MariaDB
Utiliser CREATE PROCEDURE et DELIMITER
La procédure OUT
La procedure IN
La procédure IN et OUT
Consultation des procédures avec SHOW
La portée des variables dans les blocs BEGIN
Le gestionnaire HANDLER
Le déclenchement du HANDLER avec SQLSTATE, SQLWARNING, etc…
Les conditions avec CONDITION
Les curseurs avec DECLARE CURSOR et FETCH
Les tests IF, ELSEIF, ELSE et END IF
Les tests avec CASE, WHEN, ELSE et END CASE
Les boucles LOOP, ITERATE et LEAVE
Les boucles WHILE, DO et END WHILE
Modifier les caractéristiques avec ALTER PROCEDURE
Supprimer une procedure avec DROP PROCEDURE
Les requêtes préparées avec MariaDB
Utiliser PREPARE, EXECUTE et DEALLOCATE
Les paramètres
Les fonctions avec MariaDB
Utiliser CREATE FUNCTION
Le retour des fonctions avec RETURN
Limiter le nombre de chiffres après la virgule avec FLOAT
Encapsulation des fonctions
Exemples de mise en oeuvre des fonctions
Les Triggers
Utiliser CREATE TRIGGER
Trigger AFTER INSERT
Trigger BEFORE INSERT
Trigger BEFORE UPDATE
Les évènements programés et MariaDB
Utiliser CREATE EVENT
La variable globale event_scheduler
Le paramètre DEFINER
La paramètre AT
Utiliser INTERVAL
Le paramètre EVERY
Mise en oeuvre (exercices)
Une fonction qui renvoie la date et l’heure
Une procédure de gestion des salaires
Une fonction pour gérer les remises sur les prix
Une procédure pour la gestion des remises sur les prix
Une fonction qui calcule un écart entre deux dates
Une procédure pour calcul des charges sur les salaires
Un trigger pour la gestion des stocks