MySQL Workbench: Faites la connaissance ou manquez un grand allié!

Lorsqu’on entend parler de MySQL, on pense toute de suite à la puissante base de données relationnelle “RDBMS”, qui appartient maintenant au géant Oracle®. Nous, les programmeurs d’applications, préférons d’utiliser la ligne de commande pour arriver à nos fins, mais “MySQL Workbench” est la bonne réponse pour profiter d’une interface visuelle dans la conception et la gestion de nos bases de données.

Dans cet article, nous évaluerons “Workbench MySQL version 6.3.6 Community” qui est la base pour la “Standard Edition” et est différencié par une documentation étendue, des modules/compléments supplémentaires et le soutien direct de l’utilisateur, le tout avec une licence de commerce.

S’il est vrai que nous sommes en train de vous parler de la programmation avec des bases de données comme ouverture, nous vous disons aussi que “MySQL Workbench” a une section très utile en termes de gestion de serveurs de données et nous vous la présentons comme un cadre de référence pour notre objectif: surveiller la gestion et le stockage de nos informations, accompagnez-nous!

Conditions préalables

Bien sûr, pour utiliser “MySQLWorkbench” nous devons avoir un serveur MySQL installé, et dans ce cas-ci, nous utilisons les deux applications sur le même équipement GNU / Linux Ubuntu 16 LTS, 64 bits, de sorte que les graphiques indiqués peuvent être différents de ce que vous voyez sur vos ordinateurs.

Les exemples de données qui sont fournis ici sont fictifs et ont des fins d’enseignement, toute ressemblance avec la réalité sera coïncidence absolue. Certaines marques enregistrées sont accompagnées du symbole ® ou © et appartiennent à leurs propriétaires respectifs.

banniere bureau essai gratuit 100 appareil
banniere tablette essai gratuit 100 appareil
banniere mobile essai gratuit 100 appareil

Exigences de logiciel

«MySQL Workbench» ( MySQL Workbench) est conçu pour travailler dans des environnements de :

  • GNU/Linux (Ubuntu à partir de la version 9 et Fedora à partir de la version 11 sont officiellement certifiés).
  • Solaris.
  • FreeBSD.
  • Mac OS 10.6.1 ou versions suivantes.
  • Windows 7 ou versions suivantes.

Dans le cas de Windows, vous avez besoin de l’environnement “Microsoft .NET 3.5” et après il suffit de simplement télécharger le programme d’installation avec l’extension “Microsoft Install . msi”.

GNU/Linux a besoin au moins de Cairo 1.6.0, glib-2.10, libxml-2.6, libsigc++2.0, pcre, et libzip. Pour cet environnement, dans la distribution Debian (et ses “saveurs”) il suffit de sélectionner les droits d’administrateur avec la commande “apt-get install mysql-workbench” afin qu’il télécharge automatiquement tous les paquets nécessaires et nous invite aussi de supprimer les bibliothèques de notre disque fixe qui ne sont pas en service pour économiser de l’espace.

Exigences de matériel

Afin d’utiliser MySQL Workbench nous devons avoir au moins:

  • Un processeur double cœur de 2 Ghz (4 cœurs est recommandé)
  • 4 gigaoctets de RAM (6 gigaoctets est recommandé).
  • Un écran avec une résolution minimale de 1024×768 pixels (1280×1024 est recommandé).

Cette configuration est normale sur les ordinateurs modernes (quelque chose de différent ce sont les exigences pour “MySQL Server”).

L’exécution de MySQL Workbench

Une fois que nous l’avons installé sur notre ordinateur, nous procédons à l’exécuter et nous verrons un écran de bienvenue similaire à ceci:

L’exécution de MySQL Workbench capture

Sur la droite, nous verrons les raccourcis vers les options qui nous aideront à nous orienter dans l’utilisation de cet outil (cet ensemble est appelé “Workbench Central”):

  • “MySQL Utilities” fonctionnant sous une fenêtre de terminal (ligne de commande).
  • “MySQL Bug Reporter” parce que l’open source permet le débogage constant par toute la communauté qui veut en collaborer.
  • Liens Web vers des forums en ligne, cela change de temps en temps en fonction de la mode et du nombre d’utilisateurs qui les soutiennent.
  • “Database Migration” si nous avons besoin d’apporter une autre base de données de MySQL ou même d’autres types de bases de données, nous avons cet excellent assistant. Nous montrons dans l’image suivante comment commencer à importer à partir d’une base de données de PostgreSQL.

