sql >> Databasteknik >  >> RDS >> Mysql

MySQL Workbench Alternatives - ClusterControl Database User Management

MySQL användar- och behörighetshantering är mycket kritisk för autentisering, auktorisering och redovisningsändamål. Sedan MySQL 8.0 finns det nu två typer av databasanvändarprivilegier:

  1. Statiska privilegier - De vanliga globala, schema- och administrativa privilegierna som SELECT, ALTER, SUPER och USAGE, inbyggda i servern.
  2. Dynamiska privilegier - Nytt i MySQL 8.0. En komponent som kan registreras och avregistreras under körning vilket ger bättre kontroll över globala privilegier. Till exempel, istället för att tilldela SUPER-behörighet enbart för konfigurationshanteringssyften, är det bättre att den specifika användaren ges endast SYSTEM_VARIABLES_ADMIN-behörighet.

Att skapa ett databasschema med sin respektive användare är det allra första steget för att börja använda MySQL som din databasserver. De flesta applikationer som använder MySQL som datalager kräver att denna uppgift görs innan applikationen kan fungera som avsett. För att använda med en applikation konfigureras vanligtvis en MySQL-användare att ha fullständiga rättigheter (ALLA PRIVILEGIER) på schemanivå, vilket innebär att databasanvändaren som används av applikationen har friheten att utföra alla åtgärder på den tilldelade databasen.

I det här blogginlägget kommer vi att jämföra och kontrastera MySQL-databasanvändarhanteringsfunktioner mellan MySQL Workbench och ClusterControl.

MySQL Workbench - Databasanvändarhantering

För MySQL Workbench kan du hitta alla användarhanteringsgrejer under Administration -> Management -> Användare och privilegier. Du bör se en lista över befintliga användare på vänster sida medan på höger sida är autentiserings- och auktoriseringskonfigurationsavsnittet för den valda användaren:

MySQL stöder över 30 statiska privilegier och det är inte lätt att förstå och komma ihåg gallerian. MySQL Workbench har ett antal förinställda administrativa roller, vilket är mycket användbart när man tilldelar tillräckliga privilegier till en databasanvändare. Om du till exempel vill skapa en MySQL-användare specifikt för att utföra säkerhetskopieringsaktiviteter med mysqldump, kan du välja BackupAdmin-rollen och de relaterade globala privilegierna kommer att tilldelas användaren i enlighet med detta:

För att skapa en ny databasanvändare, klicka på knappen "Lägg till konto" och tillhandahåll nödvändig information under fliken "Logga in". Du kan lägga till några fler resursbegränsningar under fliken "Kontogräns". Om användaren endast är för ett databasschema och inte är avsedd för någon administrativ roll (enbart för applikationsanvändning), kan du hoppa över fliken "Administrativa roller" och bara konfigurera "Schemaprivilegier".

Under avsnittet "Schemaprivilegier" kan man välja ett databasschema (eller definiera det matchande mönstret) genom att klicka på "Lägg till post". Tryck sedan på knappen "Välj ALLA" för att tillåta alla rättigheter (förutom GRANT OPTION) som liknar "ALL PRIVILEGES" alternativsatsen:

En databasanvändare kommer inte att skapas i MySQL-servern förrän du har ansökt ändringarna genom att klicka på knappen "Verkställ".

ClusterControl - Databas- och proxyanvändarhantering

ClusterControl-databas och användarhantering är lite enklare än vad MySQL Workbench erbjuder. Medan MySQL Workbench är mer utvecklarvänligt fokuserar ClusterControl mer på vad SysAdmins och DBAs är intresserade av, mer som vanliga administrationsgrejer för dem som redan är bekanta med MySQL-roller och -privilegier.

För att skapa en databasanvändare, gå till Hantera -> Schema och användare -> Användare -> Skapa ny användare. Du kommer att presenteras med följande guide för att skapa användare:

För att skapa en användare i ClusterControl måste du fylla i alla nödvändiga fält i ett sida, till skillnad från MySQL Workbench som involverade ett antal klick för att uppnå liknande resultat. ClusterControl stöder också att skapa en användare med "REQUIRE SSL"-syntax, för att tvinga den specifika användaren att endast komma åt via SSL-krypteringskanalen.

ClusterControl ger en samlad vy över alla databasanvändare i ett kluster, vilket gör att du inte behöver logga in på varje enskild server för att leta efter en viss användare:

En enkel rollover på privilegierutan avslöjar alla privilegier som har tilldelats till denna användare. ClusterControl tillhandahåller också en lista över inaktiva användare, användarkonton som inte har använts sedan den senaste omstarten av servern:

