Mysql
 sql >> Base de données >  >> RDS >> Mysql

Alternatives à MySQL Workbench - Gestion de la configuration de ClusterControl

La gestion de la configuration MySQL se compose de deux composants principaux :les fichiers de configuration MySQL et la configuration d'exécution. L'application des modifications de configuration sur l'environnement d'exécution peut être effectuée via les clients du serveur MySQL sans privilège pour les variables de session, mais avec les privilèges SUPER pour les variables globales. L'application des mêmes modifications de configuration dans le fichier de configuration MySQL est également nécessaire pour rendre les modifications persistantes lors des redémarrages de MySQL, sinon les valeurs par défaut seront chargées lors du démarrage.

Dans cet article de blog, nous allons examiner la gestion de la configuration de ClusterControl comme alternative à la gestion de la configuration de MySQL Workbench.

Gestion de la configuration de MySQL Workbench

MySQL Workbench est un client graphique permettant de travailler avec les serveurs et les bases de données MySQL pour les versions de serveur 5.x et supérieures. Il est disponible gratuitement et couramment utilisé par les administrateurs système, les administrateurs de base de données et les développeurs pour effectuer le développement SQL, la modélisation des données, l'administration du serveur MySQL et la migration des données.

Vous pouvez utiliser MySQL Workbench pour effectuer la gestion de la configuration MySQL/MariaDB sur un serveur MySQL distant. Cependant, certaines étapes initiales sont nécessaires pour activer cette fonctionnalité. Dans MySQL Workbench, sélectionnez un profil de connexion existant et choisissez Configurer la gestion à distance. Un assistant de configuration étape par étape vous sera présenté pour vous aider à configurer la gestion à distance du profil de connexion :

Au démarrage, une tentative de connexion est effectuée pour déterminer la version du serveur et système d'exploitation de la machine cible. Cela permet de valider les paramètres de connexion et permet à l'assistant de choisir un préréglage de configuration significatif. Si cette tentative échoue, vous pouvez toujours passer à l'étape suivante, où vous pouvez personnaliser davantage les paramètres en fonction de l'environnement du serveur distant.

Une fois la configuration de la connexion à distance terminée, double-cliquez sur le profil de connexion pour commencer à vous connecter à l'instance MySQL. Ensuite, allez dans Instance -> Fichier d'options pour ouvrir la section du gestionnaire de configuration. Vous devriez voir quelque chose de similaire à la capture d'écran suivante :

Toutes les variables de configuration existantes du fichier de configuration sont préchargées dans cette configuration gestionnaire afin que vous puissiez voir quelles options ont été activées avec leurs valeurs respectives. Les configurations sont classées dans un certain nombre de sections - Général, journalisation, InnoDB, mise en réseau, etc. - ce qui nous aide vraiment à nous concentrer sur des fonctionnalités spécifiques que nous souhaitons modifier ou activer.