capture3
Nous nous arrêterons un peu sur “MySQL Utilities”: quand vous choisissez cette option il s’ouvrira une fenêtre de terminal de commande (aimé par certains, marginalisé par d’autres) où il affiche en fait une liste qui n’appartient pas à MySQL Workbench lui-même, ce sont des commandes qu’on pourrait aussi exécuter dans une fenêtre de terminal séparée. Par exemple, vous pouvez voir mysqldiskusage, une commande qui nous permettra de savoir combien d’espace les différentes bases de données occupent que notre “MySQL Server” héberge (note: il faut toujours exécuter ces commandes, pour des raisons de sécurité, au moyen d’une connexion SSH).

Ce que nous voulons souligner, c’est que MySQL Workbench fonctionne avec ses propres éléments et d’autres agrégats, et offre une grande flexibilité à notre travail de surveillance, voyons.

L’utilisation de MySQL Workbench

MySQL Workbench a trois domaines principaux bien définis (on appelle cela “Workspace”):

  • Développement du Langage Structuré de requêtes (“Structures Query Language Development” SQLD par son abréviation anglaise).
  • Modélisation des données d’une manière visuelle qui inclut également l’ingénierie dans les deux directions entre un schéma (interaction guidée) et une base de données ainsi que la création, la modification et la visualisation d’objets (tableaux, colonnes, déclencheurs, requêtes définies, etc.)
  • Gestion du serveur ce que nous soulignerons plus tard.

Nous notons que de nombreuses options ne se limitent pas à ces domaines : par exemple, MySQL Workbench vous permet d’exporter et d’importer des données d’une manière pratique et avec la possibilité d’accéder à des fonctionnalités avancées:
capture 4

Cet image s’affiche quand nous sommes déjà connectés à une base de données et sommes prêts à retirer (ou sauvegarder) nos ressources stockées, mais comment pouvons-nous nous connecter?

La connexion avec notre base de données

Bien que nous ayons la modélisation des données, sur laquelle nous pouvons entrer “hors ligne”, éventuellement nous devrons stocker ces informations dans une base de données, (une question très différente est de surveiller le serveur car pour cela, nous devons nous connecter obligatoirement). Automatiquement, à gauche de l’écran de bienvenue, MySQL Workbench détecte notre serveur MySQL local et de cette manière nous pouvons y cliquer, entrer le mot de passe et nous connecter, mais nous présentons l’interface de connexion en appuyant sur les touches CTRL+U (menu déroulant “Base de données” – “Connecter à base de données”):
capture 5

Il est vrai que si nous avons plusieurs bases de données à gérer, nous gagnerons du temps si nous faisons des profils de connexion et les enregistrons avec MySQL Workbench, ces fichiers peuvent contenir des instructions supplémentaires telles que toujours se connecter via SSH(onglet “Remote Management”) ou élever les privilèges pour démarrer ou arrêter le serveur (onglet “System profile”).
capture 6

Entièrement connectés

Après avoir entré nos informations d’identification, nous serons en ligne et il n’est pas surprenant que la première chose MySQL Workbench nous offre c’est d’effectuer des commandes SQL (nous devons nous rappeler que c’est l’une des principales fonctionnalités de ce logiciel et avec laquelle la plupart des gens s’associent).

Deux commandes rapides nous permettront de choisir une base de données et d’afficher les tableaux qu’elle contient, dans cet aspect MySQL Workbench remplit les mêmes fonctions que phpMyAdmin, seulement que notre environnement n’est pas un navigateur web, mais une application de notre système d’exploitation.
capture 7

