PLB CONSULTANT : 07. MariaDB - Administration
Organisme
92300 LEVALLOIS PERRETVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Travaux pratiques. QCM en cours et en fin de formation. Auto-évaluation en début et en fin de formation.
Prix
Public
Administrateur de bases de données, Développeurs…
Pré-requis
Avoir la connaissance de SQL, d'un système d'exploitation et des notions de bases de données relationnelles.
Objectifs pédagogiques
Appréhender le SGDB MariaDB
Installer et configurer MariaDB
Gérer la sécurité
Assurer les opérations de sauvegarde, restauration et maintenance
Programme détaillé
Jour 1
Présentation de MariaDB
Rappels sur le vocabulaire et les concepts communs aux SGBDR (tables, requêtes SQL, transactions…)
L’héritage et la compatibilité avec MySQL
Comprendre la signification d’une licence GPLv2 pour les applications MariaDB
Impacts des changements de versions sur les applications
Un modèle client-serveur traditionnel (mysql, mysqld)
Les outils d’administration (PHPMyadmin, DBvizualizer…)
Atelier
Parcours de la trousse à outils du DBA MariaDB et utilisation de PHPMyadmin pour visualiser des bases déjà installées en production
Installation de MariaDB
Quel intérêt d’installer MariaDB à partir des sources ?
Installation « classique » du serveur et du client MariaDB
Principaux fichiers de configuration
Arrêt et démarrage du service MariaDBTest de connexion
Atelier
Installation de MariaDB, changement de numéro de port, test d‘accès depuis un client en ligne de commande et depuis un outil graphique d’administration (type PHPMyadmin)
Architecture des tables
Vue générale du fonctionnement de MariaDB en mémoire
Liens entre mémoire et stockage des données dans MariaDB
La table, objet de base pour MariaDB
Les autres objets (index, vues…)
Comprendre l’impact du choix d’un type de table (MyISAM, InnoDB, etc.)
Création, modification et suppression de tables
Les informations disponibles sur les tables (schemata, show tables…)
Intérêts du partitionnement des tables (horizontal, vertical)
Mise en oeuvre du partitionnement par intervalles avec RANGE
Atelier
Mise à plat de l’exécution d’une requête SQL sur une table MariaDB (connexion à la base, daemon, dispatch, analyse de la requête, exécution, retour des résultats au programme client) pour disposer d’une vue claire sur le cycle de traitement d’une requête.
Création de tables et de vues simples
Création de tables partitionnées selon différents modes (hachage, clefs…)
Utilisation détaillée de la commande « show table status »
Quiz de validation des acquis de la journée
Jour 2
Utilisateurs, connexions et sécurité
Qu’est-ce qu’un utilisateur pour MariaDB ?
Comment un site WEB accède-t-il à une base MariaDB ?
Principes d’authentification
Les privilèges sur les objets proposés par MariaDB
Bien comprendre la notion de couple (utilisateur,@IP) dans les règles de sécurité
Précautions avec le wildcard ‘%’
Les commandes du quotidien (GRANT, SHOW, SET PASSWORD, etc.)
Comprendre l’effet « cascade » de la clause WITH GRANT OPTION
Suppression de droits (REVOKE)
Renommer un compte (RENAME)
Apport des rôles dans la sécurité
Ateliers
Autorisation des connexions distantes, création d’utilisateurs et tests de connexion.
Une fois connecté test de l’accès aux différentes tables (insert, update, select, etc.) pour tester la stratégie de droits mise en place.
Problèmes classiques d’erreurs de connexion
Observations de la chaîne de connexion d’un site WEB ou d’une application à une base MariaDB à travers un programme (PHP, Java, ASP.Net…)
Complément sur le moteur de stockage
La richesse des plugins
Le versionning des tables
Transformer MariaDB en base NoSQL (stockage en colonne) avec ColumnStore
Fragmenter une base de données entre plusieurs serveurs (Spider)
Fonctionnement transactionnel du moteur XtraDB/InnoDB
Configurer la taille de l'espace INNODB
Les journaux binaires : activation, lecture, rotation, purge...
Verrouillage des tables
Réglages de l'isolation et de la durabilité
Configuration du serveur : fichiers auto-extensibles, compression transparente
Cache de requêtes et cache d'index MyISAM/Aria
Ateliers
Requêtes sur des tables en utilisant une plage temporelle (telles que les données étaient pendant une période de temps précise). Mise en oeuvre des transactions avec le moteur InnoDB.
Quiz de validation des acquis de la journée
Jour 3
Sauvegardes et restaurations
Les différents types de sauvegardes (logique, physique, incrémentale, complète)
Définir une stratégie claire de sauvegarde
Journaux binaires et sauvegardes
Sauvegarde des différents moteurs : MyISAM, InnoDB
Informations sur les bases et les tables (show)
Les outils disponibles (mysqldump, phpmyadmin)
Commandes pour « réparer » les tables (check, analyze, optimize, repair, backup…)
Mise en oeuvre des sauvegardes et des restaurations avec mysqldump
Restauration et PITR (Point IN TIME RECOVERY)
Import/export manuelle des bases
Les commandes mysqldump et mysqlrestore
Sauvegardes distantes
Ateliers
Sauvegarde totale et restauration d’une base MariaDB.
Sauvegarde du schéma d’un utilisateur (structure des tables sans les données) et variante avec les données
Exécution d’un script système (environnement Windows ou Linux) qui exécute une sauvegarde d’une base MariadDB toutes les heures et qui la transfère vers un autre serveur par sftp. Cette base est ensuite restaurée mais le fichier de backup n’est pas écrasé afin de disposer d’une copie « propre » en cas de transfert d’une base « abîmée ».
Maintenance de MariaDB
Paramétrage de sa session de travail (set global, set session…)
Les variables de session (@@, @, set, select)
Comprendre les problèmes d’encodage (UTF-8, etc.)
Changer et/ou définir les jeux de caractères
Chargement de données avec différents outils (load data, select into outfile…)
Les journaux utiles (infos générales, erreurs, performances…)
Informations globales sur les bases (information-schema)
Statistiques sur les tables
Problèmes de connexions classiques (daemon, port, droits)
Terminer une session (kill)
Ateliers
Observation de l’activité du serveur dans les logs (connexions, requêtes lentes…)
Réglage des informations de session par défaut pour les utilisateurs (jeu de caractères, format d’affichage, timeout…)
Chargement d’une base depuis différentes sources (load data, mysqldump, etc.)
Récupération des tables de la base encodée selon un certain format et qui posent un problème dans les applications Web.