|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
[vb6 e mysql] connessione non localhost
Mi sapreste dare un suggerimento su come effettuare questa cosa?
Vorrei mettere mysql su un pc indipendente, per tutti i db che ormai uso, e fare in modo che ad esempio dalle applicazioni di vb presenti su un altro pc, possa collegarmi a questi database. Fino ad ora, il server mysql e il programma giravano sulla stessa macchina. Ora invece vorrei fare in modo che mysql giri appunto su un pc indipendente. Come posso fare? Link, suggerimenti, dritte, qualsiasi cosa. Thx. RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Nel dare un piccolo up, vi indico come sto procedendo:
Codice:
Private Sub cmdOK_Click() 'Verifica la validità della password If Combo1.Text <> "" And txtPassword = "*******" Then LoginSucceeded = True Set cn = New ADODB.Connection Set rs = New ADODB.Recordset With cn .ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" & "SERVER=127.0.0.1;" & "DATABASE=Rubrica;" & "UID=root;" .CursorLocation = adUseClient .Open End With ssql = "" ssql = ssql & "INSERT INTO ulog(user, loggin)" ssql = ssql & "VALUES ( ' " & Combo1.Text & " ', ' " & Now & " ')" Set rs = cn.Execute(ssql) Inserimenti.Show Else MsgBox "Nome utente o password non corretti. Riprovare o terminare il programma.", , "Accesso" txtPassword.SetFocus SendKeys "{Home}+{End}" End If End Sub ![]() 1) Funziona se sono in localhost, ma, dato che ho messo mysql su un altro pc, vorrei condividere questo db in rete tramite il server mysql. 2) Nel combo box, ho messo i nomi degli utenti, che con questo codice, vengono memorizzati in una tabella del db ("ulog") che mi dice chi si collega e a che ora. Questo però, tramite vb, ma so che mysql può gestire in maniera più efficiente i log. Mi aiutate? Thx. RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Basta cambiare l'indirizzo con quello della nuova macchina e metterlo al posto di 127.0.0.1...
Ovviamente non dovresti entrare come root, ma con MySQL usando l'istruzione GRANT puoi far accedere solo gli utenti da te specificati ad un dato database...in occorrenza puoi anche limitare l'accesso a questo utente in modo che possa avvenire solo dalla rete interna o solo da un dato ip... Ultima modifica di cionci : 09-05-2005 alle 14:55. |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Avevo già fatto la prova a mettere l'ip del pc dove gira mysql, e avevo lasciato "root" come utente per essere sicuro che entrasse. Approfondisco "grant"......... Thx. RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Non ho capito... allora, io dovrei permettere a, diciamo per esempio, 5 indirizzi ip diversi, ciascuno con un proprio nome utente e passwd, l'accesso alla rubrica.
Con 'grant', leggo che do i privilegi solo ad un determinato utente di operare sul db. Cmq sia, ho provato a 'grantarmi', e ora ottengo un altro errore: "ERROR 1130: Host '10.0.0.15' is not allowed to connect to this Mysq server. ![]()
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
GRANT ALL PRIVILEGES ON Rubrica.* TO 'Utente1'@'10.0.0.1' IDENTIFIED BY 'password1';
Ovviamente se vuoi fare un utente per ogni macchina, ma potresti anche farne uno solo... GRANT ALL PRIVILEGES ON Rubrica.* TO 'NomeUtente'@'10.0.0.%' IDENTIFIED BY 'tuapassword'; |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
In ordine, ho dato i privilegi all'user raoul. Poi, nel codice ho cambiato la stringa di connessione così: Codice:
.ConnectionString = "DRIVER=(Mysql ODBC 3.51 Driver);" & "SERVER=10.0.0.12;" & "DATABASE=rubrica;" & "UID=raoul;" & "PWD=mia_pwd;" Di sicuro credo che la mal-configurazione sia ancora sul server.... ![]()
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Hai un firewall ?
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Dal pc dove tento di collegarmi, che è winxp service pack2, c'è il firewall di windows, ma non credo che c'entri perchè la connessione è da winxp, non verso, o sbaglio?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
a riprova di ciò, ho anche messo su quel server un servizio ftp e uno ssh. Dal client mi collego ad entrambi senza problemi, tenderei quindi ad escludere il problema firewall.
![]()
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Inoltre, facendo un nmap sul serverino, la porta 3306/tcp risulta open
![]()
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Allora, problema risolto, anche se non mi piace per niente.
Il fatto è che dovevo editare un file in /etc/mysql/my.cnf dove era settato questo parametro: bind-address 127.0.0.1 Leggendo l'howto, ho visto che con questo parametro settato, il server non accetta connessioni da nessuno se non da locale appunto. Mi è bastato commentarlo e far ripartire mysql e ora funziona. Se ci sono altri suggerimenti, sono graditissimi. Thx. RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Mi provi a creare un utente di prova:
GRANT ALL PRIVILEGES ON Rubrica.* TO prova@'10.0.0.%' IDENTIFIED BY 'prova'; Poi scrivi: FLUSH PRIVILEGES; Non serve riavviare MySQL... Poi dal PC con XP scrivi: mysql -h 10.0.0.12 -u prova -p Ovviamente devi prendere il client MySQL da una qualche distribuzione di MySQL... Poi mi riporti l'errore... |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
uh...forse abbiamo postato in contemporanea, l'errore era in quel file my.cnf, cioè, non è un errore, è che se quella riga è abilitata, mysql non accetta connessioni dall'esterno.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ho visto dopo
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:23.