Configurare MySQL per accettare connessioni remote: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
{{Versioni compatibili|Debian Etch 4.0<br/>Debian Lenny 5.0<br/>Debian Squeeze<br/>Debian Sid|}}
{{Versioni compatibili|Debian Etch 4.0<br/>Debian Lenny 5.0<br/>Debian Squeeze<br/>Debian Sid|}}
=Introduzione=
=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 un'applicazione (o sito) ed il relativo database.
=Modifica di My.cnf=
=Modifica di My.cnf=
La soluzione, per fortuna, è molto semplice. Bisogna semplicemente aprire il file di configurazione di MySQL, <tt>'''/etc/mysql/my.cnf'''</tt> e commentare la riga:
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:
<pre>
<pre>
bind-address = 127.0.0.1
bind-address = 127.0.0.1
Riga 12: Riga 12:
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 <tt>'''testUSER - Indirizzo_IP'''</tt> può assumere i seguenti valori, a seconda del tipo di connessione che vogliamo permettere:
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:


* <tt>'testUSER'@'nomepc.dominio.com'</tt> : l'utente testUSER può connettersi dal pc di nome nomepc.dominio.com
* <code>'testUSER'@'nomepc.dominio.com'</code> : l'utente testUSER può connettersi dal PC di nome nomepc.dominio.com
* <tt>'testUSER'@'%.dominio.com'</tt> : l'utente testUSER può connettersi da ogni PC del dominio
* <code>'testUSER'@'%.dominio.com'</code> : l'utente testUSER può connettersi da ogni PC del dominio
* <tt>'testUSER'@'192.168.1.199'</tt> : l'utente testUSER può connettersi dal pc di indirizzo 192.168.1.199
* <code>'testUSER'@'192.168.1.199'</code> : l'utente testUSER può connettersi dal PC di indirizzo 192.168.1.199
* <tt>'testUSER'@'192.168.1.%'</tt> : l'utente testUSER può connettersi da ogni PC della rete di classe C 192.168.1.0
* <code>'testUSER'@'192.168.1.%'</code> : l'utente testUSER può connettersi da ogni PC della rete di classe C 192.168.1.0
* <tt>'testUSER'@'192.168.1.0/255.255.255.0'</tt> : come l'esempio precedente
* <code>'testUSER'@'192.168.1.0/255.255.255.0'</code> : come l'esempio precedente
* <tt>'testUSER'@'%'</tt> : l'utente testUSER può connettersi da ogni PC
* <code>'testUSER'@'%'</code> : l'utente testUSER può connettersi da ogni PC


Ovviamente sia l'utente <tt>testUSER</tt> sia il database <tt>testDB</tt> devono essere stati preventivamente creati e configurati tramite mysql> o tramite phpMyAdmin.
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=
6 999

contributi

Menu di navigazione