Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. MariaDB - Administration et optimisation

MariaDB Administration et optimisation

Informations

Livraison possible dès le 19 avril 2024
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-409-00855-9
  • EAN : 9782409008559
  • Ref. ENI : RIMADB

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-00962-4
  • EAN : 9782409009624
  • Ref. ENI : LNRIMADB
Ce livre sur MariaDB (en version 10.1 au moment de l'écriture) s'adresse aux développeurs et administrateurs MySQL ou MariaDB désireux de consolider leurs connaissances sur la principale variante de MySQL. Le livre débute par une présentation des bases qui vous seront nécessaires pour exploiter au mieux toutes les capacités de MariaDB : présentation de l'architecture du serveur et des principaux moteurs de stockage, méthodes...
Consulter des extraits du livre en ligne Aperçu du livre papier
  • Niveau Initié à Confirmé
  • Nombre de pages 518 pages
  • Parution juin 2017
  • Niveau Initié à Confirmé
  • Parution juin 2017
Ce livre sur MariaDB (en version 10.1 au moment de l'écriture) s'adresse aux développeurs et administrateurs MySQL ou MariaDB désireux de consolider leurs connaissances sur la principale variante de MySQL.

Le livre débute par une présentation des bases qui vous seront nécessaires pour exploiter au mieux toutes les capacités de MariaDB : présentation de l'architecture du serveur et des principaux moteurs de stockage, méthodes d'installation mono et multi-instances, bonnes pratiques de configuration.

Après ces fondamentaux vous donnant une bonne compréhension des spécificités du SGBD, vous apprendrez à gérer votre serveur au quotidien en ayant à l'esprit les principes essentiels de sécurité et en mettant en place des stratégies efficaces pour les sauvegardes et les restaurations.

La dernière partie est consacrée aux techniques avancées qui vous donneront des clés pour résoudre les problèmes les plus complexes : optimisation des index et des requêtes, amélioration de la disponibilité et des performances avec la mise en place d'une solution de réplication et techniques de surveillance de l'état du SGBD.

Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.


Les chapitres du livre :
Avant-propos – Généralités sur MariaDB – Installation du serveur  – Configuration du serveur – Sécurité et gestion des utilisateurs – Sauvegarde et restauration – Optimisation – Réplication – MariaDB Galera Cluster – Autres fonctionnalités – Outils de surveillance

Téléchargements

Avant-propos
  1. MySQL en quelques mots
  2. Objectifs du livre
  3. Description
  4. Conventions
Généralités sur MariaDB
  1. Introduction
  2. Architecture
    1. 1. Le serveur et les clients
    2. 2. Les protocoles de communication
  3. Utilisation des ressources matérielles
    1. 1. Utilisation du disque
    2. 2. Utilisation de la mémoire
    3. 3. Utilisation du processeur
    4. 4. Utilisation du réseau
  4. Les moteurs de stockage
    1. 1. InnoDB
      1. a. Fonctionnement résumé
      2. b. Fonctionnalités principales
    2. 2. XtraDB
    3. 3. MyISAM
    4. 4. Memory
    5. 5. Archive
    6. 6. TokuDB
    7. 7. ColumnStore
    8. 8. Autres moteurs
  5. Verrous et transactions
    1. 1. Verrous implicites
      1. a. Généralités
      2. b. Spécificités InnoDB
    2. 2. Verrous explicites
      1. a. Verrous de tables
      2. b. Spécificités InnoDB
    3. 3. Verrous coopératifs
    4. 4. Transactions
      1. a. Généralités
      2. b. InnoDB et les transactions
      3. c. Mêler moteur transactionnel et moteur nontransactionnel
      4. d. Interblocages (deadlocks)
Installation du serveur
  1. Généralités
    1. 1. Stabilité des versions
    2. 2. Cycle de développement
    3. 3. Choix du type d’installation
  2. Installation sous UNIX et dérivés
    1. 1. Installation par gestionnaire de paquets
    2. 2. Installation avec les binaires précompilés
    3. 3. Démarrage du serveur
      1. a. Script mysql.server
      2. b. Script mysqld_safe
      3. c. Invocation directe de mysqld
    4. 4. Arrêt du serveur
      1. a. Script mysql.server
      2. b. mysqladmin
      3. c. Commande kill
    5. 5. Résolution de problèmes d’installationcourants
      1. a. Erreurs InnoDB
      2. b. Fichier errmsg.sys introuvable
    6. 6. Sécurisation de l’installation
    7. 7. Installation de plusieurs instances
      1. a. Précautions à prendre
      2. b. Installation de versions différentes
      3. c. Utilisation du même binaire qu’une autreinstance
      4. d. Démarrage et arrêt des instancesavec mysqld_multi
    8. 8. MySQL Sandbox
      1. a. Présentation de MySQL Sandbox
      2. b. Installation
      3. c. Création d’une instance
      4. d. Création de deux instances indépendantes
      5. e. Autres possibilités
  3. Installation sous Windows
    1. 1. Utilisation de l’installeur
    2. 2. Installation avec les binaires
    3. 3. Démarrage du serveur
      1. a. Service
      2. b. Invocation directe de mysqld
    4. 4. Arrêt du serveur
      1. a. Service
      2. b. mysqladmin
      3. c. Gestionnaire des tâches
    5. 5. Résolution des problèmes d’installation
      1. a. Droits insuffisants
      2. b. Conflit avec une installation existante
      3. c. Problèmes dans les chemins
    6. 6. Sécurisation de l’installation
    7. 7. Installation de plusieurs instances
      1. a. Précautions à prendre
      2. b. Versions différentes
      3. c. Utilisation du même binaire
  4. MariaDB et Docker
    1. 1. Présentation
    2. 2. Installation
    3. 3. Utilisation
  5. Mise à jour de MariaDB
    1. 1. Précautions à prendre avant la mise à jour
      1. a. Sauts de version
      2. b. Changements apportés par une version
      3. c. Sauvegarde des données
    2. 2. Processus de mise à jour
      1. a. Stratégies possibles
      2. b. Mise à jour des binaires
      3. c. Vérification des tables
    3. 3. Vérifications après la mise à jour
  6. Installation des outils utilisés dans l’ouvrage
    1. 1. Installation de la base world
    2. 2. Installation de la base sakila
  7. Installation du Percona Toolkit
Configuration du serveur
  1. Introduction
  2. Comment configurer le serveur ?
    1. 1. Paramétrage lors de la compilation
    2. 2. Paramétrage dans le fichier de configuration
      1. a. Localisation du fichier de configuration
      2. b. Structure du fichier de configuration
    3. 3. Paramétrage au lancement de mysqld
    4. 4. Paramétrage dynamique du serveur
      1. a. Changement pour la session
      2. b. Changement global
  3. Visualisation de la configuration
  4. Configuration d’InnoDB
    1. 1. Paramètres essentiels
    2. 2. Isolation et durabilité
      1. a. Réglage de l’isolation
      2. b. Réglage de la durabilité
    3. 3. Autres paramètres
  5. La journalisation
    1. 1. Le journal binaire
    2. 2. Le journal des requêtes lentes
    3. 3. Le journal des erreurs
    4. 4. Le journal général
    5. 5. Bonnes pratiques
      1. a. Configuration
      2. b. Surveiller l’utilisation du disque
      3. c. Impact sur les performances
  6. Le mode SQL
    1. 1. Les modes usuels
    2. 2. Les combinaisons de modes
    3. 3. Mode SQL par défaut
  7. Autres paramètres à configurer
    1. 1. Paramètres MyISAM
    2. 2. Cache de requêtes
      1. a. Rôle du cache
      2. b. Activation du cache
      3. c. Requêtes exclues du cache
      4. d. Appel à un élément du cache
      5. e. Mise à jour du cache
      6. f. Fragmentation
      7. g. Utilité du cache
      8. h. Paramètres associés au cache
      9. i. Configuration de la taille du cache
      10. j. Détermination de l’efficacité ducache
      11. k. Réduction de la fragmentation
    3. 3. Autres variables
      1. a. Nombre de connexions simultanées
      2. b. Caches de table
      3. c. Cache de threads
      4. d. Paramètres à ne pas modifier
Sécurité et gestion des utilisateurs
  1. Introduction
  2. Sécurisation du serveur MariaDB
    1. 1. Sécurisation de l’installation
      1. a. Contrôler les droits
      2. b. Mettre un mot de passe au compte utilisateur root
      3. c. Supprimer les comptes anonymes
      4. d. Supprimer le schéma test
      5. e. Sécuriser votre installation avec l’outilmysql_secure_installation
    2. 2. Utilisation de SSL
      1. a. Les options
      2. b. Les principales étapes
  3. Chiffrement des données
  4. Les options pour renforcer la sécurité
    1. 1. skip-networking
    2. 2. bind-address
    3. 3. skip-name-resolve
    4. 4. skip-show-database
    5. 5. secure-file-priv
    6. 6. chroot
  5. Gestion des utilisateurs et des mots de passe
    1. 1. Connexion aux comptes utilisateur
    2. 2. Gestion des comptes utilisateur
    3. 3. Rôles
    4. 4. Plug-ins d’authentification
    5. 5. Plug-in de validation des mots de passe
    6. 6. Expiration du mot de passe
    7. 7. Attribution des droits
      1. a. Les droits d’administration
      2. b. Les droits au niveau des schémas
      3. c. Les droits au niveau des tables
      4. d. Les droits au niveau des colonnes
      5. e. Les droits pour les routines stockées
    8. 8. Limitation de l’utilisation des ressources
    9. 9. Visualisation des droits
    10. 10. Prise d’effet des droits
    11. 11. Suppression des droits
    12. 12. Bonnes pratiques de la gestion des droits
  6. Sécurisation des vues et des routines stockées
Sauvegarde et restauration
  1. Généralités
    1. 1. Introduction
    2. 2. Sauvegarde logique
    3. 3. Sauvegarde physique
    4. 4. Sauvegarde complète/incrémentale
    5. 5. Sauvegarde et réplication
    6. 6. Sauvegarde et moteurs de stockage
      1. a. MyISAM
      2. b. InnoDB
      3. c. MyISAM et InnoDB
    7. 7. Restauration
  2. En pratique
    1. 1. Import/export manuel
    2. 2. mysqldump
    3. 3. Percona XtraBackup
    4. 4. Autres solutions
      1. a. mylvmbackup
Optimisation
  1. Matériel et système d'exploitation
    1. 1. Processeur
    2. 2. Mémoire vive
    3. 3. Disque dur
      1. a. Éléments de choix
      2. b. RAID
      3. c. SSD
    4. 4. Système d’exploitation
  2. Optimisation du schéma
    1. 1. Types de données
      1. a. Principes généraux
      2. b. Nombres
      3. c. Chaînes de caractères
      4. d. Données binaires
      5. e. Dates et heures
      6. f. ENUM et SET
    2. 2. Normalisation
      1. a. Rôle de la normalisation
      2. b. Première forme normale
      3. c. Deuxième forme normale
      4. d. Troisième forme normale
      5. e. Résumé des avantages de la normalisation
      6. f. Inconvénients de la normalisation
    3. 3. Dénormalisation
    4. 4. Modification du schéma en production
  3. Indexation
    1. 1. Généralités sur les index
      1. a. Rôle d’un index
      2. b. Clés et index
      3. c. Colonnes pouvant bénéficier d’unindex
      4. d. Création/suppression d’un index
      5. e. Quelles colonnes indexer ?
    2. 2. Types d’index
      1. a. Index uniques
      2. b. Clés primaires
      3. c. Index non uniques
      4. d. Index sur plusieurs colonnes
      5. e. Index sur un préfixe de colonne
      6. f. Index redondants
      7. g. Clés étrangères
    3. 3. Notions avancées
      1. a. Index B-Tree
      2. b. Index hash
      3. c. Autres algorithmes d’indexation
      4. d. Sélectivité et distribution desvaleurs
      5. e. Index cluster InnoDB
      6. f. Index couvrant
    4. 4. Indexation FULLTEXT
      1. a. Notions principales sur l’indexation FULLTEXT
      2. b. Recherche en langage naturel
      3. c. Recherche booléenne
      4. d. Recherche avec expansion de requête
      5. e. Configuration de la recherche
      6. f. Performance
      7. g. Limitations et points à connaître
  4. La commande EXPLAIN
    1. 1. Rôle
    2. 2. Accès aux données
      1. a. Accès séquentiel ou aléatoire
      2. b. Accès en mémoire ou sur disque
      3. c. En résumé
    3. 3. Lire le plan d’exécution
      1. a. Exemple simple
      2. b. Requêtes différentes de SELECT
      3. c. Jointures
      4. d. Unions
      5. e. Sous-requêtes
    4. 4. Colonnes principales
      1. a. Types d’accès aux données
      2. b. Index examinés
      3. c. Nombre de lignes parcourues
      4. d. La colonne Extra
    5. 5. EXPLAIN EXTENDED
  5. Optimisation des requêtes
    1. 1. Isolation des colonnes
    2. 2. Jointures
    3. 3. Filtrages
    4. 4. Tris
    5. 5. Agrégations
    6. 6. Réécriture de requêtes
    7. 7. Utilisation de plusieurs index
    8. 8. Autres techniques
  6. Optimisations
    1. 1. Index Condition Pushdown
    2. 2. Multi Range Read
  7. Maintenance des tables
    1. 1. Mise à jour des statistiques d’index
    2. 2. Défragmentation des tables
    3. 3. Autres commandes
Réplication
  1. Généralités sur la réplication
    1. 1. Utilité de la réplication
    2. 2. Fonctionnement de la réplication
    3. 3. Formats de réplication
  2. Mise en place de la réplication
    1. 1. Réplication maître-esclave(s)
      1. a. Configuration
      2. b. Forces et faiblesses de cette configuration
    2. 2. Réplication maître-maître
      1. a. Configuration
      2. b. Forces et faiblesses de cette configuration
    3. 3. Réplication sur plusieurs niveaux
      1. a. Configuration
      2. b. Forces et faiblesses de cette configuration
    4. 4. Principales variables
  3. Résolution des problèmes opérationnels courants
    1. 1. Empêcher la réplication de certainesrequêtes
    2. 2. Non-réplication d’une requête
    3. 3. Éviter le retard de réplication
    4. 4. Corriger une erreur de réplication
    5. 5. Récupérer l’espace disquedes journaux binaires
    6. 6. Supprimer la configuration de réplication
    7. 7. Vérifier la cohérence des données entre maître et esclaves
    8. 8. Quelques commandes utiles
      1. a. SHOW SLAVE STATUS
      2. b. START/STOP SLAVE {IO_THREAD|SQL_THREAD}
      3. c. RESET MASTER
  4. Réplication et haute disponibilité
    1. 1. Promotion d’un esclave
    2. 2. Automatisation de la promotion
  5. Réplication et scalabilité
    1. 1. Scalabilité en lecture
    2. 2. Scalabilité en écriture
  6. Fonctionnalités avancées
    1. 1. Identifiants de transaction
    2. 2. Réplication parallèle
    3. 3. Réplication multisource
      1. a. Introduction
      2. b. Mise en place
    4. 4. Réplication semi-synchrone
      1. a. Introduction
      2. b. Mise en place
      3. c. Nouveautés avec MariaDB 10.1
    5. 5. Réplication retardée
MariaDB Galera Cluster
  1. Introduction
    1. 1. Bénéfices
    2. 2. La réplication synchrone
    3. 3. Écritures simultanées sur plusieursnœuds
    4. 4. Synchronisation des données
    5. 5. Haute disponibilité
    6. 6. Limitations
  2. Mise en place d'un cluster
    1. 1. Préparation de la configuration
    2. 2. Démarrage du premier nœud
    3. 3. Démarrage des autres nœuds
  3. Optimisation
    1. 1. Configuration
    2. 2. Choix du nombre de nœuds
    3. 3. Nœuds géographiquement éloignés
    4. 4. Utilisation d’un load balancer pour la haute disponibilité
    5. 5. Éviter le flow control
    6. 6. Surveillance du cluster
Autres fonctionnalités
  1. Partitionnement
    1. 1. Intérêt et limitations
      1. a. Gestion de la montée en charge
      2. b. Gestion des gros volumes
      3. c. Partition pruning
      4. d. Suppression rapide d’un gros volume de données
      5. e. Limitations
    2. 2. Types de partitionnement
      1. a. Le partitionnement de type RANGE
      2. b. Le partitionnement de type RANGE COLUMNS
      3. c. Le partitionnement de type LIST
      4. d. Le partitionnement de type LIST COLUMNS
      5. e. Le partitionnement de type HASH
      6. f. Le partitionnement de type KEY
      7. g. Les variantes LINEAR HASH/KEY
      8. h. Choix explicite d’une partition
      9. i. Sous-partitionnement
      10. j. Fonctions du partitionnement
      11. k. Import et export d’une partition dans unetable
    3. 3. Gestion du partitionnement
    4. 4. Maintenance
  2. Routines stockées
    1. 1. Rôle
    2. 2. Syntaxe
      1. a. Procédures stockées
      2. b. Fonctions stockées
    3. 3. Utilisation
    4. 4. Métadonnées
    5. 5. Restrictions
  3. Déclencheurs (triggers)
    1. 1. Rôle
    2. 2. Syntaxe
    3. 3. Restrictions
  4. Événements
    1. 1. Rôle
    2. 2. Syntaxe
    3. 3. Restrictions
  5. Vues
    1. 1. Rôle
    2. 2. Syntaxe
  6. Colonnes générées
    1. 1. Introduction
    2. 2. Colonnes persistentes
    3. 3. Colonnes virtuelles
Outils de surveillance
  1. Introduction
  2. Accès aux métadonnées
    1. 1. Commandes spécifiques
      1. a. Commandes SHOW
      2. b. Commande DESCRIBE
    2. 2. Base information_schema
  3. Outils de base pour la surveillance
    1. 1. SHOW PROCESSLIST
    2. 2. SHOW GLOBAL STATUS
    3. 3. SHOW ENGINE INNODB STATUS
      1. a. SEMAPHORES
      2. b. LAST FOREIGN KEY ERROR
      3. c. LAST DETECTED DEADLOCK
      4. d. TRANSACTIONS
      5. e. FILE I/O
      6. f. INSERT BUFFER AND ADAPTATIVE HASH INDEX
      7. g. LOG
      8. h. BUFFER POOL AND MEMORY
      9. i. ROW OPERATIONS
  4. Performance Schema
    1. 1. Rôle
    2. 2. Configuration
  5. Identification des problèmes de requêtes
    1. 1. Requêtes lentes
    2. 2. Deadlocks
  6. Outils de surveillance du système
    1. 1. Cacti
    2. 2. Grafana
    3. 3. Nagios
    4. 4. Identification des problèmes systèmesous Linux
      1. a. vmstat
      2. b. iostat
      3. c. mpstat
Auteur : Stéphane COMBAUDON

Stéphane COMBAUDON

Stéphane COMBAUDON est Architecte MySQL/DBA et gère un parc de plusieurs centaines de serveurs MySQL. Il est certifié MySQL 5 DBA. Cet expert MySQL administre quotidiennement ce serveur de bases de données, depuis de nombreuses années et dans des environnements professionnels diversifiés.
En savoir plus

Découvrir tous ses livres

  • PHP et MySQL Coffret de 2 livres : Développez un site web et administrez ses données (6e édition)
  • MySQL 8 Administration et optimisation

Nos nouveautés

voir plus