Liberar porta 3306 - mysql

jbrasil

Power Member
Amigos,
Não estou conseguindo conectar no server mysql.
Preciso através de um client (SQL Manager 2005 Lite for MySQL), conectar em um server mysql.
Endereço de rede máquina client: 10.0.0.0/16
Endereço de rede server mysql: 10.1.0.0/24


[root@proxy2 etc]# iptables -L -n | grep 3306
ACCEPT tcp -- 0.0.0.0/0 10.1.0.2 state NEW,ESTABLISHED tcp dpt:3306
ACCEPT tcp -- 0.0.0.0/0 10.1.0.5 state NEW,ESTABLISHED tcp dpt:3306
ACCEPT tcp -- 10.0.0.180 0.0.0.0/0 tcp dpt:3306


[root@teleduc mysql]# netstat -anp | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* OUÇA 846/mysqld
tcp 0 0 10.1.0.5:3306 10.1.0.14:2457 TIME_WAIT -

Veja as regras:

$IPTABLES -t nat -A PREROUTING -p tcp -i $INT_IF -d $IP_MYSQL_II --dport 3306 -j DNAT --to-destination $DMZ_MYSQL_II

$IPTABLES -A FORWARD -p tcp -i $INT_IF -o $EXT_IF -m state --state NEW,ESTABLISHED -d $DMZ_MYSQL_II --dport 3306 -j ACCEPT

O que pode ser ?
Obrigado.
Jose Roberto.
 
do cliente para o server:

consegues pingar?
fazer telnet pro porto 3306?
nos logs da firewall vês alguma coisa? (iptables à pata ñ é a minha especialidade)
a firewall está num router entre o cliente e o servidor? Esse router tem rotas para ambas as redes? consegue pingar tanto o cliente como o servidor?
o user com que te estás a ligar ao mysql tem permissoes para se ligar desse cliente?
 
Liberando porta 3306 (MySql) - Linux – Permitindo acesso remoto num servidor MySQL

[h=2][/h] OBS: Testado com o MySQL 5!

O Mysql por padrão ao ser instalado numa máquina, não está configurado para permitir acesso remoto, somente local, por parte do usuário, então para habilitar seu uso seja de qual for a máquina, faz-se os seguintes procedimentos:
Como root no terminal do linux digite:
nano /etc/mysql/my.cnf
Agora altere a seguinte linha..
bind-address = 127.0.0.1
..para..
bind-address = 0.0.0.0
Agora reinicie o serviço mysql com:
/etc/init.d/mysql restart
Entre no prompt do mysql com:
mysql –user=root –password=suasenha
Então digite o seguinte comando:
GRANT ALL ON *.* TO ‘root’@'%’ IDENTIFIED BY ‘suasenha‘;
Esse comando é bem explicativo, ele garante (GRANT) todos (ALL) os privilégios de acesso a todos (*.*) os databases do banco, ao (TO) usuário (‘root’) em todas as máquinas (‘%’) usando a senha do usuário root (IDENTIFIED BY ‘suasenha’). Traduzindo em miúdos, você acessa tudo no banco com o usuário root em qualquer máquina remota.
Obs: Se quiser dar acesso somente a uma maquina específica troque ‘%’ pelo ip da máquina, por exemplo, dar acesso somente a máquina 192.168.0.2, ficaria assim o comando:
GRANT ALL ON *.* TO ‘root’@’192.168.0.2′ IDENTIFIED BY ‘suasenha‘;
Obs2: Onde estiver escrito suasenha, troque pela senha do usuário root.
Agora pode testar conectar-se ao banco de outra máquina que você terá acesso.
 
Back
Topo