Velen zijn het erover eens dat een grafische gebruikersinterface efficiënter is en minder vatbaar voor menselijke fouten bij het beheren of beheren van een systeem. Grafische gebruikersinterface (GUI) helpt enorm bij het verminderen van de steile leercurve die nodig is om op snelheid te komen, vooral als de software of het systeem nieuw en complex is voor de eindgebruiker. Voor MySQL wordt het installatieprogramma of de pakketten alleen standaard geleverd met een opdrachtregelinterface (CLI). Er is echter een handvol software op de markt die een GUI biedt, waaronder de GUI die is gemaakt door het MySQL-team zelf, MySQL Workbench genaamd.
In deze blogpost gaan we kijken naar de grafische gebruikersinterface-aspecten van MySQL Workbench en ClusterControl. Beide tools hebben hun eigen voordelen en sterke punten, waarbij sommige functiesets elkaar overlappen, aangezien beide tools tot op zekere hoogte beheer-, monitoring- en beheerfuncties ondersteunen.
MySQL Workbench GUI
MySQL Workbench is een van de meest populaire en gratis tools voor de grafische gebruikersinterface (GUI) voor het beheren en beheren van een MySQL-server. Het is een uniforme visuele tool die is gebouwd voor database-architecten, ontwikkelaars en DBA's. MySQL Workbench biedt SQL-ontwikkeltools en datamodellering, met uitgebreide beheertools voor serverconfiguratie, gebruikersbeheer, back-up en nog veel meer. Het is geschreven in C++ en ondersteunt Windows, MacOS, Linux (Ubuntu, RHEL, Fedora) en ook broncode waar je het zelf compileert.
MySQL Workbench gaat ervan uit dat u al een MySQL-server hebt, en de gebruiker gebruikt deze als de grafische gebruikersinterface om uw MySQL-server te beheren. U kunt de meeste databasebeheer- en beheertaken met Workbench uitvoeren, zoals servicecontrole, configuratie/gebruiker/sessie/verbinding/gegevensbeheer, evenals SQL-ontwikkeling en gegevensmodellering. De beheerfuncties zijn behandeld in de vorige blogposts van deze serie, Databasegebruikersbeheer en Configuratiebeheer.
Op het gebied van monitoring biedt het Performance Dashboard snelle weergaven van MySQL-prestaties op belangrijke server-, netwerk- en InnoDB-statistieken:
U kunt met de muis over de verschillende grafieken en afbeeldingen gaan voor meer informatie over de bemonsterde waarden, elke 3 seconden ververst. Houd er rekening mee dat Workbench de bemonsteringsgegevens nergens opslaat, dus de grafieken worden ingevuld op basis van de monitoring die is verzameld op het moment dat u het dashboard opent totdat het wordt gesloten.
Een van de sterke punten van MySQL Workbench is de functie voor gegevensmodellering en ontwerp. Hiermee kunt u grafisch modellen van uw databaseschema maken, reverse en forward engineeren tussen een schema en een live database, en alle aspecten van uw database bewerken met behulp van de uitgebreide editor. De volgende schermafbeelding toont het entiteit-relatiediagram (ER) dat is gebouwd en gevisualiseerd met de Workbench of Sakila-voorbeelddatabase:
Een andere opvallende functie is de wizard voor databasemigratie, waarmee u tabellen en gegevens van een ondersteund databasesysteem zoals Microsoft SQL Server, Microsoft Access, PostgreSQL, Sybase ASE, Sybase SQL Anywhere en SQLite naar MySQL:
Deze tool kan DBA- en ontwikkelaarstijd besparen met zijn visuele, aanwijzen en klikken gebruiksgemak rondom alle fasen van het configureren en beheren van een complex migratieproces. Deze migratiewizard kan ook worden gebruikt om databases van de ene MySQL-server naar de andere te kopiëren en ook om te upgraden naar de nieuwste versie van MySQL met behulp van een logische upgrade.
ClusterControl GUI
ClusterControl wordt geleverd met twee gebruikersinterfaces - GUI en CLI. De grafische gebruikersinterface, ook wel ClusterControl UI genoemd, is gebaseerd op LAMP-stacktechnologieën. Het vereist dus extra stappen om alle afhankelijkheden voor een MySQL-databaseserver, Apache-webserver en PHP voor te bereiden, te installeren en te configureren. Om ervoor te zorgen dat aan alle afhankelijkheden wordt voldaan en correct is geconfigureerd, wordt aanbevolen om ClusterControl op een schone, nieuwe host te installeren met behulp van het installatiescript dat beschikbaar is op de website.
Na de installatie opent u uw favoriete webbrowser en gaat u naar http://ClusterControl_server_IP_address/clustercontrol en begint u met het maken van de admin-gebruiker en het wachtwoord. De volgende stap is om ofwel een nieuw databasecluster te implementeren of er een bestaand databasecluster in te importeren.
ClusterControl groepeert databaseservers per cluster, zelfs voor standalone databaseknooppunten. Het richt zich meer op de verantwoordelijkheid van systeembeheer op laag niveau voor automatisering, beheer, monitoring en schaling van uw databaseservers en clusters. Een van de coole GUI-functies is de visualisatie van clustertopologie, waarmee we op hoog niveau kunnen zien hoe de huidige database-architectuur eruitziet, inclusief de load-balancer-laag:
De weergave Topologie biedt een realtime overzicht van de status van het cluster/knooppunt , replicatiegegevensstroom en de relatie tussen leden in het cluster. U weet misschien dat voor MySQL-replicatie de databaserol en replicatiestroom erg kritisch zijn, vooral nadat een topologiewijzigingsgebeurtenis zoals masterstoring, slave-promotie of omschakeling heeft plaatsgevonden.
ClusterControl biedt veel stapsgewijze wizards om gebruikers te helpen bij het implementeren, beheren en configureren van hun databaseservers. De meeste moeilijke en complexe taken zijn configureerbaar via deze wizard, zoals het implementeren van een cluster, het importeren van een cluster, het toevoegen van een nieuw databaseknooppunt, het implementeren van een load balancer, het plannen van een back-up, het terugzetten van een back-up en het uitvoeren van back-upverificatie. Als u bijvoorbeeld een back-up wilt plannen, zijn er verschillende stappen nodig, afhankelijk van de gekozen back-upmethode, de gekozen back-upbestemming en vele andere variabelen. De gebruikersinterface wordt dynamisch bijgewerkt volgens de gekozen opties, zoals wordt benadrukt door het volgende screenshot van de geplande back-up:
In de bovenstaande schermafbeelding kunnen we zien dat er 4 belangrijke stappen zijn om plan dit soort back-up op basis van de invoer gespecificeerd in de eerste (kies of u een back-up wilt maken of plannen) en de tweede stap (deze pagina). De derde stap gaat over het configureren van xtrabackup (de gekozen back-upmethode op deze pagina), de laatste stap gaat over het configureren van de back-upbestemming naar de cloud (de gekozen back-upbestemming op deze pagina). Het configureren van geavanceerde instellingen is echt geen obstakel met ClusterControl. Als u niet zeker bent van alle geavanceerde opties, accepteer dan gewoon de standaardwaarden die gewoonlijk geschikt zijn voor back-ups voor algemene doeleinden.
Hoewel de grafische interface een webgebaseerde applicatie is, worden alle monitoring- en trendingcomponenten zoals grafieken, histogrammen, status en variabele rasters in realtime bijgewerkt met aanpasbare instellingen voor bereik en verversingssnelheid die bij uw monitoring passen behoeften:
Voordelen en nadelen
MySQL Workbench is relatief eenvoudig te installeren zonder afhankelijkheden als zelfstandige toepassing. Het heeft alle noodzakelijke functies voor het beheren en beheren van database-objecten die nodig zijn voor uw toepassing. Het is gratis en open source en wordt ondersteund door het team dat de MySQL-server zelf onderhoudt. Nieuwe MySQL-functies worden meestal eerst ondersteund door MySQL Workbench voordat de massa het overneemt.
Nadeel is dat MySQL Workbench geen mobiele of tabletversies ondersteunt. Er zijn echter andere vergelijkbare tools beschikbaar in de respectievelijke apps store. De prestatiebewakingsfuncties voor MySQL Workbench zijn handig (zij het eenvoudig) om alleen de algemene statistieken te benadrukken en de monitoringgegevens worden niet opgeslagen voor toekomstig gebruik.
De ClusterControl GUI is een webgebaseerde applicatie die toegankelijk is vanaf alle apparaten waarop de ondersteunde webbrowsers kunnen worden uitgevoerd, of het nu op een normale pc, laptop, smartphone of tablet is. Het ondersteunt het beheer van meerdere databaseleveranciers, -systemen en -versies en slaat alle bewakingsgegevens op in zijn database die kan worden gebruikt om gebeurtenissen uit het verleden te volgen met proactieve waarschuwingsmogelijkheden. Op het gebied van beheer biedt ClusterControl een basisschema en gebruikersbeheer, maar veel beter voor andere geavanceerde beheerfuncties zoals configuratie, automatisch herstel, omschakeling, replicatie, knooppuntschaling en load balancer-beheer.
Wat betreft de nadelen, ClusterControl is afhankelijk van een aantal softwareprogramma's om soepel te werken. Deze omvatten een goed afgestemde MySQL-server, Apache-webserver en ook PHP-modules. Het vereist ook regelmatige software-updates om alle wijzigingen bij te houden die zijn geïntroduceerd door veel leveranciers die het ondersteunt. ClusterControl eindgebruikersdoelen zijn Sysadmins en DevOps, daarom heeft het niet veel GUI-functies om de database-objecten (tabellen, views, routines, enz.) en SQL-ontwikkeling zoals SQL-editor, markeerstift en formatter te beheren.
De volgende tabel vergelijkt enkele van de opmerkelijke functies van de grafische gebruikersinterface op beide tools:
Aspect
MySQL-werkbank
ClusterControl
Bewaking
-
Basis prestatiebewaking
-
Bewaking van zoekopdrachten
-
Geavanceerde en aanpasbare prestatiebewaking
-
Bewaking van zoekopdrachten
-
Databasegroei
Waarschuwing
Nee
-
E-mail
-
Integraties van derden zoals Pagerduty, Telegram en webhooks
Beheer
-
Eenvoudige back-up
-
Configuratie
-
Schema
-
Basis servicebeheer
-
Geavanceerd database-object
-
Geavanceerde back-up/herstel
-
Configuratie
-
Schema
-
Upgraden
-
Geavanceerde servicecontrole
implementatie
Nee
-
Databasecluster
-
Loadbalancer
-
Lokaal en in de cloud
Gegevensmodellering en ontwerp
Ja
Nee
SQL-ontwikkeling
Ja
Nee
Databasemigratietool
Ja
Nee
Stap-voor-stap wizards
Ja
Ja
Topologieweergave
Nee
Ja
Kosten
Community-editie (gratis)
Standard/Enterprise-edities (commercieel)
Community-editie (gratis)
Enterprise-editie (abonnement)