我今天连这个都快疯了,显示那个MySQL破密码死活弄不好,整的MySQL也没弄好,这里介绍一下我的具体流程和检查措施。

具体流程:

1.先保证你的MySQL下载完成。

2.登录MySQL数据库

mysql -u root -p

3.查看用户表

选择mysql数据库,并查看user表中的用户信息

use mysql;
select user,host from user;

执行结果:
mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| debian-sys-maint | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)

默认情况下root用户的host字段为localhost,只允许本地访问。

4.修改user表,设置所有的主机(这里用‘%’代替)都可以远程连接。

update user set host= '%' where user='root';
flush privileges;  //当刷新用就行

5.查看一下MySQL的端口是否打开。

//查看端口的使用情况
netstat -antp

//如果没开
systemctl start mysql

//如果打开,就刷新一下
systemctl restart mysql

6.查看一下防火墙的对应端口是否开放。

//查看防火墙允许通过的端口,MySQL的端口为3306,前面那个步骤也可以看到
ufw status

//如果没有打开
ufw allow 3306/tcp

7.检查一下你的MySQL配置文件(我就是栽在这里了)

MySQL的配置文件位置:

据网上看的位置是在/etc/mysql/my.cnf。

我是什么也没看到,就在附近找了找,结果找到了。

位置是在:/etc/mysql/mysql.conf.d/mysqld.cnf

bind-address            = 127.0.0.1

这里默认是只能在本地进行MySQL登录,直接注释掉就可以。

注释完,记得重启一下MySQL服务。

systemctl restart mysql

8.因为用的是阿里云的云服务器,所以需要更改一下他的安全组。

在安全组中把MySQL的端口添加上去就行。

排查办法:

1、可以先ping一下云服务器(ping不同就去搜,太懒了不想写)

2、用namp去扫描一下端口

3、端口没有开启,就检查这几项(阿里云的安全组是否添加相应的端口、服务器的防火墙是否开启相应的端口号、MySQL是否启动、配置文件是否完成配置)

4、最重要的看看你连接的IP和端口号对不对

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