Configurare MySQL per accettare connessioni remote: differenze tra le versioni
Nessun oggetto della modifica |
mNessun oggetto della modifica |
||
(11 versioni intermedie di 4 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili|Squeeze|Wheezy}} | |||
== Introduzione == | |||
La versione pacchettizzata di MySQL Server 5 per Linux Debian Etch/Lenny ha, per ragioni di sicurezza, una caratteristica molto restrittiva: non accetta connessioni sulla porta 3306 (la porta a cui risponde MySQL) se non da localhost. Questo può essere un problema se vogliamo o dobbiamo tenere due macchine separate per un'applicazione (o sito) ed il relativo database. | |||
La versione pacchettizzata di MySQL Server 5 per Linux Debian Etch/Lenny ha, per ragioni di sicurezza, una caratteristica molto restrittiva: non accetta connessioni sulla porta 3306 (la porta a cui risponde MySQL) se non da localhost. Questo può essere un problema se vogliamo o dobbiamo tenere due macchine separate per | == Modifica di My.cnf == | ||
=Modifica di My.cnf= | La soluzione, per fortuna, è molto semplice. Bisogna semplicemente aprire il file di configurazione di MySQL, <code>'''/etc/mysql/my.cnf'''</code> e commentare la riga: | ||
La soluzione, per fortuna, è molto semplice. Bisogna semplicemente aprire il file di configurazione di MySQL, < | |||
<pre> | <pre> | ||
bind-address = 127.0.0.1 | bind-address = 127.0.0.1 | ||
</pre> | </pre> | ||
=Abilitare gli utenti remoti= | Oppure, se intendiamo permettere l'accesso a MySQL solo da un indirizzo specifico o da una rete specifica, possiamo sostituirla con la riga: | ||
<pre> | |||
bind-address = 172.16.96.236 | |||
</pre> | |||
== Abilitare gli utenti remoti == | |||
A questo punto dobbiamo abilitare uno o più utenti per poter connettersi in remoto su un particolare database utilizzando l’istruzione SQL GRANT: | A questo punto dobbiamo abilitare uno o più utenti per poter connettersi in remoto su un particolare database utilizzando l’istruzione SQL GRANT: | ||
<pre> | <pre> | ||
GRANT ALL privileges ON testDB.* TO 'testUSER'@'Indirizzo_IP' IDENTIFIED BY 'testPassword'; | GRANT ALL privileges ON testDB.* TO 'testUSER'@'Indirizzo_IP' IDENTIFIED BY 'testPassword'; | ||
</pre> | </pre> | ||
In questo modo abbiamo abilitato l'utente testUSER a connettersi da remoto al database di nome testDB. La coppia di variabili < | In questo modo abbiamo abilitato l'utente testUSER a connettersi da remoto al database di nome testDB. La coppia di variabili <code>'''testUSER - Indirizzo_IP'''</code> può assumere i seguenti valori, a seconda del tipo di connessione che vogliamo permettere: | ||
* < | * <code>'testUSER'@'nomepc.dominio.com'</code> : l'utente testUSER può connettersi dal PC di nome nomepc.dominio.com | ||
* < | * <code>'testUSER'@'%.dominio.com'</code> : l'utente testUSER può connettersi da ogni PC del dominio | ||
* < | * <code>'testUSER'@'192.168.1.199'</code> : l'utente testUSER può connettersi dal PC di indirizzo 192.168.1.199 | ||
* < | * <code>'testUSER'@'192.168.1.%'</code> : l'utente testUSER può connettersi da ogni PC della rete di classe C 192.168.1.0 | ||
* < | * <code>'testUSER'@'192.168.1.0/255.255.255.0'</code> : come l'esempio precedente | ||
* < | * <code>'testUSER'@'%'</code> : l'utente testUSER può connettersi da ogni PC | ||
Ovviamente sia l'utente < | Ovviamente sia l'utente <code>testUSER</code> sia il database <code>testDB</code> devono essere stati preventivamente creati e configurati tramite mysql> o tramite phpMyAdmin. | ||
=Riavvio di MySQL= | == Riavvio di MySQL == | ||
Come ultima cosa dobbiamo dire a MySQL di ricaricare le informazioni sui privilegi di connessione e utilizzo attraverso il comando: | Come ultima cosa dobbiamo dire a MySQL di ricaricare le informazioni sui privilegi di connessione e utilizzo attraverso il comando: | ||
<pre> | <pre> | ||
Riga 33: | Riga 37: | ||
/etc/init.d/mysql restart | /etc/init.d/mysql restart | ||
</pre> | </pre> | ||
=Per approfondimenti | == Per approfondimenti == | ||
[[Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5]]<br> | [[Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5]]<br> | ||
[[Backup di MySQL tramite script]]<br> | [[Backup di MySQL tramite script]]<br> | ||
[[Configurare MySQL per accettare connessioni remote]]<br> | [[Configurare MySQL per accettare connessioni remote]]<br> | ||
{{Autori | |||
|Autore = [[Utente:Ferdybassi|Ferdybassi]] | |||
}} | |||
[[Categoria: | |||
[[Categoria:Database server]] |
Versione attuale delle 16:18, 27 mag 2015
Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.
Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione. |
Versioni Compatibili Debian 6 "squeeze" Debian 7 "wheezy" |
Introduzione
La versione pacchettizzata di MySQL Server 5 per Linux Debian Etch/Lenny ha, per ragioni di sicurezza, una caratteristica molto restrittiva: non accetta connessioni sulla porta 3306 (la porta a cui risponde MySQL) se non da localhost. Questo può essere un problema se vogliamo o dobbiamo tenere due macchine separate per un'applicazione (o sito) ed il relativo database.
Modifica di My.cnf
La soluzione, per fortuna, è molto semplice. Bisogna semplicemente aprire il file di configurazione di MySQL, /etc/mysql/my.cnf
e commentare la riga:
bind-address = 127.0.0.1
Oppure, se intendiamo permettere l'accesso a MySQL solo da un indirizzo specifico o da una rete specifica, possiamo sostituirla con la riga:
bind-address = 172.16.96.236
Abilitare gli utenti remoti
A questo punto dobbiamo abilitare uno o più utenti per poter connettersi in remoto su un particolare database utilizzando l’istruzione SQL GRANT:
GRANT ALL privileges ON testDB.* TO 'testUSER'@'Indirizzo_IP' IDENTIFIED BY 'testPassword';
In questo modo abbiamo abilitato l'utente testUSER a connettersi da remoto al database di nome testDB. La coppia di variabili testUSER - Indirizzo_IP
può assumere i seguenti valori, a seconda del tipo di connessione che vogliamo permettere:
'testUSER'@'nomepc.dominio.com'
: l'utente testUSER può connettersi dal PC di nome nomepc.dominio.com'testUSER'@'%.dominio.com'
: l'utente testUSER può connettersi da ogni PC del dominio'testUSER'@'192.168.1.199'
: l'utente testUSER può connettersi dal PC di indirizzo 192.168.1.199'testUSER'@'192.168.1.%'
: l'utente testUSER può connettersi da ogni PC della rete di classe C 192.168.1.0'testUSER'@'192.168.1.0/255.255.255.0'
: come l'esempio precedente'testUSER'@'%'
: l'utente testUSER può connettersi da ogni PC
Ovviamente sia l'utente testUSER
sia il database testDB
devono essere stati preventivamente creati e configurati tramite mysql> o tramite phpMyAdmin.
Riavvio di MySQL
Come ultima cosa dobbiamo dire a MySQL di ricaricare le informazioni sui privilegi di connessione e utilizzo attraverso il comando:
FLUSH PRIVILEGES;
Un riavvio del server MySQL completerà l'opera:
/etc/init.d/mysql restart
Per approfondimenti
Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5
Backup di MySQL tramite script
Configurare MySQL per accettare connessioni remote
Guida scritta da: Ferdybassi | Debianized 20% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |