sql >> Database >  >> RDS >> Mysql

MySQL Workbench-alternatieven - ClusterControl Database-gebruikersbeheer

MySQL-gebruikers- en privilegebeheer is erg belangrijk voor authenticatie, autorisatie en boekhoudkundige doeleinden. Sinds MySQL 8.0 zijn er nu twee soorten gebruikersrechten voor databases:

  1. Statische privileges - De algemene algemene, schema- en administratieve privileges zoals SELECT, ALTER, SUPER en USAGE, ingebouwd in de server.
  2. Dynamische privileges - Nieuw in MySQL 8.0. Een component die tijdens runtime kan worden geregistreerd en gederegistreerd en die betere controle biedt over globale privileges. In plaats van bijvoorbeeld SUPER-rechten alleen toe te wijzen voor configuratiebeheerdoeleinden, kan die specifieke gebruiker beter alleen de rechten SYSTEM_VARIABLES_ADMIN krijgen.

Het maken van een databaseschema met de betreffende gebruiker is de allereerste stap om MySQL als uw databaseserver te gaan gebruiken. De meeste applicaties die MySQL als datastore gebruiken, vereisen dat deze taak wordt uitgevoerd voordat de applicatie kan werken zoals bedoeld. Voor gebruik met een applicatie wordt een MySQL-gebruiker gewoonlijk geconfigureerd om volledige rechten (ALLE PRIVILEGES) op schemaniveau te hebben, wat inhoudt dat de databasegebruiker die door de applicatie wordt gebruikt de vrijheid heeft om alle acties op de toegewezen database uit te voeren.

In deze blogpost gaan we MySQL-databasegebruikersbeheerfuncties vergelijken en contrasteren tussen MySQL Workbench en ClusterControl.

MySQL Workbench - Databasegebruikersbeheer

Voor MySQL Workbench kunt u alle gebruikersbeheer-dingen vinden onder Beheer -> Beheer -> Gebruiker en rechten. U zou aan de linkerkant een lijst met bestaande gebruikers moeten zien, terwijl aan de rechterkant de sectie authenticatie en autorisatieconfiguratie voor de geselecteerde gebruiker is:

MySQL ondersteunt meer dan 30 statische privileges en het is niet gemakkelijk te begrijpen en te onthouden het winkelcentrum. MySQL Workbench heeft een aantal vooraf ingestelde beheerdersrollen, wat erg handig is bij het toewijzen van voldoende privileges aan een databasegebruiker. Als u bijvoorbeeld een MySQL-gebruiker wilt maken die specifiek is bedoeld om back-upactiviteiten uit te voeren met mysqldump, kunt u de rol BackupAdmin kiezen en de bijbehorende algemene privileges worden dienovereenkomstig aan de gebruiker toegewezen:

Klik op de knop "Account toevoegen" om een ​​nieuwe databasegebruiker aan te maken en geef de nodige informatie op onder het tabblad "Inloggen". U kunt wat meer resourcebeperkingen toevoegen op het tabblad "Accountlimiet". Als de gebruiker alleen voor een databaseschema is en niet bedoeld is voor een beheerdersrol (strikt voor toepassingsgebruik), kunt u het tabblad "Beheerdersrollen" overslaan en gewoon de "Schemarechten" configureren.

Onder het gedeelte "Schemarechten" kan men een databaseschema kiezen (of het overeenkomende patroon definiëren) door op "Vermelding toevoegen" te klikken. Druk vervolgens op de knop "Alles selecteren" om alle rechten toe te staan ​​(behalve GRANT OPTION) die vergelijkbaar is met de optieverklaring "ALLE PRIVILEGES":

Er wordt geen databasegebruiker gemaakt op de MySQL-server totdat u zich heeft aangemeld de wijzigingen door op de knop "Toepassen" te klikken.

ClusterControl - Database- en proxygebruikersbeheer

ClusterControl database- en gebruikersbeheer is iets eenvoudiger dan wat MySQL Workbench biedt. Hoewel MySQL Workbench ontwikkelaarsvriendelijker is, is ClusterControl meer gericht op waar SysAdmins en DBA's in geïnteresseerd zijn, meer als algemene beheersdingen voor degenen die al bekend zijn met MySQL-rollen en -privileges.

Om een ​​databasegebruiker aan te maken, gaat u naar Beheren -> Schema's en gebruikers -> Gebruikers -> Nieuwe gebruiker maken. U krijgt de volgende wizard voor het maken van gebruikers te zien:

Als u een gebruiker wilt maken in ClusterControl, moet u alle benodigde velden in één pagina, in tegenstelling tot MySQL Workbench, waarvoor een aantal klikken nodig was om vergelijkbare resultaten te bereiken. ClusterControl ondersteunt ook het maken van een gebruiker met de syntaxis "SSL VEREIST", om de specifieke gebruiker te dwingen alleen toegang te krijgen via het SSL-coderingskanaal.

ClusterControl biedt een geaggregeerd overzicht van alle databasegebruikers in een cluster, zodat u niet op elke afzonderlijke server hoeft in te loggen om naar een bepaalde gebruiker te zoeken:

Een simpele rollover op het privilegevenster onthult alle privileges die zijn toegewezen aan deze gebruiker. ClusterControl biedt ook een lijst met inactieve gebruikers, gebruikersaccounts die niet zijn gebruikt sinds de laatste herstart van de server:

De bovenstaande lijst geeft ons een duidelijk overzicht van welke gebruikers het waard zijn om te bestaan , waardoor we de gebruiker efficiënter kunnen beheren. DBA's kunnen de ontwikkelaar dan vragen of de inactieve databasegebruiker nog steeds nodig is om actief te zijn, anders kan het gebruikersaccount worden vergrendeld of verwijderd.

Als je een ProxySQL-load balancer ertussen hebt, weet je misschien dat ProxySQL zijn eigen MySQL-gebruikersbeheer heeft om het door te laten gaan. Er zijn een aantal verschillende instellingen en variabelen in vergelijking met de gebruikelijke MySQL-gebruikersconfiguraties, bijvoorbeeld standaard hostgroep, standaardschema, transactiepersistentie, snel vooruitspoelen en nog veel meer. ClusterControl biedt een grafische gebruikersinterface voor het beheren van ProxySQL-databasegebruikers, waardoor de ervaring en efficiëntie van het beheer van uw proxy- en databasegebruikers tegelijk wordt verbeterd:

Wanneer u een nieuwe databasegebruiker aanmaakt via de ProxySQL-beheerpagina, maakt ClusterControl automatisch de corresponderende gebruiker op zowel ProxySQL als MySQL. Wanneer u echter een MySQL-gebruiker verwijdert uit ProxySQL, blijft de corresponderende databasegebruiker op de MySQL-server.

Voordelen en nadelen

ClusterControl ondersteunt meerdere databaseleveranciers, zodat u een vergelijkbare gebruikerservaring krijgt met andere databaseservers. ClusterControl ondersteunt ook het aanmaken van een databasegebruiker op meerdere hosts tegelijk, waarbij het ervoor zorgt dat de aangemaakte gebruiker op alle databaseservers in het cluster bestaat. ClusterControl heeft een schonere manier om gebruikersaccounts op te sommen, waar u alle benodigde informatie direct op de lijstpagina kunt zien. Gebruikersbeheer vereist echter een actief abonnement en is niet beschikbaar in de community-editie. Het ondersteunt niet alle platforms waarop MySQL kan draaien, met name alleen bepaalde Linux-distributies zoals CentOS, RHEL, Debian en Ubuntu.

Het grootste voordeel van MySQL Workbench is dat het gratis is en samen met schemabeheer en administratie kan worden gebruikt. Het is gebouwd om vriendelijker te zijn voor ontwikkelaars en DBA's en heeft het voordeel dat het wordt gebouwd en ondersteund door het Oracle-team, dat de MySQL-server bezit en onderhoudt. Het biedt ook veel duidelijkere richtlijnen met een beschrijving van de meeste invoervelden, vooral in de kritieke onderdelen zoals authenticatie en privilegebeheer. De vooraf ingestelde beheerdersrol is een handige manier om een ​​gebruiker een reeks privileges te geven, gebaseerd op het werk dat de gebruiker op de server moet uitvoeren. Aan de andere kant is MySQL Workbench geen clustervriendelijke tool, aangezien elke beheerverbinding is afgestemd op één MySQL-eindserver. Het biedt dus geen gecentraliseerde weergave van alle gebruikers in het cluster. Het biedt ook geen ondersteuning voor het maken van gebruikers met SSL-handhaving.

Beide tools ondersteunen de nieuwe MySQL 8.0 dynamische privileges-syntaxis niet, bijvoorbeeld BACKUP_ADMIN, BINLOG_ADMIN, SYSTEM_VARIABLES_ADMIN, enz.

In de volgende tabel worden opvallende kenmerken van beide tools weergegeven, zodat u ze gemakkelijk kunt vergelijken:

Gebruikersbeheer-aspect

MySQL-werkbank

ClusterControl

Ondersteund besturingssysteem voor MySQL-server

  • Linux

  • Windows

  • FreeBSD

  • Open Solaris

  • Mac OS

  • Linux (Debian, Ubuntu, RHEL, CentOS)

MySQL-leverancier

  • Oracle

  • Percona

  • Oracle

  • Percona

  • MariaDB

  • Coderschap

Ondersteuning van gebruikersbeheer voor andere software

 
  • ProxySQL

Gebruikersbeheer voor meerdere hosts

Nee

Ja

Geaggregeerde weergave van gebruikers in een databasecluster

Nee

Ja

Inactieve gebruikers weergeven

Nee

Ja

Gebruiker maken met SSL

Nee

Ja

Privilege en rolbeschrijving

Ja

Nee

Vooraf ingestelde beheerdersrol

Ja

Nee

MySQL 8.0 dynamische privileges

Nee

Nee

Kosten

Gratis

Abonnement vereist voor beheerfuncties


We hopen dat deze blogposts u zullen helpen bepalen welke tools het beste passen bij het beheren van uw MySQL-databases en gebruikers.
  1. Problemen met createdb in postgres

  2. Toepassingen die op Linux draaien verbinden met Amazon Relational Database Services (RDS) voor SQL Server

  3. UPPER() Functie in Oracle

  4. SQL uitvoeren vanuit batchbestand