sql >> Database teknologi >  >> RDS >> Mysql

MySQL Workbench Alternatives - ClusterControl Database User Management

MySQL-bruger- og privilegiestyring er meget afgørende for godkendelse, autorisation og regnskabsformål. Siden MySQL 8.0 er der nu to typer databasebrugerprivilegier:

  1. Statiske privilegier - De almindelige globale, skema- og administrative rettigheder som SELECT, ALTER, SUPER og USAGE, indbygget i serveren.
  2. Dynamiske rettigheder - Nyt i MySQL 8.0. En komponent, der kan registreres og afregistreres under kørsel, hvilket giver bedre kontrol over globale privilegier. For eksempel, i stedet for kun at tildele SUPER-privilegier til konfigurationsadministrationsformål, er det bedre at give den pågældende bruger kun SYSTEM_VARIABLES_ADMIN-rettigheder.

Oprettelse af et databaseskema med dens respektive bruger er det allerførste trin for at begynde at bruge MySQL som din databaseserver. De fleste applikationer, der bruger MySQL som datalager, kræver, at denne opgave udføres, før applikationen kan fungere efter hensigten. For at bruge med en applikation er en MySQL-bruger almindeligvis konfigureret til at have fulde privilegier (ALLE PRIVILEGIER) på skemaniveauet, hvilket betyder, at databasebrugeren, der bruges af applikationen, har frihed til at udføre enhver handling på den tildelte database.

I dette blogindlæg vil vi sammenligne og sammenligne MySQL-databasebrugerstyringsfunktioner mellem MySQL Workbench og ClusterControl.

MySQL Workbench - Database User Management

For MySQL Workbench kan du finde alle brugeradministrationstingene under Administration -> Management -> Bruger og privilegier. Du bør se en liste over eksisterende brugere i venstre side, mens der i højre side er godkendelses- og autorisationskonfigurationssektionen for den valgte bruger:

MySQL understøtter over 30 statiske privilegier, og det er ikke let at forstå og huske centeret. MySQL Workbench har en række forudindstillede administrative roller, hvilket er meget nyttigt, når man tildeler tilstrækkelige privilegier til en databasebruger. Hvis du f.eks. ønsker at oprette en MySQL-bruger specifikt til at udføre backup-aktiviteter ved hjælp af mysqldump, kan du vælge BackupAdmin-rollen, og de relaterede globale privilegier vil blive tildelt brugeren i overensstemmelse hermed:

For at oprette en ny databasebruger skal du klikke på knappen "Tilføj konto" og angiv de nødvendige oplysninger under fanen "Login". Du kan tilføje nogle flere ressourcebegrænsninger under fanen "Kontogrænse". Hvis brugeren kun er til et databaseskema og ikke er beregnet til nogen administrativ rolle (kun til applikationsbrug), kan du springe fanen "Administrative roller" over og blot konfigurere "Skemaprivilegier".

Under sektionen "Skemaprivilegier" kan man vælge et databaseskema (eller definere det matchende mønster) ved at klikke på "Tilføj post". Tryk derefter på knappen "Vælg ALLE" for at tillade alle rettigheder (undtagen GRANT OPTION), som ligner "ALL PRIVILEGES" indstillingserklæring:

Der oprettes ikke en databasebruger på MySQL-serveren, før du har ansøgt ændringerne ved at klikke på knappen "Anvend".

ClusterControl - Database- og proxybrugerstyring

ClusterControl database og brugerstyring er en smule mere ligetil, end hvad MySQL Workbench tilbyder. Mens MySQL Workbench er mere udviklervenlig, er ClusterControl fokuseret mere på, hvad SysAdmins og DBA'er er interesserede i, mere som almindelige administrationsting for dem, der allerede er fortrolige med MySQL-roller og -privilegier.

For at oprette en databasebruger skal du gå til Administrer -> Skemaer og brugere -> Brugere -> Opret ny bruger. Du vil blive præsenteret for følgende brugeroprettelsesguide:

Oprettelse af en bruger i ClusterControl kræver, at du udfylder alle nødvendige felter i ét side, i modsætning til MySQL Workbench, som involverede et antal klik for at opnå lignende resultater. ClusterControl understøtter også oprettelse af en bruger med "REQUIRE SSL"-syntaks for at tvinge den pågældende bruger til kun at få adgang via SSL-krypteringskanal.

ClusterControl giver en samlet visning af alle databasebrugere i en klynge, hvilket eliminerer dig fra at logge ind på hver enkelt server for at lede efter en bestemt bruger:

En simpel rollover på privilegieboksen afslører alle privilegier, der er blevet tildelt til denne bruger. ClusterControl giver også en liste over inaktive brugere, brugerkonti, der ikke er blevet brugt siden sidste servergenstart:

Ovenstående liste giver os en klar oversigt over, hvilke brugere der er værd at eksistere , hvilket giver os mulighed for at administrere brugeren mere effektivt. DBA'er kan derefter spørge udvikleren, om den inaktive databasebruger stadig er nødvendig for at være aktiv, ellers kan brugerkontoen låses eller slettes.

Hvis du har en ProxySQL-belastningsbalancer imellem, ved du måske, at ProxySQL har sin egen MySQL-brugeradministration, så den kan sendes igennem den. Der er en række forskellige indstillinger og variabler sammenlignet med de almindelige MySQL-brugerkonfigurationer, f.eks. standard værtsgruppe, standardskema, transaktionsvedholdenhed, fast forward og mange flere. ClusterControl giver en grafisk brugergrænseflade til at administrere ProxySQL-databasebrugere, hvilket forbedrer oplevelsen og effektiviteten ved at administrere dine proxy- og databasebrugere på én gang:

Når du opretter en ny databasebruger via ProxySQL-administrationssiden, vil ClusterControl automatisk oprette den tilsvarende bruger på både ProxySQL og MySQL. Men når du dropper en MySQL-bruger fra ProxySQL, forbliver den tilsvarende databasebruger på MySQL-serveren.

Fordele og ulemper

ClusterControl understøtter flere databaseleverandører, så du vil få en lignende brugeroplevelse, når du håndterer andre databaseservere. ClusterControl understøtter også oprettelse af en databasebruger på flere værter på én gang, hvor den vil sikre, at den oprettede bruger findes på alle databaseservere i klyngen. ClusterControl har en renere måde, når du noterer brugerkonti, hvor du kan se alle nødvendige oplysninger direkte på listesiden. Brugeradministration kræver dog aktivt abonnement og er ikke tilgængelig i fællesskabsudgaven. Det understøtter ikke alle platforme, som MySQL kan køre, især kun visse Linux-distributioner som CentOS, RHEL, Debian og Ubuntu.

Den største fordel ved MySQL Workbench er, at den er gratis og kan bruges sammen med skemastyring og administration. Det er bygget til at være mere venligt over for udviklere og DBA'er og har den fordel, at det er bygget og understøttet af Oracle-teamet, som ejer og vedligeholder MySQL-serveren. Det giver også meget klarere vejledning med beskrivelse af de fleste inputfelter, især i de kritiske dele som autentificering og privilegiestyring. Den forudindstillede administrative rolle er en smart måde at tildele et sæt privilegier til en bruger, baseret på det arbejde, brugeren skal udføre på serveren. På den negative side er MySQL Workbench ikke et klyngevenligt værktøj, da hver administrationsforbindelse er skræddersyet til én slutpunkt MySQL-server. Det giver således ikke et centraliseret overblik over alle brugere i klyngen. Det understøtter heller ikke oprettelse af brugere med SSL-håndhævelse.

Begge disse værktøjer understøtter ikke den nye MySQL 8.0 dynamiske privilegiesyntaks, f.eks. BACKUP_ADMIN, BINLOG_ADMIN, SYSTEM_VARIABLES_ADMIN osv.

Følgende tabel fremhæver bemærkelsesværdige funktioner for begge værktøjer til nem sammenligning:

Brugeradministrationsaspekt

MySQL Workbench

ClusterControl

Understøttet OS til MySQL-server

  • Linux

  • Windows

  • FreeBSD

  • Åbn Solaris

  • Mac OS

  • Linux (Debian, Ubuntu, RHEL, CentOS)

MySQL-leverandør

  • Oracle

  • Percona

  • Oracle

  • Percona

  • MariaDB

  • Codership

Understøtte brugeradministration for anden software

 
  • ProxySQL

Multi-host brugeradministration

Nej

Ja

Aggregeret visning af brugere i en databaseklynge

Nej

Ja

Vis inaktive brugere

Nej

Ja

Opret bruger med SSL

Nej

Ja

Privilegium og rollebeskrivelse

Ja

Nej

Forudindstillet administrativ rolle

Ja

Nej

MySQL 8.0 dynamiske privilegier

Nej

Nej

Omkostninger

Gratis

Abonnement påkrævet for administrationsfunktioner


Vi håber, at disse blogindlæg vil hjælpe dig med at bestemme, hvilke værktøjer der passer bedst til at administrere dine MySQL-databaser og -brugere.
  1. Introduktion til IRI Voracity (Total Data Management) [video]

  2. ERD-notationer i datamodellering

  3. Hvordan IKKE RLIKE virker i MariaDB

  4. Gem udvalgte forespørgslers output i ét array i postgres