Il est possible de faire une modélisation de données et de les capturer ensuite dans une base de données. Mais si nous atteignons une entreprise et que tout est soulevé à l’avance, nous pouvons obtenir une vue d’ensemble. Pour améliorer la structure des données d’un processus d’ingénierie inverse, nous avons seulement besoin d’un graphique pour être au courant, de sorte qu’il sera plus facile à surveiller. Nous, les êtres humains, ont souvent besoin de cartes mentales pour effectuer notre travail.
capture 8

Surveillance de notre “MySQL Server”

Mis à part les tâches de conception, consultation et de modification pour les développeurs, nous n’avons pris peu de temps pour atteindre notre objectif ce qui est de surveiller: juste en dessous de l’option “MANAGEMENT” la première option que nous vous présentons est le statut du “MySQL Server” dans la section “Server Status”:
capture 9

En un coup d’œil, nous obtenons les informations de nom du serveur, nous savons si elle est en cours d’exécution, nous connaissons le port d’écoute, les répertoires de configuration, la version utilisée et compilée, ainsi que si c’est un serveur primaire ou une réplique. En outre, à très court terme, la charge de travail ou le trafic réseau, entre autres des valeurs pertinentes.

Une autre section que nous pouvons accéder est “Instance” “Startup/Shutdown” où nous pouvons commencer ou arrêter le travail (ici vous devez être prudent si vous êtes connecté à un serveur en production): Soyez très conscient si les utilisateurs sont connectés!:
capture 10

Une fois qu’on est là, en général, nous serons en mesure d’obtenir plus de détails si nous utilisons la section “Performance” et puis “Dashboard” où notre tableau de bord se trouve.

Lorsque vous cliquez là, vous verrez quelques graphiques très importants:

– Trafic réseau

Cela affiche le nombre d’octets par seconde envoyés et reçus et le nombre de clients connectés. Cela vous permet de connaître rapidement le débit, et si nous atteignons le maximum autorisé par le matériel. Les valeurs placées d’au-dessus de 85% pendant une longue période nous diront si nous devrions penser à migrer vers des serveurs en répliques ou clusters sur Internet (cloud cluster) afin d’assumer le nouveau processus de travail.
capture 11

– L’état du serveur MySQL

Si nous le mettons en deuxième position, ce n’est pas parce qu’il est moins important que le trafic de données. Ici, nous découvrons l’efficacité du cache de données (l’information la plus demandée, il est préférable de garder ceci en RAM, pour réduire l’usure du disque dur) ainsi que le nombre de SQL exécutés par seconde et il discrimine même contre ses différentes actions spécifiques: les requêtes, additions modifications et suppressions de données -les plus fréquents – et la création, la modification et la suppression des tableaux qui ne devraient pas se produire (à quelques exceptions près) et se trouve dans le domaine de la sécurité informatique (seulement les comptes privilégiés peuvent exécuter ces actions).
capture 12

– L’état de l’InnoDB

InnoDB est un mécanisme de stockage open source développé par la société finlandaise Innobase (maintenant également acquise par Oracle) qui est très populaire pour ses avantages supérieurs. Si nos données sont stockées de cette façon, MySQL Workbench nous affichera les demandes de lecture et d’écriture sur le disque dur (demandes qui sont à leur tour reçues par le cache de données dont nous avons discuté dans la section précédente).

InnoDB se distingue par sa capacité ACID, qui à son tour a une limite de 200 transactions par seconde que pour surmonter ce chiffre, nous aurons besoin d’un matériel très spécialisé et / ou la distribution de la charge de travail entre plusieurs serveurs, c’est pourquoi cette surveillance est très important.
capture 13

– Rapports de performance

Bien qu’ils ne soient pas de forme graphique, les rapports de performance sont tout aussi utiles, il s’agit d’une série de scripts SQL stockés par les programmeurs MySQL Workbench qui s’exécutent automatiquement ou sur demande, comme il est le cas dans les images suivantes.
capture 14

capture 15
La dernière image affiche les tableaux temporaires, leur temps de service et le nombre de fois qu’ils ont été exécutés (dans les colonnes à droite lors du déplacement de la barre de défilement horizontale). Pourquoi sont-ils une priorité pour nous? La réponse est que pour les requêtes stockées ou créées par les utilisateurs, “MySQL Server” enregistre ces valeurs dans des tableaux temporaires et l’observation de leur comportement peut nous aider à identifier les retards dans la rétribution d’information. Cette valeur et d’autres valeurs ou ensembles de valeurs vous permettront de décider quel schéma de performance vous utiliserez dans la section suivante.

