Beaucoup conviendraient que le fait d'avoir une interface utilisateur graphique est plus efficace et moins sujet aux erreurs humaines lors de la gestion ou de l'administration d'un système. L'interface utilisateur graphique (GUI) aide grandement à réduire la courbe d'apprentissage abrupte nécessaire pour se mettre à niveau, en particulier si le logiciel ou le système est nouveau et complexe pour l'utilisateur final. Pour MySQL, le programme d'installation ou les packages ne sont fournis qu'avec une interface de ligne de commande (CLI) prête à l'emploi. Cependant, il existe une poignée de logiciels disponibles sur le marché qui fournissent une interface graphique, y compris celle créée par l'équipe MySQL elle-même appelée MySQL Workbench.
Dans cet article de blog, nous allons examiner les aspects de l'interface utilisateur graphique de MySQL Workbench et ClusterControl. Les deux outils ont leurs propres avantages et points forts, certains ensembles de fonctionnalités se chevauchant, car les deux outils prennent en charge les fonctionnalités de gestion, de surveillance et d'administration dans une certaine mesure.
Interface graphique MySQL Workbench
MySQL Workbench est l'un des outils d'interface utilisateur graphique (GUI) les plus populaires et gratuits pour gérer et administrer un serveur MySQL. Il s'agit d'un outil visuel unifié conçu pour les architectes de bases de données, les développeurs et les DBA. MySQL Workbench fournit des outils de développement SQL et de modélisation des données, avec des outils d'administration complets pour la configuration du serveur, l'administration des utilisateurs, la sauvegarde et bien plus encore. Il est écrit en C++ et prend en charge Windows, MacOS, Linux (Ubuntu, RHEL, Fedora) ainsi que le code source où vous le compilez vous-même.
MySQL Workbench suppose que vous disposez déjà d'un serveur MySQL en cours d'exécution et que l'utilisateur l'utilise comme interface utilisateur graphique pour gérer votre serveur MySQL. Vous pouvez effectuer la plupart des tâches de gestion et d'administration de la base de données avec Workbench, telles que le contrôle des services, la configuration/l'utilisateur/la session/la connexion/la gestion des données, ainsi que le développement SQL et la modélisation des données. Les fonctionnalités de gestion ont été abordées dans les articles de blog précédents de cette série, Gestion des utilisateurs de base de données et Gestion de la configuration.
En termes de surveillance, le tableau de bord des performances fournit des vues rapides des performances de MySQL sur les métriques clés du serveur, du réseau et d'InnoDB :
Vous pouvez passer la souris sur les différents graphiques et visuels pour obtenir plus d'informations sur le valeurs échantillonnées, rafraîchies toutes les 3 secondes. Notez que Workbench ne stocke nulle part les données d'échantillonnage. Les graphiques sont donc remplis à partir de la surveillance collectée à l'heure actuelle où vous accédez au tableau de bord jusqu'à sa fermeture.
L'une des forces de MySQL Workbench est sa fonctionnalité de modélisation et de conception de données. Il vous permet de créer graphiquement des modèles de votre schéma de base de données, d'effectuer une ingénierie inverse et directe entre un schéma et une base de données en direct, et de modifier tous les aspects de votre base de données à l'aide de l'éditeur complet. La capture d'écran suivante montre le diagramme entité-relation (ER) construit et visualisé avec l'exemple de base de données Workbench de Sakila :
Une autre fonctionnalité notable est l'assistant de migration de base de données, qui vous permet de migrer des tables et données d'un système de base de données pris en charge comme Microsoft SQL Server, Microsoft Access, PostgreSQL, Sybase ASE, Sybase SQL Anywhere et SQLite vers MySQL :
Cet outil peut faire gagner du temps aux DBA et aux développeurs grâce à son visuel, pointer et cliquer facilité d'utilisation dans toutes les phases de configuration et de gestion d'un processus de migration complexe. Cet assistant de migration peut également être utilisé pour copier des bases de données d'un serveur MySQL à un autre et également pour mettre à niveau vers la dernière version de MySQL à l'aide d'une mise à niveau logique.
Interface graphique ClusterControl
ClusterControl est livré avec deux interfaces utilisateur - GUI et CLI. L'interface utilisateur graphique, également connue sous le nom d'interface utilisateur ClusterControl, est construite sur les technologies de pile LAMP. Ainsi, il nécessite des étapes supplémentaires pour préparer, installer et configurer toutes les dépendances pour un serveur de base de données MySQL, un serveur Web Apache et PHP. Pour vous assurer que toutes les dépendances sont respectées et configurées correctement, il est recommandé d'installer ClusterControl sur un nouvel hôte propre à l'aide du script d'installation disponible sur le site Web.
Une fois installé, ouvrez votre navigateur Web préféré et accédez à http://ClusterControl_server_IP_address/clustercontrol et commencez à créer l'utilisateur et le mot de passe admin. L'étape suivante consiste à déployer un nouveau cluster de bases de données ou à y importer un cluster de bases de données existant.
ClusterControl regroupe les serveurs de base de données par cluster, même pour les nœuds de base de données autonomes. Il se concentre davantage sur la responsabilité de l'administration système de bas niveau sur l'automatisation, la gestion, la surveillance et la mise à l'échelle de vos serveurs et clusters de base de données. L'une des fonctionnalités intéressantes de l'interface graphique est la visualisation de la topologie du cluster, qui nous donne un aperçu de haut niveau de l'architecture actuelle de la base de données, y compris le niveau d'équilibrage de charge :
La vue Topologie fournit un résumé en temps réel de l'état du cluster/nœud , le flux de données de réplication et la relation entre les membres du cluster. Vous savez peut-être que pour la réplication MySQL, le rôle de la base de données et le flux de réplication sont très critiques, en particulier après un événement de changement de topologie comme une panne de maître, une promotion d'esclave ou un basculement.
ClusterControl fournit de nombreux assistants étape par étape pour aider les utilisateurs à déployer, gérer et configurer leurs serveurs de base de données. La plupart des tâches difficiles et complexes sont configurables via cet assistant, comme le déploiement d'un cluster, l'importation d'un cluster, l'ajout d'un nouveau nœud de base de données, le déploiement d'un équilibreur de charge, la planification d'une sauvegarde, la restauration d'une sauvegarde et la vérification de la sauvegarde. Par exemple, si vous souhaitez planifier une sauvegarde, différentes étapes sont impliquées en fonction de la méthode de sauvegarde choisie, de la destination de sauvegarde choisie et de nombreuses autres variables. L'interface utilisateur sera mise à jour de manière dynamique en fonction des options choisies, comme le montre la capture d'écran de sauvegarde planifiée suivante :
Dans la capture d'écran ci-dessus, nous pouvons dire qu'il y a 4 étapes principales pour planifiez ce type de sauvegarde en fonction des entrées spécifiées dans la première (choisir de créer ou de planifier une sauvegarde) et la deuxième étape (cette page). La troisième étape concerne la configuration de xtrabackup (la méthode de sauvegarde choisie sur cette page), la dernière étape concerne la configuration de la destination de sauvegarde sur le cloud (la destination de sauvegarde choisie sur cette page). La configuration des paramètres avancés n'est vraiment pas un obstacle à l'aide de ClusterControl. Si vous n'êtes pas sûr de toutes les options avancées, acceptez simplement les valeurs par défaut qui conviennent généralement aux sauvegardes à usage général.
Bien que l'interface graphique soit une application Web, tous les composants de surveillance et de tendance tels que les graphiques, les histogrammes, les grilles d'état et de variables sont mis à jour en temps réel avec des paramètres de plage et de taux de rafraîchissement personnalisables pour s'adapter à votre surveillance. besoins :
Avantages et inconvénients
MySQL Workbench est relativement facile à installer sans dépendances fonctionnant comme une application autonome. Il possède toutes les fonctionnalités nécessaires pour gérer et administrer les objets de base de données requis pour votre application. Il est gratuit et open source et soutenu par l'équipe qui gère le serveur MySQL lui-même. Les nouvelles fonctionnalités de MySQL sont généralement d'abord prises en charge par MySQL Workbench avant que les masses ne l'adoptent.
En revanche, MySQL Workbench ne prend pas en charge les versions mobiles ou tablettes. Cependant, il existe d'autres outils comparables disponibles sur le magasin d'applications respectif. Les fonctionnalités de surveillance des performances de MySQL Workbench sont utiles (bien que simples) en mettant en évidence uniquement les métriques communes et les données de surveillance ne sont pas stockées pour référence future.
L'interface graphique ClusterControl est une application Web accessible à partir de tous les appareils pouvant exécuter les navigateurs Web pris en charge, que ce soit sur un PC, un ordinateur portable, un smartphone ou une tablette. Il prend en charge la gestion de plusieurs fournisseurs, systèmes et versions de bases de données et stocke toutes les données de surveillance dans sa base de données qui peuvent être utilisées pour suivre les événements passés avec des capacités d'alerte proactives. En termes de gestion, ClusterControl offre un schéma de base et une gestion des utilisateurs, mais bien supérieurs pour d'autres fonctionnalités de gestion avancées telles que la configuration, la récupération automatique, le basculement, la réplication, la mise à l'échelle des nœuds et la gestion de l'équilibreur de charge.
En ce qui concerne les inconvénients, ClusterControl dépend d'un certain nombre de logiciels pour fonctionner correctement. Ceux-ci incluent un serveur MySQL correctement réglé, un serveur Web Apache et également des modules PHP. Il nécessite également des mises à jour logicielles régulières pour suivre tous les changements introduits par de nombreux fournisseurs qu'il prend en charge. Les cibles des utilisateurs finaux de ClusterControl sont les administrateurs système et les DevOps. Par conséquent, il ne dispose pas de nombreuses fonctionnalités d'interface graphique pour gérer les objets de la base de données (tables, vues, routines, etc.) et le développement SQL comme l'éditeur SQL, le surligneur et le formateur.
Le tableau suivant compare certaines des fonctionnalités notables de l'interface utilisateur graphique des deux outils :
Aspect | MySQL Workbench | ClusterControl |
Surveillance |
|
|
Alerte | Non |
|
Gestion |
|
|
Déploiement | Non |
|
Modélisation et conception des données | Oui | Non |
Développement SQL | Oui | Non |
Outil de migration de base de données | Oui | Non |
Assistants pas à pas | Oui | Oui |
Vue topologique | Non | Oui |
Coût |
Édition communautaire (gratuite) | Édition communautaire (gratuite) Édition entreprise (abonnement) |