• Aide
  • Eurêkoi Eurêkoi

Livre

MySQL 5.7 : optimisez l'exploitation de vos bases de données

Résumé

Un guide pour les administrateurs de de bases de données MySQL, traitant notamment de la migration vers MySQL 5.7, de la réplication par GTID, des colonnes calculées, de la gestion de sécurité, de l'automatisation d'une connexion ou encore de la création d'un certificat RSA-SSL. Avec des exemples et des solutions pratiques aux problèmes les plus fréquemment rencontrés. ©Electre 2016


  • Éditeur(s)
  • Date
    • cop. 2016
  • Notes
    • La couv. porte en plus : "Téléchargement, www.editions-eni.fr", "Informatique technique"
    • La 4ème de couv. porte en plus : "Sur www.editions-eni.fr : la base de données pour la mise en application des exemples traités dans le chapitre sur l'optimisation"
    • Contient un "flashcode" permettant d'accéder à un contenu via Internet
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (454 p.) : ill.; ; 21 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-7460-9986-9
  • Indice
    • 681.84 Systèmes de gestion de bases de données
  • Quatrième de couverture
    • MySQL 5.7

      Optimisez l'exploitation de vos bases de données

      Ce livre s'adresse à l'informaticien professionnel ayant une bonne connaissance pratique et théorique des bases de données en général et de MySQL 5.7 en particulier. Il a pour objectif de répondre par la pratique à différentes problématiques qui se posent à l'administrateur MySQL 5.7 dans l'exercice de son métier. L'auteur a choisi de traiter des situations diverses et souvent complexes à travers différents cas d'étude inspirés par sa solide expérience au sein de milieux professionnels soumis à de fortes exigences en matière de charge, volume et qualité de service.

      Après un rappel sur les bases de l'architecture, l'installation et la configuration d'un serveur MySQL 5.7 sont décrites pas à pas. Les différents outils d'aide à l'administration, à l'audit, à l'optimisation et à la sauvegarde sont ensuite présentés. À travers eux sont abordés, de façon concrète, des sujets aussi divers que la migration vers MySQL 5.7, la réplication par GTID, les colonnes calculées, la simulation de vues matérialisées, la gestion de la sécurité, l'automatisation d'une connexion, la création d'un certificat RSA/SSL et la mise en oeuvre d'une connexion sécurisée.

      Pour améliorer la stabilité d'un serveur MySQL 5.7 et optimiser ses performances, l'auteur propose des solutions qui portent aussi bien sur l'administration de la base que sur la production du code SQL et qui doivent permettre d'anticiper les problèmes. Les techniques présentées dépassent les aspects théoriques habituellement abordés pour proposer des méthodes d'optimisation adaptées aux situations les plus diverses.

      Qu'elle soit utilisée pour la mise en oeuvre de serveurs redondants de haute disponibilité ou bien pour répartir la charge, la réplication MySQL et les problématiques associées sont illustrées par des exemples concrets. Plusieurs solutions de répartition de charge sont évoquées et une mise en oeuvre de MySQL Proxy est proposée à cette occasion.

      MySQL Cluster 7.4 n'est pas en reste puisque son installation et sa configuration sont décrites pas à pas pour répondre à certaines problématiques de charges extrêmes également traitées dans ce livre.

      En dernière partie du livre l'auteur présente les solutions pour gérer la transition vers un nouveau moteur, migrer vers un serveur distant ou assurer des sauvegardes sur des données en mouvement sans interruption de service.


  • Tables des matières
      • MySQL 5.7

      • Optimiser l'exploitation de vos bases de données

      • Avant-propos
      • Chapitre 1
        Installation de MySQL 5.7
      • 1. Introduction21
      • 2. Nouveautés de la version 5.721
      • 2.1 Évolution de la sécurité22
      • 2.2 Modes SQL et comportements associés22
      • 2.3 Renommage des index22
      • 2.4 Améliorations d'InnoDB22
      • 2.5 Triggers23
      • 2.6 Comportement de Ctrl + C en ligne de commande23
      • 2.7 Améliorations de la réplication23
      • 2.8 Prise en charge native du format JSON24
      • 2.9 Colonnes calculées24
      • 3. Architecture24
      • 4. Moteurs de stockage25
      • 4.1 Aria version 1.525
      • 4.2 Archive26
      • 4.3 Blackhole26
      • 4.4 CSV26
      • 4.5 Federated27
      • 4.6 InnoDB28
      • 4.7 Memory (anciennement Heap)28
      • 4.8 Merge28
      • 4.9 Mroonga29
      • 4.10 MyISAM29
      • 4.11 NDB (ou NDBCluster)30
      • 4.12 TokuDB30
      • 4.13 XtraDB30
      • 4.14 Tableau récapitulatif31
      • 5. Installation32
      • 5.1 Installation de MySQL 5.7 par gestionnaire de paquets sur Debian 8.0 Jessy32
      • 5.2 Installation et compilation depuis le code source37
      • 5.2.1 Utilitaires et dépendances37
      • 5.2.2 Téléchargement des fichiers sources38
      • 5.2.3 Création du groupe et de l'utilisateur39
      • 5.2.4 Génération des fichiers de construction39
      • 5.2.5 Compilation41
      • 5.2.6 Finalisation de l'installation41
      • 5.2.7 Configuration SSL44
      • 5.2.8 Lancement et test du service MySQL45
      • 5.2.9 Automatisation du démarrage du service MySQL46
      • 6. Configuration minimale pour l'accès à distance47
      • 7. Conclusion47
      • Chapitre 2
        Outils clients
      • 1. Introduction49
      • 2. Outils pour l'administration49
      • 2.1 Administration d'une base MySQL avec mysqladmin49
      • 2.1.1 Création d'une base49
      • 2.1.2 Suppression d'une base50
      • 2.1.3 Changement de mot de passe50
      • 2.1.4 Relecture de la table des privilèges51
      • 2.1.5 Affichage de l'état du serveur51
      • 2.1.6 Affichage du numéro de version53
      • 2.1.7 Arrêt du service MySOL53
      • 2.1.8 Cumul des options et abréviations53
      • 2.1.9 Autres fonctions gérées par mysqladmin54
      • 2.2 Détection des différences entre deux bases et correction avec mysqldbcompare55
      • 2.2.1 Mise en évidence des différences55
      • 2.2.2 Correction des différences et resynchronisation58
      • 2.3 Copie d'une base avec mysqldbcopy61
      • 2.3.1 Copie d'une base61
      • 2.3.2 Changement de moteur62
      • 2.3.3 Accélération de la copie62
      • 2.3.4 Applications à la réplication63
      • 2.4 Détection des différences entre deux objets et correction avec mysqldiff63
      • 2.5 Calcul de l'espace occupé avec mysqldiskusage64
      • 2.6 Création d'une nouvelle instance MySQL avec mysql_install_db ou mysqld --initialize66
      • 2.6.1 Création d'une base avec mysql_install_db avant MySQL  5.7.666
      • 2.6.2 Création d'une base avec mysql_install_db depuis MySQL  5.7.668
      • 2.6.3 Cas d'erreur68
      • 2.6.4 Création d'une base avec mysqld --initialize69
      • 2.7 Configuration SSL/RSA avec mysql_ssl_rsa_setup70
      • 2.8 Automatisation de l'authentification avec mysql_config_editor73
      • 2.8.1 Création d'un chemin de connexion (ou login path)73
      • 2.8.2 Utilisation d'un chemin de connexion73
      • 2.8.3 Affichage des chemins de connexion existants74
      • 2.8.4 Suppression d'un chemin de connexion74
      • 2.8.5 Remise à zéro des chemins de connexion75
      • 2.9 Administration de plusieurs instances MySQL avec mysqld_multi75
      • 2.9.1 Prérequis75
      • 2.9.2 Aide et exemple de configuration76
      • 2.9.3 Mise en oeuvre de la configuration80
      • 2.9.4 Démarrage des instances80
      • 2.9.5 Création de l'administrateur multi_admin81
      • 2.10 Un service MySQL plus robuste avec mysqld_safe82
      • 2.11 Bascule automatique entre serveurs répliqués avec mysqlfailover82
      • 2.12 Recherche d'objet dans le schéma d'un serveur avec mysqlmetagrep83
      • 2.13 Administration de plugin avec mysql_plugin87
      • 2.14 Recherche de processus MySQL avec mysqlprocgrep88
      • 2.15 Réparation de tables avec mysqlrepair89
      • 2.16 Démarrage d'une réplication avec mysqlreplicate89
      • 2.16.1 Synchronisation des données89
      • 2.16.2 Configuration du serveur maître90
      • 2.16.3 Configuration du serveur esclave90
      • 2.16.4 Création de l'utilisateur dédié à la réplication91
      • 2.16.5 Démarrage de la réplication91
      • 2.17 Rapport statistique synthétique avec mysqlreport92
      • 2.18 Administration d'une réplication redondante avec mysqlrpladmin95
      • 2.18.1 Prérequis95
      • 2.18.2 Affichage de l'état des serveurs96
      • 2.18.3 Affichage des informations relatives aux GTID97
      • 2.18.4 Affichage du meilleur candidat à l'élection de master97
      • 2.18.5 Promotion d'un slave en master99
      • 2.18.6 Bascule vers un slave en cas de défaillance du master100
      • 2.18.7 Autres options100
      • 2.19 Affichage de la topologie d'une réplication avec mysqlrplshow100
      • 2.20 Diagnostic d'une réplication avec mysqlrplcheck102
      • 2.21 Vérification des éléments de sécurité avec mysql_secure_installation104
      • 2.22 Création d'une instance MySQL clonée avec mysqlserverclone106
      • 2.23 Informations sur la configuration du serveur avec mysqlserverinfo111
      • 2.24 Informations diverses avec mysqlshow112
      • 2.25 Chargement des informations de changement horaire avec mysql_tzinfo-to_sql113
      • 2.26 Accès centralisé aux différents utilisataires avec mysqluc113
      • 2.27 Après un changement de version, mise à jour des tables avec mysql_upgrade115
      • 2.28 Clonage d'un utulisateur avec mysqluserclone117
      • 2.29 Interruption d'un processus avec mysql_waitpid118
      • 2.30 Administration graphique de MySQL avec MySQL Workbench118
      • 2.31 Recherche d'un processus avec mysql_zap121
      • 3. Outils d'audit122
      • 3.1 Maintenance des tables sur un serveur actif avec mysqlcheck122
      • 3.1.1 Vérification des tables avec mysqlcheck123
      • 3.1.2 Réparation d'une table avec mysqlrepair124
      • 3.1.3 Mise à jour des statistiques de la table avec mysqlanalyze124
      • 3.1.4 Optimisation des données avec mysqloptimize124
      • 3.2 Mise à jour des statistiques avec mysqlanalyze125
      • 3.3 Tests de non-régression avec mysqltest125
      • 3.4 Test des fonctionnalités de la base avec mysql_client_test127
      • 3.5 Extraction des logs binaires avec mysqlbinlog128
      • 3.6 Détection des index redondants avec mysqlindexcheck132
      • 3.7 Simulation de charge avec mysqlslap134
      • 3.7.1 Génération automatique du scénario de test134
      • 3.7.2 Scénario de test personnalisé en ligne de commande136
      • 3.7.3 Scénario de test personnalisé dans un fichier136
      • 3.8 Diagnostic sur la configuration du serveur avec mysqltuner137
      • 3.8.1 Installation de mysqltuner137
      • 3.8.2 Usage de mysqltuner137
      • 4 Outils pour l'optimisation140
      • 4.1 Défragmentation des tables avec mysqloptimize140
      • 5 Outils de sauvegarde141
      • 5.1 Sauvegarde d'un fichier par table avec mysqldbexport141
      • 5.1.1 Utilisation basique141
      • 5.2.1 Un fichier par table sauvegardée142
      • 5.1.3 Types de verrous 143
      • 5.1.4 Accélération de l'export143
      • 5.2 Import de données sous différent formats avec mysqldbimport143
      • 5.2.1 Accélération de l'import 146
      • 5.3 Sauvegarde par mysqldump, l'utilitaire de référence146
      • 5.3.1 Sauvegarde d'une seule table146
      • 5.3.2 Sauvegarde de plusieurs tables146
      • 5.3.3 Sauvegarde d'une base de données146
      • 5.3.4 Sauvegarde de plusieurs bases147
      • 5.3.5 Sauvegarde de toutes les bases147
      • 5.3.6 Inclusion des fonctions et procédures stockées147
      • 5.3.7 Consistance de la sauvegarde avec et sans verrous147
      • 5.3.8 Quelques astuces pour accélérer la sauvegarde et la restauration148
      • 5.3.9 Accélération spécifique aux tables InnoDB et autres tables transactionnelles149
      • 5.3.10 Accélération spécifique aux tables MyISAM150
      • 5.4 Sauvegarde évoluée avec mysqlpump évolution de mysqldump150
      • 5.4.1 Compression native151
      • 5.4.2 Parrallélisation de la sauvegarde151
      • 5.4.3 Contrôle avancé des objets sauvegardés151
      • 5.4.4 Meilleure gestion des comptes utilisateurs151
      • 5.4.5 Jauge d'avancement151
      • 5.4.6 Reconstruction rapide des index InnoDB152
      • 5.5 Lecture des logs des requêtes lentesavec mysqldumpslow152
      • 5.6 Obtention des informations sur une table avec mysqlfrm155
      • 5.6.1 Lancement de mysqlfrm avec un service MySQL155
      • 5.6.2 Lancement de mysqlfrm sans service MySQL en mode diagnostic157
      • 5.6.3 Collecte d'informations sur une table partitionnée157
      • 5.7 Import de données CSV avec mysqlimport158
      • 6. Conclusion160
      • Chapitre 3
        Pratiques d'administration
      • 1. Introduction161
      • 2. Optimisation de l'environnement serveur161
      • 2.1 Espace alloué aux tables temporaires162
      • 2.2 Espace alloué aux caches163
      • 2.2.1 Caches InnoDB163
      • 2.2.2 Caches MyISAM164
      • 2.2.3 Intégrations massives165
      • 2.2.4 Autres caches165
      • 3. Audit170
      • 3.1 Logs d'erreur170
      • 3.2 Requêtes lentes et jointures sans index170
      • 3.3 Variables de statut172
      • 3.4 Synthèse des variables de statut176
      • 3.5 Audit et assistance au réglage avec mysqltuner176
      • 3.6 Stress du serveur177
      • 3.7 Vérification d'une réplication177
      • 4. Maintenance177
      • 4.1 Surveillance de l'espace occupé177
      • 4.2 Optimisation des tables178
      • 4.2.1 Optimisation des statistiques178
      • 4.2.2 Optimisation de l'espace de stockage178
      • 4.2.3 Suppression des index redondants178
      • 4.3 Réparation des tables178
      • 4.4 Sauvegarde179
      • 5. Conclusion179
      • Chapitre 4
        Gestion de la sécurité
      • 1. Introduction181
      • 2. Évolutions de MySQL 5.7181
      • 3. Gestion des utilisateurs182
      • 3.1 Création, modification et suppression d'un compte utilisateur182
      • 3.1.1 Création d'un compte182
      • 3.1.2 Visualisation des droits183
      • 3.1.3 Modification d'un compte184
      • 3.1.4 Suppression d'un compte185
      • 3.2 Ajout et révocation de privilèges185
      • 3.3 Privilèges utilisateurs185
      • 4. Chiffrement des informations189
      • 4.1 Création des certificats189
      • 4.1.1 Création des certificats avec mysql_ssl_rsa_setup189
      • 4.1.2 Création des certificats avec OpenSSL190
      • 4.2 Configuration du serveur193
      • 4.2.1 Création de l'utilisateur avec les droits SSL194
      • 4.2.2 Prise en compte des certificats sur le serveur195
      • 4.3 Configuration du client195
      • 4.3.1 Copie des certificats sur le client195
      • 4.3.2 Prise en compte de la configuration195
      • 4.4 Stockage des informations de connexion197
      • 5. Conclusion197
      • Chapitre 5
        MySQL 5.7 et SQL avancé
      • 1. Introduction199
      • 2. Colonnes calculées199
      • 2.1 Présentation199
      • 2.2 Intérêt et usages201
      • 2.3 Mise en oeuvre201
      • 2.4 Contrepartie205
      • 3. Fonctions SIG206
      • 3.1 Types de données SIG206
      • 3.2 Formats WKT et WKB207
      • 3.3 Étude de cas208
      • 3.3.1 Intégration de données spatiales208
      • 3.3.2 Performances d'une table classique209
      • 3.3.3 Performances du SIG210
      • 3.3.4 Intérêt du SIG211
      • 4. Fonctions et procédures stockées212
      • 4.1 Avantages des fonctions et procédures stockées212
      • 4.2 Création d'une procédure stockée212
      • 4.3 Création d'une fonction215
      • 5. Triggers216
      • 5.1 Nouveauté MySQL 5.7216
      • 5.2 Mise en oeuvre d'un trigger217
      • 6. Vues218
      • 6.1 Mise en oeuvre d'une vue219
      • 7. Simulation des vues matérialisées221
      • 7.1 Création de la table originelle221
      • 7.2 Création d'un trigger d'insertion222
      • 8. Manipulation de données JSON224
      • 9. Conclusion227
      • Chapitre 6
        Optimisation SQL
      • 1. Introduction229
      • 2. Évaluation du plan avant l'exécution de la requête229
      • 3. Analyse du déroulement d'une requête après son exécution233
      • 4. Neutralisation du cache235
      • 5. Utilisation des index236
      • 5.1 Qu'est-ce qu'un index ?236
      • 5.2 Accès à un sous-ensemble d'informations237
      • 5.3 L'index, un accélérateur à usage unique237
      • 5.4 Introduction à la notion de meilleur index237
      • 5.4.1 Étude de l'index gender238
      • 5.4.2 Étude de l'index name242
      • 5.4.3 Impact du choix de l'index sur les performances243
      • 5.5 De l'intérêt des index composés244
      • 5.6 Index composé portant sur les clauses where et order by246
      • 5.6.1 Plan d'exécution par défaut246
      • 5.6.2 Amélioration du plan avec l'index composé amount_date249
      • 5.6.3 Pourquoi pas l'index composé date_amount ?250
      • 5.7 Limitation de la taille d'un index250
      • 5.8 Index B-Tree, Hash, R-Tree, Fractal Tree253
      • 5.8.1 Index B-Tree253
      • 5.8.2 Index Hash253
      • 5.8.3 Index R-Tree253
      • 5.8.4 Index Fractal Tree254
      • 5.8.5 Moteurs et index supportés254
      • 6. Optimisation du schéma254
      • 6.1 Utilisation du type adapté255
      • 6.2 Limitation des valeurs Null255
      • 6.3 Adaptation de la taille255
      • 6.4 Utilisation de Procedure analyse ()256
      • 7. Optimisation des requêtes260
      • 7.1 Encapsulation de colonne et perte d'index260
      • 7.1.1 Encapsulation d'un champ date260
      • 7.1.2 Encapsulation dans une jointure262
      • 7.2 Caractères jokers et clause Like265
      • 8. Recherche full text (plein texte)268
      • 8.1 Index ful text MySQL269
      • 8.1.1 Construction d'un index full text269
      • 8.1.2 Recherche de texte270
      • 8.1.3 Recherche en langage naturel271
      • 8.1.4 Recherche en mode binaire271
      • 8.1.5 Stopwords271
      • 8.1.6 Optimisation des index full text innoDB272
      • 8.1.7 Optimisation des index full text MyISAM272
      • 8.1.8 Limitations de la recherche full text MySQL273
      • 8.2 Solutions alternatives de recherche full text274
      • 8.2.1 Sphynx Search274
      • 8.2.2 Lucene274
      • 9. Gestion des accès concurrents275
      • 9.1 Gestion des accès concurrents par MyISAM275
      • 9.2 Gestion des accès concurrents par InnoDB276
      • 10. Conclusion277
      • Chapitre 7
        Gestion de volumes importants
      • 1. Introduction279
      • 2. Partitionnement279
      • 2.1 Logique de partitionnement280
      • 2.2 Partitionnement horizontal, partitionnement vertical280
      • 2.3 Gain de performances inhérent au partitionnement280
      • 2.4 Activation du partitionnement281
      • 2.5 Partitionnement by range282
      • 2.5.1 Partitionnement de la table client par store_id282
      • 2.5.2 Concept de pruning286
      • 2.5.3 Partitionnement par date289
      • 2.6 Partitionnement by list290
      • 2.7 Partitionnement par colonnes290
      • 2.7.1 Partitionnement by range columns291
      • 2.7.2 Partitionnement by list columns292
      • 2.8 Partitionnement by hash292
      • 2.9 Partitionnement by key294
      • 2.10 Sous-partitionnement295
      • 2.11 Maintenance d'une partition297
      • 2.11.1 Informations sur une partition297
      • 2.11.2 Optimisation et défragmentation d'une partition300
      • 2.11.3 Reconstruction d'une partition300
      • 2.11.4 Analyse d'une partition300
      • 2.11.5 Détection des erreurs sur une partition301
      • 2.11.6 Réparation d'une partition301
      • 2.11.7 Suppression d'une partition301
      • 2.11.8 Ajout d'une partition301
      • 2.11.9 Suppression du partitionnement303
      • 2.12 Limites du partitionnement303
      • 2.13 Problème mémoire consécutif à un partitionnement304
      • 3. NoSQL305
      • 3.1 Technologies NoSQL305
      • 3.2 Accélérer l'accès aux données avec Memcached306
      • 3.2.1 Installation de Memcached306
      • 3.2.2 Utilisation de Memcached307
      • 4 Solution alternative :MySQL Cluster308
      • 5 Conclusion309
      • Chapitre 8
        Répartition de charge et haute disponibilité
      • 1 Introduction311
      • 2 Réplication master-slave312
      • 3 Réplication multi-master313
      • 4 Fonction proxy314
      • 5 Réplication asynchrone315
      • 6 Réplication synchrone315
      • 7 Réplication semi-synchrone316
      • 8 Répartition de charge317
      • 9 Haute disponibilité318
      • 10 Sharding318
      • 11 MySQL Proxy319
      • 12 HA Proxy320
      • 13 MySQL Router321
      • 14 Gestion d'une ferme de serveurs avec MySQL Fabric321
      • 15 MySQL Cluster 7.4322
      • 16 Conclusion324
      • Chapitre 9
        Mise en oeuvre de la réplication
      • 1. Introduction325
      • 2. Mise en oeuvre d'un dispositif master-slave325
      • 2.1 Réplication row-based ou statement-based325
      • 2.1.1 Exemple de requête déterministe326
      • 2.1.2 Exemple de requête non déterministe326
      • 2.1.3 Caractéristiques de la réplication statement-based326
      • 2.1.4 Caractéristiques de la réplication row-based327
      • 2.1.5 Caractéristiques de la réplication mixed327
      • 2.2 Qu'est-ce que le GTID ?328
      • 2.3 Réplication sans GTID328
      • 2.4 Réplication avec GTID329
      • 2.5 Mise en oeuvre de la réplication sans GTID330
      • 2.5.1 Configuration du serveur maître330
      • 2.5. Configuration du serveur esclave331
      • 2.5.3 Création de l'utilisateur de réplication sur le master331
      • 2.5.4 Prise en compte de la situation des logs du master332
      • 2.5.5 Synchronisation des données332
      • 2.5.6 Configuration de la réplication sur le slave333
      • 2.6 Mise en oeuvre de la réplication avec GTID333
      • 2.6.1 Restrictions de la réplication avec GTID334
      • 2.6.2 Synchronisation des données334
      • 2.6.3 Configuration du master334
      • 2.6.4 Configuration du slave335
      • 2.6.5 Création de l'utilisateur dédié à la réplication335
      • 2.6.6 Mise en route de la réplication336
      • 2.6.7 Vérification de la mise en route336
      • 2.7 Migration d'une réplication existante sous GTID338
      • 3. Mise en oeuvre d'un dispositif master-master339
      • 3.1 Configuration initiale339
      • 3.2 Prévention des collisions d'auto-incrément340
      • 3.3 Création de l'utilisateur de réplication341
      • 3.4 Synchronisation des données342
      • 3.5 Initialisation des logs binaires342
      • 3.6 Dernières vérifications avant démarrage343
      • 3.7 Démarrage de la réplication343
      • 3.8 Affichage des statuts343
      • 3.9 Vérification de la réplication croisée346
      • 4. Administration de la réplication348
      • 4.1 Démarrage et arrêt de la réplication348
      • 4.1.1 Arrêt et reprise de la réplication sur un serveur maître348
      • 4.1.2 Arrêt et reprise de la réplication sur un serveur esclave349
      • 4.2 Vérification de la réplication349
      • 4.3 Changement de rôle354
      • 4.3.1 Changement de rôle planifié354
      • 4.3.2 Changement de rôle à la suite d'un incident355
      • 5. Réduction du lag356
      • 5.1 Réplication de type row-based ou mixed357
      • 5.1.1 Identification du fichier de logs357
      • 5.1.2 Identification des modifications incriminées357
      • 5.2 Réplication de type statement-based359
      • 6. Réparation360
      • 6.1 Réparation d'une réplication sans GTID360
      • 6.2 Réparation d'une réplication avec GTID361
      • 7. Conclusion364
      • Chapitre 10
        MySQL Cluster 7.4
      • 1. Introduction365
      • 2. Configurations préliminaires365
      • 2.1 Mise à jour des dépôts sur le serveur administratif365
      • 2.2 Installation d'une clé SSH/RSA366
      • 2.3 Installation de dsh368
      • 2.4 Mise à jour des dépôts sur tous les serveurs370
      • 2.5 Installation de paquets complémentaires370
      • 2.6 Création des utilisateurs mysql371
      • 2.7 Création des dossiers372
      • 2.8 Téléchargement du paquet MySQL Cluster372
      • 3. Installation de MySQL Cluster372
      • 3.1 Installation du paquet373
      • 3.2 Adaptation du script d'installation373
      • 3.2.1 Droits insuffisants pour initialiser la base373
      • 3.2.2 Refus de lancer MySQL en tant que root374
      • 3.2.3 En résumé376
      • 3.3 Démarrage de l'installation377
      • 4. Démarrage manuel de cluster389
      • 4.1 Démarrage du serveur administratif389
      • 4.2 Démarrage des noeuds de données390
      • 4.3 Démarrage des noeuds SQL390
      • 5. Première connexion390
      • 6. Migration392
      • 7. Administration du cluster394
      • 8. Post-configuration395
      • 8.1 Adaptation des fichiers de configuration395
      • 8.2 Création d'un utilisateur distant398
      • 8.3 Ajout des binaires MySQL Cluster dans le path398
      • 8.4 Optimisations sommaires400
      • 8.5 Désinstallation400
      • 9. Conclusion401
      • Chapitre 11
        MySQL Proxy
      • 1. Introduction403
      • 2. Installation403
      • 3. Configuration404
      • 4. Démarrage du service405
      • 5. Utilisation406
      • 6. Administration407
      • 7. Scripts disponibles408
      • 8. Conclusion409
      • Chapitre 12
        Migration vers un nouveau serveur
      • 1. Introduction411
      • 2. Techniques de copie de données411
      • 2.1 Sauvegarde et restauration des données SQL412
      • 2.1.1 Utilisation d'un moteur transactionnel412
      • 2.1.2 Mise en oeuvre d'une réplication412
      • 2.1.3 Utilisation d'un serveur secondaire (ou serveur tampon)413
      • 2.1.4 Utilitaires à disposition415
      • 2.2 Copie des fichiers de données415
      • 2.3 Copie de tablespaces InnoDB417
      • 3. Bascule vers le nouveau serveur417
      • 3.1 Bascule depuis l'application417
      • 3.2 Modification du routage de l'adresse IP418
      • 3.3 Serveur proxy418
      • 4. Conclusion418
      • Chapitre 13
        Migration vers MySQL 5.7
      • 1. Introduction419
      • 2. Règles de mise à jour419
      • 3. Changements et incompatibilités dans MySQL 5.7420
      • 3.1 Configuration et système420
      • 3.2 Changements serveur420
      • 3.3 Changements InnoDB422
      • 3.4 Changements SQL422
      • 4. Méthodes de migration423
      • 4.1 Conservation du serveur et des données423
      • 4.2 Transfert des données vers un nouveau serveur424
      • 5. Conclusion425
      • Chapitre 14
        Sauvegarde et restauration
      • 1. Introduction427
      • 2. Sauvegarde native427
      • 2.1 Stratégie de sauvegarde428
      • 2.2 Test de restauration429
      • 3. Sauvegarde et continuité de service429
      • 3.1 Sauvegarde transactionnelle429
      • 3.2 Sauvegarde depuis un serveur secondaire429
      • 3.3 Sauvegarde d'une machine virtuelle430
      • 4. Restauration depuis les journaux binaires430
      • 4.1 Restauration de l'état initial430
      • 4.2 Formats existants431
      • 4.2.1 Statement-based binary logs432
      • 4.2.2 Row-based binary logs433
      • 4.2.3 Choix du format au démarrage434
      • 4.2.4 Choix du format à chaud434
      • 4.3 Extraction des informations pertinentes435
      • 4.4 Reconstruction complète des données à un instant précis435
      • 4.5 Reconstruction d'une table à un instant précis436
      • 5. Conclusion437
      • Conclusion439
      • Index441

  • Origine de la notice:
    • Electre
  • Disponible - 681.84 REB

    Niveau 3 - Informatique