在上一篇文章中,我们探讨了如何在CentOS环境中安装宝塔控制面板并创建数据库。然而,当尝试在Windows上使用Navicat for MySQL远程连接时,却遇到了10038错误。此刻,我找到了一个有效的解决方案,让我们一起梳理这个问题的解决过程。
我们的服务器环境是基于CentOS 7.5.1804,一个强大而稳定的操作系统:
以下是问题出现的步骤:
问题的关键在于,虽然我们最初以为是MySQL用户组的远程连接设置问题,但实际上问题出在MySQL的默认端口3306被服务器防火墙阻止了。
首先,确保服务器上安装了端口扫描工具nmap,如果没有,可以使用以下命令安装:
接下来,通过nmap检查3306端口状态:
如果结果显示为"filtered",说明可能被防火墙拦截。
确认防火墙状态,CentOS 7.5.1804使用firewalld服务:
如果"active(running)",说明防火墙已启用。为了开放3306端口,我们可以执行以下命令以永久生效:
或者,直接编辑firewalld配置文件(public.xml):
添加完毕后,重载防火墙以应用更改:
再次使用nmap检查3306端口,确认其状态是否变为"open",表示连接已成功。
如果需要删除之前开放的特定端口,可以使用以下命令:
最后,如果需要调整MySQL用户权限,包括root用户,可以按照以下步骤操作:
现在,你应该已经成功解决了CentOS服务器上MySQL 3306端口的远程连接问题,可以愉快地在Windows上使用Navicat进行操作了。