MySQL 无法远程连接问题

mysql数据库突然无法登录,远程本地都提示密码错误,在my.cnf配置文件中增加skip-grant-tables后重启mysql,然后无密码登录重新设置密码;

skip-grant-tables

修改密码后,在用 # 注释掉 skip-grant-tables,再次重启mysql;然后发现mysql无法通过远程连接,多次重启依然无法远程。

网上查找到的结果多为添加权限或检查防火墙之类。

然后经历如下排查过程:

(1)经检查权限和防火墙都正常。

(2)mysql配置文件my.cnf中端口是3306,没有设置skip_networking,没有设置bind-address。

(3)使用netstat查看mysql端口情况,发现只有unix端口,没有tcp端口

(4)本地连接上mysql,show global variables like 'port';查看端口居然为0;

 (5)再查看skip_networking情况:

 查询结果skip_networking处于开启状态。

(6)第2步已经确认了my.cnf配置文件中并没有skip_networking配置;查找资料了解只要配置了skip-grant-tables就默认开启了skip_networking,推测注释掉的 skip-grant-tables 仍在生效,直接删除掉 skip-grant-tables,然后再次重启mysql。

重启mysql后netstat查看mysql有tcp端口处于监听,本地连接数据库查看端口为3306,,skip_networking状态也变为OFF

 再次远程连接数据库,可正常连接。

 

posted on 2023-04-13 00:03  木去  阅读(244)  评论(0)    收藏  举报