martedì, Dicembre 3, 2024

Creare un utente MySQL 8 con accesso a tutti i database

Recentemente mi è stato chiesto di aggiungere una GUI del database MySQL per un client e mi sono imbattuto in un problema per cui il server del database non era configurato correttamente per accettare connessioni remote. Questo può essere un po’ complicato da realizzare, ma non è impossibile.

Ti guiderò attraverso il processo di configurazione di MySQL 8 in modo tale che non solo tu possa connetterti ad esso da remoto, ma puoi anche connetterti con un utente che ha pieno accesso a tutti i database. Capisci, questo può essere considerato un problema di sicurezza per alcune istanze, quindi vuoi essere assolutamente certo che non solo la tua LAN sia sicura ma stai usando password molto forti per gli utenti MySQL (cosa che dovresti comunque fare).

Detto questo, mettiamo in funzione questa configurazione.

Di cosa avrai bisogno

Per effettuare questa connessione, avrai bisogno di un’istanza in esecuzione di MySQL e di una macchina Linux per testare la connessione o di un numero qualsiasi di client MySQL che consentano la configurazione della connessione remota. Avrai anche bisogno di un utente sul server MySQL con privilegi sudo.

Questo è tutto. Facciamo un po’ di magia nel database.

Come configurare MySQL per connessioni remote

La prima cosa che dobbiamo fare è configurare MySQL per le connessioni remote. Per fare ciò, accedi al tuo server database MySQL e apri il file di configurazione con il comando:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

In quel file, cerca la riga:

bind-address = 127.0.0.1

Cambia quella riga in:

bind-address = 0.0.0.0

Salva e chiudi il file. Riavvia il servizio MySQL con:

sudo systemctl restart mysql

A questo punto MySQL è aperto per le connessioni remote, ma devi ancora creare un utente per l’accesso.

Come creare un utente per l’accesso remoto

Successivamente, dobbiamo creare un nuovo utente MySQL. Chiameremo questo utente root. Sì, esiste già un utente root, ma quell’utente è legato solo alle connessioni localhost. Innanzitutto, accediamo alla console MySQL (dal server che ospita MySQL) con il comando:

sudo mysql -u root -p

Una volta nella console MySQL, crea il nuovo utente e aggiungi GRANT OPTION (che dà all’utente la possibilità di concedere privilegi ad altri utenti) con il comando:

CREATE USER 'root'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

Dove PASSWORD è una password molto forte/unica.

Successivamente, concederemo al nuovo utente l’accesso a tutti i database:

GRANT ALL PRIVILEGES ON *.* to 'root'@'%';

Svuota i privilegi ed esci dalla console con:

FLUSH PRIVILEGES;
exit

Come testare la connessione

Ora possiamo testare la nostra connessione. Se hai accesso a un’altra macchina Linux con MySQL installato, puoi testare la connessione eseguendo il comando (sulla seconda macchina):

mysql -u root -h SERVER -p

Dove SERVER è l’indirizzo IP o il dominio del server di hosting MySQL. Quando viene richiesta la password, digita la password complessa che hai creato per il nuovo utente root. Ti dovrebbe essere concesso l’accesso alla console MySQL, dove puoi gestire qualsiasi database sul sistema.

Una volta che il sistema si è verificato correttamente, puoi quindi connetterti a quel server di database con uno strumento GUI come Beekeeper Studio . Con Beekeeper Studio, crea una nuova connessione, seleziona MySQL come tipo di connessione e compila i seguenti dettagli ( Figura A ):

  • Host: l’indirizzo IP o il dominio del tuo server MySQL.
  • Porta–3306
  • Utente-root
  • Password: la password impostata per l’utente root appena creato.
  • Database predefinito: digita il nome di uno dei tuoi database trovati sul server MySQL (che può essere elencato dalla console MySQL con la query SHOW DATABASES; )

Figura A

La finestra di connessione al database di Beekeeper Studio.
La finestra di connessione al database di Beekeeper Studio.

Dopo aver compilato i dettagli, fai clic su Test per assicurarti che la connessione funzioni (dovrebbe). Dopo aver ottenuto l’OK, assegna un nome alla connessione e fai clic su Salva. Infine, fai clic su Connetti e la GUI dovrebbe connettersi correttamente al tuo database remoto, dove puoi metterti al lavoro ( Figura B ).

Figura B

Beekeeper Studio si è connesso con successo a un database remoto.
Beekeeper Studio si è connesso con successo a un database remoto.

Congratulazioni, non solo hai configurato MySQL 8 per connessioni remote, hai creato un utente con accesso a tutti i database e connesso al server remoto sia con la riga di comando che con una GUI. È ora di indossare il cappello da amministratore di DB e mettersi al lavoro.

ARTICOLI COLLEGATI:

ULTIMI ARTICOLI: