MySQL - 在 CentOS 5 中允许与数据库建立网络连接

MySQL - 在 CentOS 5 中允许与数据库建立网络连接

奇怪的问题。

我正在运行 CentOS 5 服务器,但无法让 MySQL 允许远程连接和本地连接。IP 表已正确设置,允许我需要连接到 MySQL 的一台远程服务器这样做。

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

答案1

首先,运行如下命令来查看现在有什么:

 [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。如果您在 [mysqld] 部分中看到任何与网络相关的内容,您可以尝试将其注释掉。

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

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

答案2

好的!谢谢大家的帮助。查看你们的评论让我仔细检查了所有内容。结果发现我在 iptables 中的规则不在正确的位置。我重新排列了规则,它就起作用了

答案3

SE-Linux 被禁用或者配置正确吗?

答案4

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

相关内容