Une fois que vous êtes satisfait des modifications, et avant de cliquer sur "Appliquer", assurez-vous de choisir la bonne section de groupe MySQL dans le menu déroulant (juste à côté du bouton Supprimer). Une fois appliqué, vous devriez voir que la configuration est appliquée au serveur MySQL où une nouvelle ligne apparaîtra (si elle n'existait pas) dans le fichier de configuration MySQL.

Notez que cliquer sur le bouton "Appliquer" ne poussera pas le changement correspondant dans le runtime MySQL. Il faut effectuer une opération de redémarrage sur le serveur MySQL pour charger les nouvelles modifications de configuration en allant dans Instance -> Startup/Shutdown. Cela affectera la disponibilité de votre base de données.

Pour voir tous les statuts et variables système chargés, allez dans Gestion -> Variables système et statut :

Gestion de la configuration de ClusterControl

ClusterControl Configuration Manager est accessible sous Gérer -> Configurations. ClusterControl extrait un certain nombre de fichiers de configuration importants et les affiche dans une arborescence. Une vue centralisée de ces fichiers est essentielle pour comprendre et dépanner efficacement les configurations de bases de données distribuées. La capture d'écran suivante montre le gestionnaire de fichiers de configuration de ClusterControl qui répertorie tous les fichiers de configuration associés pour ce cluster dans une seule vue avec coloration syntaxique :

Comme vous pouvez le voir sur la capture d'écran ci-dessus, ClusterControl comprend MySQL "!include " et suivra tous les fichiers de configuration qui lui sont associés. Par exemple, deux fichiers de configuration MySQL sont extraits de l'hôte 192.168.0.21, /etc/my.cnf et /etc/my.cnf.d/secrets-backup.cnf. Vous pouvez ouvrir plusieurs fichiers de configuration dans un autre onglet de l'éditeur, ce qui facilite la comparaison du contenu côte à côte. ClusterControl extrait également les dernières informations de modification de fichier de l'horodatage du système d'exploitation, comme indiqué en bas à droite de l'éditeur de texte.

ClusterControl élimine la répétitivité lors de la modification d'une option de configuration d'un cluster de base de données. La modification d'une option de configuration sur plusieurs nœuds peut être effectuée via une seule interface et sera appliquée au nœud de la base de données en conséquence. Lorsque vous cliquez sur "Modifier/Définir le paramètre", vous pouvez sélectionner les instances de base de données que vous souhaitez modifier et spécifier le groupe de configuration, le paramètre et la valeur :

Vous pouvez ajouter un nouveau paramètre dans le fichier de configuration ou modifier un paramètre existant . Le paramètre sera appliqué à l'exécution des nœuds de base de données choisis et dans le fichier de configuration si l'option réussit le processus de validation des variables. Certaines variables peuvent nécessiter une étape de suivi comme le redémarrage du serveur ou le rechargement de la configuration, qui sera alors conseillée par ClusterControl.

Tous les services configurés par ClusterControl utilisent un modèle de configuration de base disponible sous /usr/share/cmon/templates sur le nœud ClusterControl. Vous pouvez directement modifier le fichier en fonction de votre stratégie de déploiement, mais ce répertoire sera remplacé après une mise à niveau du package. Pour vous assurer que vos fichiers de modèle de configuration personnalisés persistent lors des mises à niveau, stockez vos fichiers de modèle dans le répertoire /etc/cmon/templates. Lorsque ClusterControl charge le fichier modèle pour le déploiement, les fichiers sous /etc/cmon/templates auront toujours une priorité plus élevée sur les fichiers sous /usr/share/cmon/templates. Si deux fichiers portant des noms identiques existent dans les deux répertoires, celui situé sous /etc/cmon/templates sera utilisé.

Allez dans Performance -> Variables DB pour vérifier la configuration d'exécution de tous les serveurs du cluster :

Remarquez une ligne surlignée en rouge dans la capture d'écran ci-dessus ? Cela signifie que la configuration n'est pas identique dans tous les nœuds. Cela offre plus de visibilité sur la différence de configuration entre les hôtes d'un cluster de base de données particulier.

Workbench contre ClusterControl :avantages et inconvénients

Chaque produit a son propre ensemble d'avantages et d'inconvénients. Pour ClusterControl, puisqu'il comprend le cluster et la topologie, c'est le meilleur gestionnaire de configuration pour gérer plusieurs nœuds de base de données à la fois. Il prend en charge plusieurs fournisseurs MySQL tels que MariaDB, Percona ainsi que toutes les variantes de Galera Cluster. Il comprend également le format de configuration de l'équilibreur de charge de base de données pour HAProxy, MariaDB MaxScale, ProxySQL et Keepalived. Étant donné que ClusterControl nécessite une configuration SSH sans mot de passe au début de l'importation/du déploiement du cluster, la gestion de la configuration ne nécessite aucune configuration à distance comme Workbench et fonctionne immédiatement après la gestion des hôtes par ClusterControl. Les modifications de configuration MySQL effectuées par ClusterControl seront automatiquement chargées dans le runtime (pour toutes les variables prises en charge) et écrites dans les fichiers de configuration MySQL pour la persistance. En termes d'inconvénients, la gestion de la configuration de ClusterControl n'est pas accompagnée de descriptions de configuration qui pourraient nous aider à anticiper ce qui se passerait si nous modifiions l'option de configuration. Il ne prend pas en charge toutes les plates-formes que MySQL peut exécuter, en particulier certaines distributions Linux telles que CentOS, RHEL, Debian et Ubuntu.

MySQL Workbench prend en charge la gestion à distance de nombreux systèmes d'exploitation tels que Windows, FreeBSD, MacOS, Open Solaris et Linux. MySQL Workbench est disponible gratuitement et peut également être utilisé avec d'autres fournisseurs MySQL tels que Percona et MariaDB (bien qu'il ne soit pas répertorié ici, il fonctionne avec certaines anciennes versions de MariaDB). Il prend également en charge la gestion de l'installation à partir du bundle TAR. Il permet certaines personnalisations sur le chemin du fichier de configuration, les commandes service/stop et la dénomination des sections de groupe MySQL. L'une des fonctionnalités intéressantes est que MySQL Workbench utilise un menu déroulant pour les valeurs fixes, ce qui peut être d'une grande aide pour réduire le risque de mauvaise configuration de la part d'un utilisateur, comme le montre la capture d'écran suivante :

En revanche, MySQL Workbench ne prend pas en charge la gestion de la configuration de plusieurs hôtes où vous devez effectuer le changement de configuration sur chaque hôte séparément. Il ne pousse pas non plus les modifications de configuration dans l'exécution, sans redémarrage explicite de MySQL, ce qui peut compromettre la disponibilité du service de base de données.

Le tableau suivant simplifie les différences significatives tirées de tous les points mentionnés :

Aspect de la configuration

MySQL Workbench

ClusterControl

Système d'exploitation pris en charge pour le serveur MySQL

  • Linux
  • Windows
  • FreeBSD
  • Ouvrir Solaris
  • Mac OS
  • Linux (Debian, Ubuntu, RHEL, CentOS)

Fournisseur MySQL

  • Oracle
  • Percône
  • Oracle
  • Percône
  • MariaDB
  • Coder

Prise en charge d'autres logiciels

 
  • HA Proxy
  • ProxySQL
  • MariaDB MaxScale
  • Keepalived

Configuration/Description de la variable

Oui

Non

Surlignage de la syntaxe du fichier de configuration

Non

Oui

Valeurs de configuration déroulantes

Oui

Non

Configuration multi-hôte

Non

Oui

Pousser automatiquement la configuration dans l'exécution

Non

Oui

Modèle de configuration

Non

Oui

Coût

Gratuit

Abonnement requis pour la gestion de la configuration

Nous espérons que cet article de blog vous aidera à déterminer quel outil convient pour gérer les configurations de vos serveurs MySQL. Vous pouvez également essayer notre nouvel outil de gestion des fichiers de configuration (actuellement en version alpha)