listan ovan ger oss en tydlig sammanfattning av vilka användare som är värda att existera , vilket gör att vi kan hantera användaren mer effektivt. DBA:er kan sedan fråga utvecklaren om den inaktiva databasanvändaren fortfarande är nödvändig för att vara aktiv, annars kan användarkontot låsas eller släppas.

Om du har en ProxySQL-lastbalanserare emellan, kanske du vet att ProxySQL har sin egen MySQL-användarhantering så att den kan passeras genom den. Det finns ett antal olika inställningar och variabler jämfört med vanliga MySQL-användarkonfigurationer, t.ex. standardvärdgrupp, standardschema, transaktionsbeständighet, snabbspolning och många fler. ClusterControl tillhandahåller ett grafiskt användargränssnitt för att hantera ProxySQL-databasanvändare, vilket förbättrar upplevelsen och effektiviteten av att hantera dina proxy- och databasanvändare på en gång:

När du skapar en ny databasanvändare via ProxySQL-hanteringssidan kommer ClusterControl automatiskt att skapa motsvarande användare på både ProxySQL och MySQL. Men när du släpper en MySQL-användare från ProxySQL, kommer motsvarande databasanvändare att stanna kvar på MySQL-servern.

Fördelar och nackdelar

ClusterControl stöder flera databasleverantörer så att du får en liknande användarupplevelse när du hanterar andra databasservrar. ClusterControl stöder också att skapa en databasanvändare på flera värdar samtidigt, där den kommer att se till att den skapade användaren finns på alla databasservrar i klustret. ClusterControl har ett renare sätt när du listar ut användarkonton, där du kan se all nödvändig information direkt på listningssidan. Användarhantering kräver dock aktiv prenumeration och är inte tillgänglig i community-utgåvan. Den stöder inte alla plattformar som MySQL kan köra, särskilt bara vissa Linux-distributioner som CentOS, RHEL, Debian och Ubuntu.

Den starkaste fördelen med MySQL Workbench är att den är gratis och kan användas tillsammans med schemahantering och administration. Den är byggd för att vara mer vänlig för utvecklare och DBA:er och har fördelen av att den byggs och backas upp av Oracle-teamet, som äger och underhåller MySQL-servern. Det ger också mycket tydligare vägledning med beskrivning av de flesta inmatningsfälten, särskilt i de kritiska delarna som autentisering och behörighetshantering. Den förinställda administrativa rollen är ett snyggt sätt att ge en uppsättning privilegier till en användare, baserat på det arbete användaren måste utföra på servern. På minussidan är MySQL Workbench inte ett klustervänligt verktyg eftersom varje hanteringsanslutning är skräddarsydd för en enda MySQL-server. Det ger alltså inte en centraliserad vy av alla användare i klustret. Det stöder inte heller att skapa användare med SSL-tillämpning.

Båda dessa verktyg stöder inte den nya MySQL 8.0 dynamiska behörighetssyntaxen, t.ex. BACKUP_ADMIN, BINLOG_ADMIN, SYSTEM_VARIABLES_ADMIN, etc.

Följande tabell framhäver anmärkningsvärda funktioner för båda verktygen för enkel jämförelse:

Användarhanteringsaspekt

MySQL Workbench

ClusterControl

OS som stöds för MySQL-server

  • Linux

  • Windows

  • FreeBSD

  • Öppna Solaris

  • Mac OS

  • Linux (Debian, Ubuntu, RHEL, CentOS)

MySQL-leverantör

  • Oracle

  • Percona

  • Oracle

  • Percona

  • MariaDB

  • Codership

Stöd användarhantering för annan programvara

 
  • ProxySQL

Användarhantering för flera värdar

Nej

Ja

Aggregerad vy av användare i ett databaskluster

Nej

Ja

Visa inaktiva användare

Nej

Ja

Skapa användare med SSL

Nej

Ja

Behörighet och rollbeskrivning

Ja

Nej

Förinställd administrativ roll

Ja

Nej

MySQL 8.0 dynamiska privilegier

Nej

Nej

Kostnad

Gratis

Prenumeration krävs för hanteringsfunktioner


Vi hoppas att dessa blogginlägg hjälper dig att avgöra vilka verktyg som passar bäst för att hantera dina MySQL-databaser och användare.
  1. Hur man skriver ut flera rapporter med streckkoder \ eller flera streckkoder i en rapport

  2. Ska jag indexera ett bitfält i SQL Server?

  3. Skapa en Java-applikation i Oracle JDeveloper, del 2

  4. Kan jag skjuta upp referensintegritetskontroller i MySQL tills commit