局域网无法访问mysql

2023年 8月 4日 76.7k 0

最近在实际项目中遇到了一个问题:局域网中的某些机器无法访问MySQL,但是之前都是可以正常连接的。

局域网无法访问mysql

经过检查,发现应用程序所在的服务器以及其他局域网中的机器都可以访问MySQL,只有特定的几台机器出现问题。我们尝试了以下几种解决方法:

# 确认MySQL服务是否正常启动
$ service mysql status
# 确认MySQL服务是否监听在0.0.0.0或指定的IP地址上
$ netstat -nlt | grep mysql
# 开放MySQL端口(默认为3306)防火墙规则(iptables)
$ iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
$ service iptables save
$ service iptables restart
# 确认my.cnf配置文件是否允许远程访问MySQL
$ vim /etc/mysql/my.cnf
修改以下内容:
bind-address = 0.0.0.0 或者注释掉此行
# 允许远程连接MySQL的用户
$ mysql -u root -p
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

然而,以上方法均未解决问题。最后我们发现,无法访问MySQL的机器在应用程序连接MySQL时使用了localhost,而不是MySQL所在的IP地址。所以,我们修改了应用程序中的连接字符串,将localhost改为MySQL所在机器的IP,问题得到解决。

总的来说,局域网无法访问MySQL可能的原因有很多,需要从MySQL服务本身、防火墙规则、my.cnf配置文件或应用程序代码等多个方面进行排查。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论