MySQL – 在CentOS 5中允许networking连接到数据库

奇怪的问题。

我有一个CentOS 5服务器运行,我不能让MySQL允许远程连接和本地连接。 IP Tables已正确设置,以允许我需要连接到MySQL的一台远程服务器。

skip-networking被注释掉了,我没有绑定地址。

首先,运行这样的东西,看看你现在有什么:

  [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 

如果你没有看到这样的行,通过运行这样的东西,检查哪些命令行选项被传递到你的二进制文件

  [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 

最后,向我们展示my.cnf的联网选项。 默认情况下,mysql会在启动时绑定到tcp 3306,除非你不告诉它。 如果你看到任何与networking相关的[mysqld]部分,你可以尝试从注释开始。

也可能有助于检查日志。 它不是很清楚,但它会告诉你是否以及何时在启动时绑定到这个端口

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

好! 感谢帮助,人们。 看着你的评论让我用一把精细的梳子去完成所有的事情。 原来在iptables中我的规则不在正确的位置。 我重新sorting了我的规则

SE-Linux被禁用或configuration良好?

如果它不是iptables或mysql特权,并且服务器正在使用公共IP地址或0.0.0.0在tcp套接字(端口3306)上侦听,那么我想所有剩下的就是tcpwrapper。
检查/var/log/auth.log(不知道是否在CentOS上这样调用)和/etc/hosts.allow/deny文件。
如果/etc/hosts.deny具有ALL:ALL(您应该拥有),那么添加/etc/hosts.allow:

mysqld:<远程IP地址>

听起来就像是你的防火墙规则,如果你像你说的那样绑定到可路由接口。 提供iptables -L -n的输出。