我是一个刚接触服务器的菜鸟,购买的是阿里云ECS,我购买的时候是使用的推荐的镜像,系统是CentOS7,还有Apache、PHP等都是镜像上的
我使用Xsell连接的服务器,使用的Navicat连接的MySQL,今天第一次在服务器上弄mysql就遇见了很尴尬的问题,mysql的密码不知道,所以我就在网上查了些资料解决找回并修改密码
(一)找回并修改MySQL密码
我刚开始是使用日志来获取mysql的初始密码,可能是镜像的问题初始密码也没有在日志中找到,日志中找密码的方法点这里 ,反正我是没解决了,我把锅甩给镜像。
继续找吧,我找到了一个mysql的重置密码,废话不多说,直接上链接,点这里点这里,根据步骤一步步走下来,解决了,修改好密码了,完成!
结束了?没有!!!没有!!!还有问题,Xsell能使用MySQL,但是我用的MySQL工具Navicat连接不上,对!连接失败!!!报错:host '19*.*.*' is not allowed to connec to this mysql server,拒绝我访问mysql服务器!!!
好吧,继续找资料, 刚开始是觉得是端口的问题,然后查了查端口
netstat -apn 查看所有端口信息,可以看出mysqld服务Listen端口号为3306
netstat -apn | grep 3306 查询3306端口占用情况
在网上查的有的说是 /etc/my.cn配置文件中配置了 bind_address=127.0.0.1的问题,但是我看了一下我的
vim /etc/my.cnf 打开配置文件时里面十分干净,没有其他多余设置
不是配置文件的锅!下一个!!!
那就找找服务器防火墙的问题吧,好!找防火墙的问题
CentOS7的默认防火墙为firewall,且默认是不打开的。
systemctl start firewalld 启动friewall
systemctl status firewalld 查看firewall启动情况
firewall-cmd --zone=public --add-port=3306/tcp --permanent 开启3306端口
firewalld #firewall-cmd --reload 重启
使用 firewall-cmd --query-port=3306/tcp 检查3306端口是否已经开启,yes就是表示防火墙已开启该端口
不好使!!!不是防火墙的锅,下一个!!!
然后就去阿里云那边查查吧,o(* ̄︶ ̄*)o~~~,果然是阿里云的锅,看 链接 吧,我知道原因后,就ECS安全组相关的文档看了一遍,最后总结一句话:“说一千道一万,都是我自己的锅!”。