Autore Topic: Connessione Mysql in rete  (Letto 9942 volte)

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Connessione Mysql in rete
« il: 14 Ottobre 2009, 15:50:48 »
Ciao, adesso che ho "quasi" finito il mio progetto "Gestione" basato sul DB mysql comincio a preoccuparmi per il collegamento tra più pc.
So che posso anche collegarami da remoto, ho consultato molte guide (che mi mandano proprio in palla :-? ) ma avrei bisogno proprio delle basi, cioè cosa fare e perchè farlo. Le reti sono stati sempre un argomento ostico per me, pensate che con windows dovevo chiamare un tecnico per farmi andare internet o per connettermi con 2 pc..
Volevo fare un passo alla volta.
Intanto se qualcuno sà spiegarmi come condividere mysql su 2 pc che hanno in comune un router adsl.
Grazie

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Connessione Mysql in rete
« Risposta #1 il: 15 Ottobre 2009, 14:35:07 »
Dirla così su due piedi è abbastanza complicato.

Direi che per prima cosa di leggere la documentazione sul sito MySQL.

Ad ogni modo, si basa quasi tutto sul file my.cnf che si trova nella directory /etc.

Ci sono, però, due fattori da considerare:

1) l'applicazione risiede solo su un pc, e gli utenti vi accedono tramite front-end web:
2) l'applicazione è distribuita sui client, e quindi bisogna rendere il database accessibile all'esterno.

Punto primo!
Nel primo caso, la gestione viene fatta esclusivamente sull'accesso all'applicazione sul server, e il database è collegato ad essa tramite collegamento locale, oppure, tramite collegamento protetto verso il server (o pc) su cui risiede il database.
Nel secondo caso, tenendo ben presente che questo dà una possibilità di attacco, è necessario rendere disponibile all'esterno la porta di accesso al database. Tramite la configurazione di MySQL è possibile fare questa operazione ma, oltre a questo, bisogna anche occuparsi del firewall del sistema che, anche questo, deve essere configurato per l'accesso alla porta MySQL (che di solito è la 3306).

Punto secondo!
Nel primo caso, gli accessi possono essere controllati, sia a livello di applicazione, sia a livello di accesso alla macchina.
Nel secondo caso, gli accessi devono essere configurati, sia a livello di macchina, sia a livello di database, ma, anche a livello applicazione, anche se quest'ultimo è di bassa importanza.

Terzo e ultimo punto!
In ogni caso è necessario leggere attentamente la documentazione del firewall e di MySQL, perchè per tutte le modalità è necessario mettere le mani su tutte e due le logiche.

Una volta letta la doc, potrai porre domande più specifiche, a cui potremo dare risposte mirate. La domanda che hai posto è troppo generica per affrontarla in un forum.

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Connessione Mysql in rete
« Risposta #2 il: 15 Ottobre 2009, 22:27:08 »
Ciao, grazie dell'attenzione.
La notte scorsa mi sono documentato per benino  :-x
Ho cominciato a vederci più chiaro, però dopo aver provato non sono ancora riuscito.. Comunque mi riguardo un'altro pò dove posso sbagliare e dopo ti chiedo nello specifico. Intanto comunque voglio solo collegare un client collegato da lan, il resto lo vedrò dopo. intanto stasera vado a nanna...la nottata di ieri sera mi ha sfinito :sonno:
Ciao grazie

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Connessione Mysql in rete
« Risposta #3 il: 18 Ottobre 2009, 00:30:18 »
:ok: Ci sono riuscito!!
Intanto mi va benissimo collegarmi da lan. Quando sarà il momento per il remoto studierò ancora :-)
Consultando varie guide ci sono riuscito, allora mi sono scritto (modificato) una piccola guida, che metto quà sotto se può servire a qualcuno)

Citazione

Guida per connetere mysql in locale
Guida di spunto: http://www.ideaglu.net/?p=210
Da terminale:
Installo Mysql nella macchina che voglio fare da server
$: sudo apt-get install mysql-server mysql-server-5.0
in fase di installazione verrà chiesto di impostare la password di root per accedere e gestire MySQL. Appena si è terminato di impostare la password (PASSWORD DEL SERVER) di accesso stoppiamo il demone mysql e configuriamo il file di configurazione.
$: sudo /etc/init.d/mysql stop
Aprire il file
sudo gedit /etc/mysql/my.cnf
dunque cercare al suo interno una riga simile alla seguente:
bind_address = 127.0.0.1
e al suo posto inserite l’indirizzo IP del server MySQL. Esempio “ bind_address = 192.168.345.1” A questo punto riavviamo il servizio
$: sudo /etc/init.d/mysql start
sempre da terminale ci connettiamo a Mysql
$: sudo mysql -u root -p
inserite la pwd di root per la gestione del db. Una volta connessi a mysql creiamo un database al quale permetteremo ad un utente di modificare i dati contenuti nelle tabelle con gli opportuni privilegi. Per fare questo creiamo prima un db con le tabelle ed i campi e poi un utente
mysql> create database nuovodatabase;
mysql> use nuovodatabase;
mysql> create table nuovotable (a int, b int);
mysql> grant all on nuovodatabase.* to antonio@192.168.345.2 identifield by 'passworddelclient';
Attenzione: nel nostro caso (grant all) diamo all'utente del client tutte le possibilità di agire sl database: Aggiungere, eliminare, modificare etcc
Utente: “antonio@ 192.168.345.2” antonio sarà il nome utente(USERNAME) 192.168.345.2 è l'indirizzo ip della macchina client
da questo momento il server MySQL sarà funzionale e sarà pronto per essere popolato con i dati.
Prova connessione macchina server macchina server con MySQL Administrator:
SERVER HOSTNAME = localhost
USERNAME =root
PASSWORD=”password del server”
PORT=3306

 Adesso passiamo alla parte client
 Iniziamo installando i pacchetti che ci servono per effettuare tutti i vari step, i pacchetti si installano da terminale
$: sudo apt-get install mysql-client mysql-client-5.0 mysql-doc-5.0 mysql-admin mysql-gui-tools-common mysql-query-browser
Prova connessione macchina server macchina client con MySQL Administrator:
SERVER HOSTNAME =  192.168.345.1
USERNAME =antonio
PASSWORD=”passworddelclient”
PORT=3306



Grazie

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Connessione Mysql in rete
« Risposta #4 il: 18 Ottobre 2009, 12:15:05 »
Potresti "convertire" la tua guida in un pdf e postarla in area download....avrebbe più visibilità....

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Connessione Mysql in rete
« Risposta #5 il: 18 Ottobre 2009, 14:17:16 »
Si ok buona idea

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Connessione Mysql in rete
« Risposta #6 il: 18 Ottobre 2009, 14:42:59 »
Spedito!