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

Alternative a MySQL Workbench - Gestione della configurazione di ClusterControl

La gestione della configurazione di MySQL è costituita da due componenti principali:i file di configurazione di MySQL e la configurazione del runtime. L'applicazione delle modifiche alla configurazione nell'ambiente di runtime può essere eseguita tramite client del server MySQL senza privilegi per le variabili di sessione ma privilegi SUPER per le variabili globali. L'applicazione delle stesse modifiche alla configurazione nel file di configurazione di MySQL è necessaria anche per rendere persistenti le modifiche durante i riavvii di MySQL, altrimenti i valori predefiniti verranno caricati durante l'avvio.

In questo post del blog, esamineremo ClusterControl Configuration Management come alternativa alla gestione della configurazione di MySQL Workbench.

Gestione della configurazione di MySQL Workbench

MySQL Workbench è un client grafico per lavorare con server e database MySQL per le versioni server 5.xe successive. È disponibile gratuitamente e viene comunemente utilizzato da amministratori di sistema, DBA e sviluppatori per eseguire lo sviluppo SQL, la modellazione dei dati, l'amministrazione del server MySQL e la migrazione dei dati.

È possibile utilizzare MySQL Workbench per eseguire la gestione della configurazione MySQL/MariaDB su un server MySQL remoto. Tuttavia, sono necessari alcuni passaggi iniziali per abilitare questa funzione. Da MySQL Workbench, seleziona un profilo di connessione esistente e scegli Configure Remote Management. Ti verrà presentata una procedura guidata di configurazione passo dopo passo per aiutarti a configurare la gestione remota per il profilo di connessione:

All'inizio viene effettuato un tentativo di connessione per determinare la versione del server e sistema operativo della macchina di destinazione. Ciò consente di convalidare le impostazioni di connessione e consente alla procedura guidata di selezionare una preimpostazione di configurazione significativa. Se questo tentativo fallisce, puoi continuare con il passaggio successivo, dove puoi personalizzare ulteriormente le impostazioni per adattarle all'ambiente del server remoto.

Una volta completata la configurazione della connessione remota, fai doppio clic sul profilo di connessione per avviare la connessione all'istanza MySQL. Quindi, vai su Istanza -> File delle opzioni per aprire la sezione del gestore di configurazione. Dovresti vedere qualcosa di simile al seguente screenshot:

Tutte le variabili di configurazione esistenti dal file di configurazione sono precaricate in questa configurazione manager in modo da poter vedere quali opzioni sono state abilitate con i rispettivi valori. Le configurazioni sono classificate in una serie di sezioni - Generale, registrazione, InnoDB, networking e così via - il che ci aiuta davvero a concentrarci su funzionalità specifiche che vogliamo modificare o abilitare.

Una volta che sei soddisfatto delle modifiche e prima di fare clic su "Applica", assicurati di scegliere la sezione del gruppo MySQL corretta dal menu a discesa (proprio accanto al pulsante Elimina). Una volta applicata, dovresti vedere che la configurazione è applicata al server MySQL dove apparirà una nuova riga (se non esisteva) nel file di configurazione MySQL.

Si noti che facendo clic sul pulsante "Applica" non verrà applicata la modifica corrispondente al runtime di MySQL. È necessario eseguire l'operazione di riavvio sul server MySQL per caricare le nuove modifiche alla configurazione andando su Istanza -> Avvio/Arresto. Ciò avrà un impatto sul tempo di attività del tuo database.

Per vedere tutti gli stati e le variabili del sistema caricati, vai su Gestione -> Stato e variabili di sistema:

Gestione della configurazione di ClusterControl

È possibile accedere a Gestore configurazione ClusterControl in Gestisci -> Configurazioni. ClusterControl estrae una serie di importanti file di configurazione e li visualizza in una struttura ad albero. Una visualizzazione centralizzata di questi file è fondamentale per comprendere e risolvere in modo efficiente le configurazioni di database distribuiti. La schermata seguente mostra il file manager di configurazione di ClusterControl che elenca tutti i file di configurazione correlati per questo cluster in un'unica vista con l'evidenziazione della sintassi:

Come puoi vedere dallo screenshot sopra, ClusterControl comprende MySQL "!include " e seguirà tutti i file di configurazione ad esso associati. Ad esempio, ci sono due file di configurazione MySQL estratti dall'host 192.168.0.21, /etc/my.cnf e /etc/my.cnf.d/secrets-backup.cnf. Puoi aprire più file di configurazione in un'altra scheda dell'editor che semplifica il confronto del contenuto fianco a fianco. ClusterControl estrae anche le informazioni sull'ultima modifica del file dal timestamp del sistema operativo, come mostrato in basso a destra nell'editor di testo.

ClusterControl elimina la ripetitività durante la modifica di un'opzione di configurazione di un cluster di database. La modifica di un'opzione di configurazione su più nodi può essere eseguita tramite un'unica interfaccia e verrà applicata di conseguenza al nodo del database. Quando fai clic su "Modifica/Imposta parametro", puoi selezionare le istanze del database che desideri modificare e specificare il gruppo di configurazione, il parametro e il valore:

Puoi aggiungere un nuovo parametro nel file di configurazione o modificare un parametro esistente . Il parametro verrà applicato al runtime dei nodi del database scelti e nel file di configurazione se l'opzione supera il processo di convalida delle variabili. Alcune variabili potrebbero richiedere un passaggio successivo come il riavvio del server o il ricaricamento della configurazione, che verrà quindi consigliato da ClusterControl.

Tutti i servizi configurati da ClusterControl utilizzano un modello di configurazione di base disponibile in /usr/share/cmon/templates sul nodo ClusterControl. Puoi modificare direttamente il file per adattarlo alla tua politica di distribuzione, tuttavia questa directory verrà sostituita dopo un aggiornamento del pacchetto. Per assicurarti che i file del modello di configurazione personalizzato persistano durante gli aggiornamenti, archivia i file del modello nella directory /etc/cmon/templates. Quando ClusterControl carica il file modello per la distribuzione, i file in /etc/cmon/templates avranno sempre una priorità maggiore rispetto ai file in /usr/share/cmon/templates. Se esistono due file con nomi identici in entrambe le directory, verrà utilizzato quello che si trova in /etc/cmon/templates.

Vai a Prestazioni -> Variabili DB per controllare la configurazione di runtime per tutti i server nel cluster:

Noti una linea evidenziata in rosso nello screenshot qui sopra? Ciò significa che la configurazione non è identica in tutti i nodi. Ciò fornisce maggiore visibilità sulla differenza di configurazione tra gli host in un particolare cluster di database.

Workbench v ClusterControl:vantaggi e svantaggi

Ogni prodotto ha la sua serie di vantaggi e svantaggi. Per ClusterControl, poiché comprende cluster e topologia, è il miglior gestore di configurazione per gestire più nodi di database contemporaneamente. Supporta più fornitori di MySQL come MariaDB, Percona e tutte le varianti di Galera Cluster. Comprende anche il formato di configurazione del sistema di bilanciamento del carico del database per HAProxy, MariaDB MaxScale, ProxySQL e Keepalived. Poiché ClusterControl richiede una configurazione SSH senza password all'inizio dell'importazione/distribuzione del cluster, la gestione della configurazione non richiede alcuna configurazione remota come Workbench e funziona immediatamente dopo che gli host sono stati gestiti da ClusterControl. Le modifiche alla configurazione MySQL eseguite da ClusterControl verranno caricate automaticamente nel runtime (per tutte le variabili supportate) e scritte nei file di configurazione MySQL per la persistenza. In termini di svantaggi, la gestione della configurazione di ClusterControl non include descrizioni di configurazione che potrebbero aiutarci ad anticipare cosa accadrebbe se cambiassimo l'opzione di configurazione. Non supporta tutte le piattaforme che MySQL può eseguire, in particolare solo alcune distribuzioni Linux come CentOS, RHEL, Debian e Ubuntu.

MySQL Workbench supporta la gestione remota di molti sistemi operativi come Windows, FreeBSD, MacOS, Open Solaris e Linux. MySQL Workbench è disponibile gratuitamente e può essere utilizzato anche con altri fornitori di MySQL come Percona e MariaDB (nonostante non sia elencato qui, funziona con alcune versioni precedenti di MariaDB). Supporta anche la gestione dell'installazione dal bundle TAR. Consente alcune personalizzazioni sul percorso del file di configurazione, sui comandi di servizio/arresto e sulla denominazione delle sezioni del gruppo MySQL. Una delle caratteristiche interessanti è che MySQL Workbench utilizza il menu a discesa per i valori fissi, il che può essere di grande aiuto nel ridurre il rischio di configurazione errata da parte di un utente, come mostrato nella schermata seguente:

Sul lato negativo, MySQL Workbench non supporta la gestione della configurazione di più host in cui tu è necessario eseguire la modifica della configurazione su ogni host separatamente. Inoltre, non esegue il push delle modifiche alla configurazione in runtime, senza il riavvio esplicito di MySQL che può compromettere il tempo di attività del servizio database.

La tabella seguente semplifica le differenze significative tratte da tutti i punti citati:

Aspetto configurazione

MySQL Workbench

Controllo cluster

OS supportato per server MySQL

  • Linux
  • Finestre
  • FreeBSD
  • Apri Solaris
  • Mac OS
  • Linux (Debian, Ubuntu, RHEL, CentOS)

Fornitore MySQL

  • Oracolo
  • Percona
  • Oracolo
  • Percona
  • MariaDB
  • Codership

Supporta altri software

 
  • HAProxy
  • ProxySQL
  • MariaDB MaxScale
  • Mantenere in vita

Configurazione/Descrizione variabile

No

Evidenziazione della sintassi del file di configurazione

No

Valori di configurazione a discesa

No

Configurazione multi-host

No

Inserimento automatico della configurazione in runtime

No

Modello di configurazione

No

Costo

Gratuito

Abbonamento richiesto per la gestione della configurazione

Ci auguriamo che questo post sul blog ti aiuti a determinare quale strumento è adatto per gestire le configurazioni dei tuoi server MySQL. Puoi anche provare il nostro nuovo strumento di gestione dei file di configurazione (attualmente in versione alpha)