Autore Topic: Probelma Mysql accesso remoto 3306  (Letto 7151 volte)

Offline ch82

  • Jr. Member
  • **
  • Post: 27
    • Mostra profilo
Probelma Mysql accesso remoto 3306
« il: 15 Ottobre 2009, 11:50:27 »
Ciao,
ho un problema con l'accesso remoto a Mysql, devo dare ad un cliente la possibilità di collegarsi in remoto alla porta 3306 ed eseguire delle query.
Sto eseguendo delle prove con una macchina locale ma non funziona.

Uso una centos 5.3, il mio file my.cnf è il seguente:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
pid-file = /var/run/mysqld/mysqld.pid
user=mysql

port = 3306
bind-address = 127.0.0.1
#skip-networking

# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


Se sostituisco l'ip 127.0.0.1 con un indirizzo pubblico o con una della mia rete lan (es. 192.168.0.15), mysql non si avvia.

Nel file di Log appare:

091015 11:41:39  mysqld started
091015 11:41:39 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
091015 11:41:39 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
091015 11:41:39  InnoDB: Started; log sequence number 0 43655
091015 11:41:39 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
091015 11:41:39 [ERROR] Do you already have another mysqld server running on port: 3306 ?
091015 11:41:39 [ERROR] Aborting
091015 11:41:39  InnoDB: Starting shutdown...
091015 11:41:40  InnoDB: Shutdown completed; log sequence number 0 43655
091015 11:41:40 [Note] /usr/libexec/mysqld: Shutdown complete
091015 11:41:40  mysqld ended

Il pacchetto bind è installato di default (non ho configurato nulla) e iptables è disattivato.

Grazie

Offline dankan77

  • Moderator
  • Hero Member
  • *****
  • Post: 1365
    • Mostra profilo
    • E-mail
Re: Probelma Mysql accesso remoto 3306
« Risposta #1 il: 15 Ottobre 2009, 12:00:22 »
hai provato a dare dalla macchina un semplice:

netstat -npla |grep 3306

per capire se il servizio è in ascolto?

P.S.
Comunque è già una bella risposta visto che fra il tuo server ed il tuo cliente c'è di mezzo un mondo che non ci hai descritto, swtich router firewall vpn etc...

Ciao

Offline ch82

  • Jr. Member
  • **
  • Post: 27
    • Mostra profilo
Re: Probelma Mysql accesso remoto 3306
« Risposta #2 il: 15 Ottobre 2009, 12:15:17 »
[root@localhost ~]# netstat -npla |grep 3306
tcp        0      0 127.0.0.1:3306              0.0.0.0:*                   LISTEN      3391/mysqld

questo è quello che mi appare.
Nel file my.cnf per ora c'è bind-address = 127.0.0.1.

Le prove le sto effettuando in lan, senza firewall di mezzo.
Se sostituisco l'ip 127.0.0.1 con un indirizzo pubblico o con una della mia rete lan (es. 192.168.0.15), mysql non si avvia. E mi appare quell'errore. Ho anche riavviato la macchina per scrupolo.

Non sò se può servire ma sulla macchina di test non ho nessuna passwor di root per mysql.
grazie

Offline ch82

  • Jr. Member
  • **
  • Post: 27
    • Mostra profilo
Re: Probelma Mysql accesso remoto 3306
« Risposta #3 il: 15 Ottobre 2009, 12:18:26 »
Ho provato nuovamente a mettere il mio indirizzo di lan 192.168.0.15 al posto del 127.0.0.1. Mysql non si avvia e con netstat non appare più nulla in ascolto:

[root@localhost ~]# /etc/init.d/mysqld restart
Stopping MySQL:                                            [  OK  ]
Timeout error occurred trying to start MySQL Daemon.
Starting MySQL:                                            [FAILED]
[
[root@localhost ~]# netstat -npla |grep 3306
[root@localhost ~]#

Offline ch82

  • Jr. Member
  • **
  • Post: 27
    • Mostra profilo
Re: Probelma Mysql accesso remoto 3306
« Risposta #4 il: 15 Ottobre 2009, 12:32:35 »
Ho fatto un altro test:
Ho messo come bind-adress l'ip della mia macchina di test (nel mio caso ha ip 192.168.0.115), e ho provato a collegarmi, mi sembra che le cose migliorano, nel senso che dal client ( ip 192.168.0.15) mi ha rifiutato la connessione sulla porta 3306 ma durante l'operazione appare:

[root@localhost ~]# netstat -npla |grep 3306
tcp        0      0 192.168.0.115:3306          0.0.0.0:*                   LISTEN      4104/mysqld
tcp        0      0 192.168.0.115:3306          192.168.0.15:50723          TIME_WAIT   -
tcp        0      0 192.168.0.115:3306          192.168.0.15:50724          TIME_WAIT   -

Vorse adesso il problema è un altro

Offline dankan77

  • Moderator
  • Hero Member
  • *****
  • Post: 1365
    • Mostra profilo
    • E-mail
Re: Probelma Mysql accesso remoto 3306
« Risposta #5 il: 15 Ottobre 2009, 13:35:51 »
Ok, dalla macchina client usa nmap (è disponibile freeware sia su linux che su windows)

nmap -sT 192.168.0.115

Così iniziamo a capire se il servizio realmente risponde in rete

Offline Hyunkel

  • Newbie
  • *
  • Post: 13
    • Mostra profilo
Re: Probelma Mysql accesso remoto 3306
« Risposta #6 il: 25 Novembre 2009, 12:34:30 »
stesso problema anche per me...dalla macchina client facendo un telnet 192.168.1.139 3306 mi dice:

Host 192.168.1.138 is not allowed to connect to MySQL server

Offline dankan77

  • Moderator
  • Hero Member
  • *****
  • Post: 1365
    • Mostra profilo
    • E-mail
Re: Probelma Mysql accesso remoto 3306
« Risposta #7 il: 25 Novembre 2009, 16:34:14 »
Ciao hai già verificato la raggiungibilità con un ping e traceroute ed eventualmente la disponibilità della porta via nmap ?


Ciao

Offline Hyunkel

  • Newbie
  • *
  • Post: 13
    • Mostra profilo
Re: Probelma Mysql accesso remoto 3306
« Risposta #8 il: 26 Novembre 2009, 10:15:34 »
Fatto nmap...ecco il risultato sulla porta:

3306/tcp open   mysql       MySQL (unauthorized)

Offline dankan77

  • Moderator
  • Hero Member
  • *****
  • Post: 1365
    • Mostra profilo
    • E-mail
Re: Probelma Mysql accesso remoto 3306
« Risposta #9 il: 26 Novembre 2009, 11:41:30 »
Ciao non è che mysql è bindato per rispondere solo in localhost ?

Nel seguente file:
/etc/mysql/my.cnf

sostituire:
bind-address = 127.0.0.1
con:
bind-address = 0.0.0.0
Nel primo caso mysql in ascolto solo da localhost nel secondo da ogni indirizzo.

Ciao

Offline Hyunkel

  • Newbie
  • *
  • Post: 13
    • Mostra profilo
Re: Probelma Mysql accesso remoto 3306
« Risposta #10 il: 27 Novembre 2009, 13:45:28 »
Io sono riuscito a risolvere! praticamente..non avevo impostato bene gli utenti di mysql... ::)
grazie per l'aiuto dankan