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

Alternative a MySQL Workbench - Gestione utenti del database ClusterControl

La gestione degli utenti e dei privilegi MySQL è molto importante per l'autenticazione, l'autorizzazione e l'accounting. A partire da MySQL 8.0, ora ci sono due tipi di privilegi utente del database:

  1. Privilegi statici:i privilegi globali, dello schema e amministrativi comuni come SELECT, ALTER, SUPER e USAGE, integrati nel server.
  2. Privilegi dinamici - Novità in MySQL 8.0. Un componente che può essere registrato e annullato in fase di esecuzione che fornisce un migliore controllo sui privilegi globali. Ad esempio, invece di assegnare il privilegio SUPER solo per scopi di gestione della configurazione, è meglio concedere a quel particolare utente solo il privilegio SYSTEM_VARIABLES_ADMIN.

La creazione di uno schema di database con il rispettivo utente è il primo passo per iniziare a utilizzare MySQL come server di database. La maggior parte delle applicazioni che utilizzano MySQL come archivio dati richiedono che questa attività venga eseguita prima che l'applicazione possa funzionare come previsto. Per l'utilizzo con un'applicazione, comunemente un utente MySQL è configurato per avere privilegi completi (TUTTI I PRIVILEGI) a livello di schema, il che significa che l'utente del database utilizzato dall'applicazione ha la libertà di eseguire qualsiasi azione sul database assegnato.

In questo post del blog, confronteremo e confronteremo le funzionalità di gestione degli utenti del database MySQL tra MySQL Workbench e ClusterControl.

MySQL Workbench - Gestione utenti database

Per MySQL Workbench, puoi trovare tutte le informazioni sulla gestione degli utenti in Amministrazione -> Gestione -> Utente e privilegi. Dovresti vedere un elenco di utenti esistenti sul lato sinistro mentre sul lato destro c'è la sezione di configurazione dell'autenticazione e dell'autorizzazione per l'utente selezionato:

MySQL supporta oltre 30 privilegi statici e non è facile da capire e ricordare il centro commerciale. MySQL Workbench ha una serie di ruoli amministrativi preimpostati, molto utili quando si assegnano privilegi sufficienti a un utente del database. Ad esempio, se desideri creare un utente MySQL specifico per eseguire attività di backup utilizzando mysqldump, puoi scegliere il ruolo BackupAdmin e i relativi privilegi globali verranno assegnati all'utente di conseguenza:

Per creare un nuovo utente del database, fare clic sul pulsante "Aggiungi account" e fornire le informazioni necessarie nella scheda "Login". Puoi aggiungere altre restrizioni sulle risorse nella scheda "Limite account". Se l'utente è solo per uno schema di database e non è destinato ad alcun ruolo amministrativo (rigorosamente per l'utilizzo dell'applicazione), è possibile saltare la scheda "Ruoli amministrativi" e configurare semplicemente i "privilegi dello schema".

Nella sezione "Schema Privilegi", è possibile selezionare uno schema di database (o definire il modello di corrispondenza) facendo clic su "Aggiungi voce". Quindi, premi il pulsante "Seleziona TUTTO" per consentire tutti i diritti (tranne GRANT OPTION) che è simile alla dichiarazione dell'opzione "TUTTI I PRIVILEGI":

Un utente del database non verrà creato nel server MySQL finché non avrai applicato le modifiche, cliccando sul pulsante "Applica".

ClusterControl - Gestione utenti database e proxy

Il database ClusterControl e la gestione degli utenti sono un po' più semplici di quanto offre MySQL Workbench. Sebbene MySQL Workbench sia più intuitivo per gli sviluppatori, ClusterControl si concentra maggiormente su ciò che interessa ai SysAdmin e ai DBA, più come cose di amministrazione comuni per coloro che hanno già familiarità con i ruoli e i privilegi di MySQL.

Per creare un utente del database, vai su Gestisci -> Schemi e utenti -> Utenti -> Crea nuovo utente. Ti verrà presentata la seguente procedura guidata per la creazione di utenti:

La creazione di un utente in ClusterControl richiede di compilare tutti i campi necessari in uno pagina, a differenza di MySQL Workbench che prevedeva una serie di clic per ottenere risultati simili. ClusterControl supporta anche la creazione di un utente con la sintassi "REQUIRE SSL", per imporre a un determinato utente di accedere solo tramite il canale di crittografia SSL.

ClusterControl fornisce una vista aggregata su tutti gli utenti del database in un cluster, eliminando la necessità di accedere a ogni singolo server per cercare un particolare utente:

Un semplice rollover nella casella dei privilegi rivela tutti i privilegi che sono stati assegnati a questo utente. ClusterControl fornisce anche un elenco di utenti inattivi, account utente che non sono stati utilizzati dall'ultimo riavvio del server:

L'elenco sopra ci fornisce un chiaro riepilogo di quali utenti valgono la pena di esistere , consentendoci di gestire l'utente in modo più efficiente. I DBA possono quindi chiedere allo sviluppatore se l'utente del database inattivo è ancora necessario per essere attivo, altrimenti l'account utente può essere bloccato o abbandonato.

Se hai un sistema di bilanciamento del carico ProxySQL in mezzo, potresti sapere che ProxySQL ha la propria gestione degli utenti MySQL per consentirne il passaggio. Esistono diverse impostazioni e variabili rispetto alle comuni configurazioni utente di MySQL, ad esempio gruppo host predefinito, schema predefinito, persistenza della transazione, avanzamento rapido e molti altri. ClusterControl fornisce un'interfaccia utente grafica per la gestione degli utenti del database ProxySQL, migliorando l'esperienza e l'efficienza della gestione del proxy e degli utenti del database contemporaneamente:

Quando si crea un nuovo utente del database tramite la pagina di gestione di ProxySQL, ClusterControl creerà automaticamente l'utente corrispondente sia su ProxySQL che su MySQL. Tuttavia, quando si elimina un utente MySQL da ProxySQL, l'utente del database corrispondente rimarrà sul server MySQL.

Vantaggi e svantaggi

ClusterControl supporta più fornitori di database in modo da ottenere un'esperienza utente simile con altri server di database. ClusterControl supporta anche la creazione di un utente di database su più host contemporaneamente, in cui si assicurerà che l'utente creato esista su tutti i server di database nel cluster. ClusterControl ha un modo più semplice per elencare gli account utente, dove puoi vedere tutte le informazioni necessarie direttamente nella pagina di elenco. Tuttavia, la gestione degli utenti richiede un abbonamento attivo e non è disponibile nell'edizione community. Non supporta tutte le piattaforme che MySQL può eseguire, in particolare solo alcune distribuzioni Linux come CentOS, RHEL, Debian e Ubuntu.

Il principale vantaggio di MySQL Workbench è che è gratuito e può essere utilizzato insieme alla gestione e all'amministrazione degli schemi. È progettato per essere più intuitivo per sviluppatori e DBA e ha il vantaggio di essere creato e supportato dal team Oracle, che possiede e gestisce il server MySQL. Fornisce inoltre una guida molto più chiara con una descrizione sulla maggior parte dei campi di input, specialmente nelle parti critiche come l'autenticazione e la gestione dei privilegi. Il ruolo amministrativo predefinito è un modo preciso per concedere una serie di privilegi a un utente, in base al lavoro che l'utente deve svolgere sul server. Sul lato negativo, MySQL Workbench non è uno strumento adatto ai cluster poiché ogni connessione di gestione è personalizzata per un server MySQL endpoint. Pertanto, non fornisce una visualizzazione centralizzata di tutti gli utenti nel cluster. Inoltre, non supporta la creazione di utenti con l'applicazione SSL.

Entrambi questi strumenti non supportano la nuova sintassi dei privilegi dinamici MySQL 8.0, ad esempio BACKUP_ADMIN, BINLOG_ADMIN, SYSTEM_VARIABLES_ADMIN, ecc.

La tabella seguente evidenzia caratteristiche degne di nota per entrambi gli strumenti per un facile confronto:

Aspetto gestione utenti

MySQL Workbench

Controllo cluster

OS supportato per server MySQL

  • Linux

  • Windows

  • FreeBSD

  • Apri Solaris

  • Mac OS

  • Linux (Debian, Ubuntu, RHEL, CentOS)

Fornitore MySQL

  • Oracle

  • Percona

  • Oracle

  • Percona

  • MariaDB

  • Codership

Supporta la gestione degli utenti per altri software

 
  • ProxySQL

Gestione utenti multi-host

No

Vista aggregata degli utenti in un cluster di database

No

Mostra utenti inattivi

No

Crea utente con SSL

No

Privilegio e descrizione del ruolo

No

Ruolo amministrativo predefinito

No

privilegi dinamici MySQL 8.0

No

No

Costo

Gratuito

Abbonamento richiesto per le funzioni di gestione


Ci auguriamo che questi post del blog ti aiutino a determinare quali strumenti sono più adatti per gestire i database e gli utenti MySQL.