Schéma de performance

MySQL Workbench nous offre une configuration très simple en termes de collecte d’informations afin qu’elles soient ensuite présentées : nous avons alors atteint la quintessence de la surveillance des serveurs.
capture 16

Il y a un équilibre délicat entre la collecte de données et le service de données : augmenter les niveaux de demande de l’ancien diminue le second, c’est pourquoi MySQL Workbench offre 4 niveaux de base.

  • Entièrement activé.
  • Personnalisé (ci-dessus montré).
  • Par défaut, les valeurs “d’usine”.
  • Handicapés.

Quel niveau est le mieux pour nous? Nous indiquons que cela dépend de la phase de développement de votre logiciel, l’option (a) est offerte pour le développement dans l’environnement de test, l’option (c) pour les logiciels déjà connus, établis et bien raffinés et l’option (d) eh bien, n’est pas vraiment recommandée.
capture 17

Il est si avancé que nous devons tout d’abord connaître les composants conceptualisés que nous pouvons ensuite configurer:

  • Acteurs (utilisateurs qui demandent ou traitent d’informations).
  • Instruments (mémoire, blackhole, InnoDB, MyIsam, etc. : des objets programmés qui traitent l’information).
  • Consommateurs (des tableaux où nous stockerons les données recueillies).Ces éléments dans leur ensemble seront enregistrés dans les trois cas suivants:
  1. Lorsqu’il vous arrive une nouvelle demande et vous la finalisez (une fois que chacun de ses composants apris fin; rappelez-vous aussi que les transactions ACID sont “plus chers” en matière de temps et ressources de la machine, nous en discutons en détail ci-dessus).
  2. À son tour, chaque étape qui couvre la demande.
  3. Les différents cas asynchrones qui créent des périodes d’attente à chacune des étapes du point précédent, ce qui permet de détecter les goulots d’étranglement et de concevoir des algorithmes qui fournissent des données à temps aux processus suivants.

Ce concept est un peu difficile à comprendre car il implique des threads, qui peuvent être indépendants du début à la fin ou peuvent avoir besoin d’informations d’un autre thread pour continuer. La simplification que nous donnons est exagérée mais affiche en quelques mots la situation qui est soulevée.
capture 18

Pour configurer toutes ces options, nous cliquons sur les différents onglets de la dernière image affichés, là nous vous recommandons de commencer par ajouter les utilisateurs (acteurs) et les objets (les déclencheurs triggers qui sont activés sous des événements tels que par exemple l’enregistrement d’un utilisateur ou d’atteindre un certain nombre d’enregistrements, etc.), puis nous signalons les instruments que nous voulons surveiller (InnoDB, par exemple) et les tableaux où nous les sauverons (Consumers) en tenant compte des threads de ces instruments.

Élargir les possibilités de MySQL Workbench

Développée en langage C++, cette application accepte les “scripts” écrits en langage Lua ou en Python, ce dernier est en fait plus répandu et a de nombreuses options.

Avec cela, nous pouvons:

  • Automatiser les tâches communes, le prix tant attendu pour les administrateurs.
  • Améliorer l’interface pour l’utilisateur.
  • Créer des modules supplémentaires.
  • Manipuler les schémas de données.
  • Créer des fonctionnalités personnalisées pour MySQL Workbench.

Pour afficher un bouton, nous serons en mesure de créer un add-on écrit en langage Python simplement en lui donnant un nom de départ et MySQL Workbench préchargera l’environnement de travail avec les bibliothèques spécialement ciblées telles que l’interface graphique et celles qui interagissent avec la base de données.
capture 19

Bien que nous ayons laissé beaucoup à traiter dans cet article, nous voulions montrer comment MySQL Workbench est un grand allié qui présente des combinaisons pratiquement infinies.

Si vous avez plus de 100 appareils à surveiller, vous pouvez nous contacter à travers du formulaire suivant : https://pandorafms.com/fr/contact/

Shares