经常有用户安装了MySQL数据库后,在远程连接数据库进行管理或者远程web调用的时候,出现远程连接不上的问题,经常遇到代码为1130的错误,下面就给大家讲一下遇到这种情况后的排查处理思路:
排查内在因素
MySQL数据库在安装完毕时,默认情况下所有账户是不开启远程访问支持的,可能是出于安全考虑,因此如果想通过远程进行连接管理,需要给对应的账户赋予远程连接的权限。
所以首先要排查的是连接时所使用的账户是不是具有远程访问权限,可在数据库命令行终端执行下面的命令查询:
通过打印出来的结果就可以判断账户对应的权限,需要排查下查到的账户是本地权限还是具有远程权限,如果你在这一步看到的远程权限是正确的,就按照下面“排查外界因素”的方法进行排查,很有可能是端口没有正确开放导致。
如果这一步看到的账户远程权限不正确,或者对应的账户并没有开放远程权限,则按照下面的方法进行远程权限设置,具体方法是:
1、如果是root账户要进行远程连接,在数据库命令行终端执行下面的命令对root账户赋予远程权限
2、如果是要对某个数据库对应的账户设置远程连接,执行下面的命令
命令执行完毕后,可以通过最上面的查询命令查看对应权限是否成功设置,确定权限没问题后,按照下面的方法检查并开放数据库端口,允许外网访问即可。
排查外界因素
遇到这种情况首先要排查外界影响因素,具体排除的地方有这么几点:
1、数据库服务器所在机房出口是不是有防火墙屏蔽了3306端口。
2、数据库服务器如果是云服务器,还要检查服务器所连接的安全组(云防火墙)是不是没有开放3306端口。
3、数据库服务器内置防火墙是不是没有开放3306端口。
4、数据库服务器中安装的安全软件(安全狗、云锁等)是不是屏蔽了3306端口。
5、数据库服务器本地安全策略中的ipsec策略有没有屏蔽3306端口(很多服务商为了安全,都会在系统模板中导入安全策略,屏蔽一些敏感端口,一定要检查下)。
一般情况下,只要MySQL本身配置没有问题,检查上面几点就可以找到问题所在。
最后需要提醒一下:MySQL账户远程权限允许后,会给数据库安全带来很大的威胁,如果不是很必要,建议克服一下其他困难,尽可能在服务器本地进行管理和操作,以免被黑。
Copyright © 2013-2021 8a.hk All Rights Reserved. 八艾云 版权所有 中山市八艾云计算有限公司 粤ICP备14095776号