Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: dex - 27 Gennaio 2011, 00:10:20

Titolo: [risolto] collegare 2 pc a database
Inserito da: dex - 27 Gennaio 2011, 00:10:20
ciao raga

in una sede ho due pc A e B, entrambi usano lo stesso programma e stesso database che ci trova su A, ora dovrei collegare al database di A il pc B.

Entrambi sono connessi a un router Alice, Ip di A 192.168.1.3 quanto tento di collegare B con questi parametri:
Server Hostname:192.168.1.3
Username:Root
Password:*******
Port:3306

mysql va in errore:
Citazione
Could not connect to host '192.168.1.3'.
MySQL Error Nr. 2003
Can't connect to MySQL server on '192.168.1.3' (113)

Click the 'Ping' button to see if there is a networking problem.

con Mysql Administrator è la stessa cosa, poi mi dice di provare a fare un ping all'indirizzo, effettuo il ping e il pc A risponde

dove sbaglio?
Titolo: Re: collegare 2 pc a database
Inserito da: Golia - 27 Gennaio 2011, 11:22:45
Ciao Dex,
Vedi se può esserti utile questa guida http://www.gambas-it.org/wp/?wpfb_dl=80 (http://www.gambas-it.org/wp/?wpfb_dl=80)
Titolo: Re: collegare 2 pc a database
Inserito da: dex - 27 Gennaio 2011, 14:38:16
ciao golia

avevo gia scaricato la tua guida.

non riesco a capire come risolvere.
Titolo: Re: collegare 2 pc a database
Inserito da: Golia - 27 Gennaio 2011, 16:25:46
hai dato i permessi al database con grant?
Titolo: Re: collegare 2 pc a database
Inserito da: fsurfing - 27 Gennaio 2011, 19:11:35
devi creare un utente diverso da root ma volendo con gli stessi permessi collegato all' ip della macchina B , in poche parole non hai seguito correttamente la guida di golia

Titolo: Re: collegare 2 pc a database
Inserito da: leo72 - 27 Gennaio 2011, 22:14:53
Di default MySQL blocca le connessioni da client remoti, quindi funziona solo il client su "localhost", cioè 127.0.0.1.
Nella guida di Golia c'è proprio il passaggio che serve a tale proposito:
devi commentare la riga "bind_address = 127.0.0.1" del file di configurazione ed aggiungerne una simile con l'IP del server che si deve connettere.
Titolo: Re: collegare 2 pc a database
Inserito da: dex - 29 Gennaio 2011, 21:30:33
avevo seguito la guida di golia usando il terminale ma non andava.

ho creato un nuovo utente con mysql administrator usando i consigli della guida e ora funziona.

mi sa che è un problema di ubuntu 10.10 da quando l'ho installato mi dà solo problemi sia con gli eseguibili di gambas che con mysql

Titolo: Re: [risolto] collegare 2 pc a database
Inserito da: dex - 30 Gennaio 2011, 19:20:30
edit

non ho risolto nulla.
l'utente che ho creato  lo vedo solo con mysql administrator.
se tento di connettermi dal pc 2  mysql administrator si mette a cercare per parecchio tempo poi si blocca.
se tento di connettermi dal mio programma mi dice:
Citazione
Cannot open database: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

ho ritentato con la guida di golia funziona fino alla creazione dell'utente, al passaggio:

Citazione
grant all on gestione.* to oper2@192.168.1.12 identifield by 'passw';

mi risponde:
Citazione
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identifield by passw' at line 1
Titolo: Re: [risolto] collegare 2 pc a database
Inserito da: fsurfing - 30 Gennaio 2011, 19:27:17
quel comando corretto è
Codice: [Seleziona]
grant all on gestione.* to oper2@192.168.1.12 identified by 'passw';

c'è una l di troppo nella parola identified  

sono parecchi mesi che volevo farlo notarte a golia , ma poi mi dimenticai ed ora con il tuo post mi è tornato alla mente! :P
Titolo: Re: [risolto] collegare 2 pc a database
Inserito da: Golia - 30 Gennaio 2011, 22:14:27
caspita è vero..con tutte le prove che ho fatto non me ne sono mai accorto.  :hatecomputer:
Come faccio invio un file corretto nell'area download?
Titolo: Re: [risolto] collegare 2 pc a database
Inserito da: leo72 - 30 Gennaio 2011, 22:20:40
Mandamelo a me sulla mia posta, appena ho un attimo lo cambio sul server.
Titolo: Re: [risolto] collegare 2 pc a database
Inserito da: dex - 30 Gennaio 2011, 23:44:03
con la l si spiega un errore, ma l'altro?
Citazione
Cannot open database: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

mi sembra che cerchi il database sullo stesso pc e non sul server! non è che bisogna modificare mysqld?
Titolo: Re: [risolto] collegare 2 pc a database
Inserito da: fsurfing - 31 Gennaio 2011, 19:31:37
i due errori sono correlati, non riuscendo a creare un utente per quella postazione ti viene fuori quell' errore
Titolo: Re: [risolto] collegare 2 pc a database
Inserito da: dex - 03 Febbraio 2011, 01:00:29
ho modificato il codice e ora mi ha creato un nuovo utente.

