请检查数据库服务器端口设置是否正确,默认端口为 3306 Error: Can't connect to MySQL server on 'localh

请检查数据库服务器端口设置是否正确,默认端口为 3306 Error: Can't connect to MySQL server on 'localh,第1张

端口被屏蔽,检查防火墙和杀毒软件!

或者7685端口被其他程序占用

检查方法:

这里主要是用到windows下的DOS工具,点击"开始"--"运行",输入"cmd"后点击确定按钮,进入DOS窗口,接下来分别运行以下命令:

>netstat -aon | findstr "80"

Proto Local Address Foreign AddressStatePID

==== ============ ============== ========== ======

TCP0.0.0.0:800.0.0.0:0LISTENING 1688

可以看出80端口被进程号为1688的程序占用.

然后就是在系统的资源管理器里面看看是什么程序占用了这个端口,在资源管理器里面打开进程的PID号码,然后找到程序,如果不重要,关闭就可以了!

1、使用nestat命令查看3306端口状态:

~# netstat -an | grep 3306

tcp 0 0 (服务器本地ip地址):3306 0.0.0.0:* LISTEN

从结果可以看出3306端口只是在(服务器本地ip地址)上监听,所以拒绝了其他IP的访问。

2、确定问题时因为3306端口没有开放,那么就需要修改MySQL的配置文件来解决:

使用命令 vim/etc/mysql/my.cnf打开MySQL配置文件,可以看到如下配置信息:

#Instead of skip-networking the default is now to listen only on

# localhost which is more compatible and is not less secure.

bind-address = (服务器本地ip地址)

把最后一行注释掉或者把(服务器本地ip地址)换成你希望的IP

3、使用命令 service mysql restart重启MySQL服务

4、再次使用Navicat用root账户尝试连接,发现可以正常连接

3306端口是MySQL数据库的访问端口,不能完全关闭的,不然网站旧不能正常了。只能限制特定的IP访问,如只允许你的服务器IP访问就行了。21端口是FTP用的,关闭了就不能通过FTP传文件了,网站在不用FTP的时候可一把端口关闭,或者限制访问。需要用的时候再暂时开启。 22端口就是ssh端口,是比FTP拥有更多权限的链接方式,看到的不知是网站的源码文件,还可以修改所以服务器的文件,所以一旦被攻击会更危险。一般情况下服务器配置好后22端口就不需要用到了可以关闭。 阿里云的3306、21、22端口关闭方法需要懂些技术,可以百度一下或咨询一下阿里云的客服。但是也比较复杂不好懂。更简单的方法不是关闭端口,而是在服务器管理后台限制端口的访问IP。具体步骤如下:登录阿里云>云服务器 ces>安全组>选择要设置的实例>配置规则,选择 公网入方向>添加安全组规则然后像下图中填写:需要限制的端口如22、IP段用0.0.0.0/0就是现在所以IP的访问。到这里,操作完成,其他端口如3306、22、21端口也都可以重复以上步骤分别限制。需要注意的一点就是:3306端口限制后,要到网站里发个文章什么的试一下,防止网站程序链接不上数据库,如果链接不上,找到链接数据库的文件,把数据库IP换成内网IP或设置成localhost就行了,阿里云是有外网IP和内网IP的。需要用到这些端口的时候暂时删除限制,完了再加上,这样安全级别就OK了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/579874.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-05
下一篇2023-07-05

发表评论

登录后才能评论

评论列表(0条)

    保存