使用云服务器配置好的环境后,使用Navicat连接mysql数据库时,连接测试时一直报错(10038)错误,可能是下面几个问题造成的:(环境是Centos7.2+mysql5.7)
1.云服务器安全组问题,很多新购买的云服务器的默认安全组入口方向没有3306这个端口的,需要新增规则,这个比较简单,但是简单的问题容易忽略;(我就是忘记了这里废了半天劲)
2.服务器中的mysql服务是否开启;
systemctl status mysqld;//查看mysql服务是否开启
未开启 开启服务
service mysqld start;
3.mysql为配置ip访问权限
grant all privileges on *.* to 'root'@'%' identified by 'Abcpass.' with grant option;
flush privileges;
命令解释
'%’是允许所有的ip地址远程访问(可使用具体的ip),'root’是账号,'Abcpass.’是密码(设置密码时注意有的数据库版本要求密码的复杂度)
ALL PRIVILEGES ON 后面的 *.*表示所有数据库
第二行是使设置立刻生效
以上语句执行后会影响mysql库的user表的数据记录(添加或者修改表中的数据)
4.防火墙限制
查看防火墙状态
firewall-cmd --state 是否开启 running开启 no running未开启
如果开启暂时关闭测试能连接上后再开启防火墙更改配置
查看防火墙开放的端口
firewall-cmd --zone=public --list-ports
添加防火墙开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开放3306端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent #关闭3306端口
firewall-cmd --reload # 配置立即生效