ma è sorto un'altro problema, ho un router alica gate 2 plus e gli indirizzi ip dei 2 pc all'interno della lan cambiano in continuazione, se non ho capito male è il servizio dhcp all'interno del router ad assegnare ip dinamici.

il passaggio della guida
Citazione
sudo gedit /etc/mysql/my.cnf
dunque cercare al suo interno una riga simile alla seguente:
bind_address = 127.0.0.1
mi crea molti problemi in quanto l'ip del pc server cambia in continuazione e stramamente si sovrappone al pc client e quest'ultimo non si connette nemmeno ad internet.

come faccio ad impostare almeno per i 2 pc degli ip statici?
devo disattivare dhcp?
Titolo: Re: [risolto] collegare 2 pc a database
Inserito da: leo72 - 03 Febbraio 2011, 11:40:22
I modem di Alice sono rotture di scatole. Non mi ricordo se permettono di accedere alle configurazioni interne.
Io tempo fa risolsi restituendo il modem a Telecom e comprandomi un router mio.

In questo modo assegni un IP statico ad ogni MAC sulla rete, così che ogni PC abbia sempre lo stesso indirizzo.
Titolo: Re: [risolto] collegare 2 pc a database
Inserito da: dex - 07 Febbraio 2011, 20:03:39
I modem di Alice sono rotture di scatole. Non mi ricordo se permettono di accedere alle configurazioni interne.
Io tempo fa risolsi restituendo il modem a Telecom e comprandomi un router mio.

In questo modo assegni un IP statico ad ogni MAC sulla rete, così che ogni PC abbia sempre lo stesso indirizzo.

ho un router alige gate 2 plus e l'ho modificato per assegnare gli ip statici.

@Golia
ho usato il tuo codice e funziona fino alla creazione nuovo utente e successivo collegamento con mysql-admin, ma hai provato ad installare il tuo programma sul pc client e poi farlo collegare al pc server?
Titolo: Re: [risolto] collegare 2 pc a database
Inserito da: Golia - 07 Febbraio 2011, 22:40:44
si e funziona perfettamente, non capisco dove sbagli. la guida, a parte l'errore che ha trovato fsurfing funziona.
Nel pc che fa da server, chiamiamolo "A" cambi la stringa "bind_address = 127.0.0.1" dentro il file "my.cnf" con
Citazione
bind_address = 192.168.0.1 (l'indirizzo ip del server)
lo riavvii
e crei un utente entrando in mysql da terminale così:
Citazione
sudo mysql -u root -p

Citazione
mysql> grant all on miodatabase.* to antonio@192.168.0.2 identified by
'passworddelclient';
Poi nel pc client "B", che devi aver installato mysql client (oppure anche mysql server è lo stesso)
entri così:
Citazione
SERVER HOSTNAME = 192.168.0.1
USERNAME =antonio
PASSWORD=”passworddelclient”
PORT=3306
Se non va penso ci sia qualcosa in mysql che non funziona..non so che dirti
Titolo: Re: [risolto] collegare 2 pc a database
Inserito da: dex - 07 Febbraio 2011, 23:13:38
Citazione
entri così:
SERVER HOSTNAME = 192.168.0.1


USERNAME =antonio
PASSWORD=”passworddelclient”
PORT=3306
Se non va penso ci sia qualcosa in mysql che non funziona..non so che dirti
[/quote]

si gia fatto e funziona da mysql-admin.
tu quando ti colleghi dal client lo fai con mysql.administrator o all'interno del tuo programma?

a me dal pc client con mysql-admin si collega e vedo il database, con il mio programma (stesso username, password e ip) mi risponde:

Citazione
Cannot open database: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Titolo: Re: [risolto] collegare 2 pc a database
Inserito da: Golia - 07 Febbraio 2011, 23:48:04
Lo collego sia con admin che con il mio programma.
Se con admin vedi il database dovrebbe funzionare, non capisco perchè con il programma non dovrebbe andare  :-\
Titolo: Re: [risolto] collegare 2 pc a database
Inserito da: dex - 08 Febbraio 2011, 00:09:58
Lo collego sia con admin che con il mio programma.
Se con admin vedi il database dovrebbe funzionare, non capisco perchè con il programma non dovrebbe andare  :-\

non lo so, sto facendo varie prove, per ora ho risolto il problema degli ip statici e sto scrivendo una breve guida (tanto per tenere contento il gamberaccio  ;) ;))

ti faro sapere
Titolo: Re: [risolto] collegare 2 pc a database
Inserito da: dex - 13 Febbraio 2011, 20:31:08
raga risolto.

non sono riuscito a capire dove toppava, fra le tante prove ho installato mysql-server sul pc client e si è collegato da programma.
Dopo ho voluto provare a togliere mysql-server per vedere se era questo il problema ma il programma si collegava lo stesso  :-\