MySQL - Permitir conexões de rede para o banco de dados no CentOS 5

1

Problema estranho.

Eu tenho um servidor CentOS 5 em execução, e não consigo MySQL para permitir conexões remotas e conexões locais. O IP Tables está configurado corretamente para permitir que o servidor remoto que eu preciso conecte ao MySQL para fazer isso.

o skip-networking está comentado, e eu não tenho um endereço de vinculação.

    
por Devar-TTY 27.07.2010 / 15:52

5 respostas

1

OK! Obrigado pela ajuda pessoal. Olhar seus comentários fez com que eu repassasse tudo com um pente fino. Acontece que minha regra no iptables não estava no ponto correto. Eu reordenei minhas regras e funcionou

    
por 27.07.2010 / 17:05
1

Primeiro, faça algo assim para ver o que você tem agora:

 [root@cacti ~]# netstat -lnpt | grep 'cat /var/run/mysqld/mysqld.pid '
 tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      2814/mysqld

Se você não vê uma linha como essa, verifique quais opções de linha de comando estão sendo passadas para o seu binário executando algo como isto

 [root@cacti ~]# ps auxfwww | grep mysql
 root     12754  0.0  0.0  61200   728 pts/1    S+   10:46   0:00  |                   \_ grep mysql
 root      2767  0.0  0.0  65976  1064 ?        S    Jul12   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --user=mysql
 mysql     2814  2.1  0.8 348652 16848 ?        Sl   Jul12 464:20  \_ /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock

Por fim, mostre-nos suas opções de rede no my.cnf. Por padrão, o mysql se ligará ao tcp 3306 na inicialização, a menos que você diga que não. Se você ver qualquer coisa dentro da seção [mysqld] relacionada à rede, você poderia tentar começar apenas comentando.

Também pode ajudar a verificar o log. Não é muito claro, mas ele vai dizer se e quando se liga a uma porta na inicialização como esta

 [root@cacti ~]# grep port /var/log/mysqld.log
 Version: '5.0.45'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  Source distribution
    
por 27.07.2010 / 16:49
0

O SE-Linux está desativado ou bem configurado?

    
por 27.07.2010 / 16:03
0

Se não for privilégios iptables ou mysql e o servidor estiver escutando em um soquete tcp (porta 3306) com seu endereço IP público ou com 0.0.0.0, acho que tudo o que resta é o tcpwrapper.
Verifique /var/log/auth.log (não tenho certeza se é chamado dessa forma no CentOS) e seus arquivos /etc/hosts.allow/deny.
Se /etc/hosts.deny tiver ALL: ALL (o que você deve ter), então adicione /etc/hosts.allow:

mysqld: <remote IP-address>

    
por 27.07.2010 / 17:08
0

Parece que são suas regras de firewall, se você estiver vinculado à interface roteável, como você diz. Forneça a saída de iptables -L -n.

    
por 27.07.2010 / 19:17

Tags