mysql cannot connect_mysql远程访问cannot connect(10038) 问题解决的过程

在尝试使用Navicat访问虚拟机上的MySQL时遇到不能连接的问题,错误代码10038。通过telnet测试发现连接失败。在虚拟机上检查netstat显示MySQL监听在127.0.0.0,这意味着它只接受本地连接。修改/etc/mysql/mysql.conf.d/mysqld.cnf文件中的bind-address从127.0.0.1改为0.0.0.0以允许远程访问。然而,尽管root用户可以登录,普通用户仍被拒绝访问。通过对比root和普通用户的权限,发现普通用户缺少权限。使用GRANT ALL PRIVILEGES命令赋予普通用户权限后,问题得以解决。
摘要由CSDN通过智能技术生成

今天用Navicat访问虚拟机上的mysql,无法访问报cannot connect(10038)。

首先看是否可以telnet,本机cmd,telnet 192.168.209.128 3306,结果是连接失败,

再到虚拟机上确认 netstat -anp ,发现 “tcp        0      0    127.0.0.0:3306            0.0.0.0:*               LISTEN”

(LocalAddress中: 0.0.0.0 表示监听本地所有ip地址,其他电脑是可以访问的,并且修改ip不受影响。 127.0.0.1 表示只监听本机回环地址,只能本机访问。 x.x.x.x ip地址,是只监听这个ip。修改ip后程序就不能监听了。需要手动修改软件监听地址才可以用)

这里LocalAddress为127.0.0.0,说明是这里的问题。

于是乎,到/etc/mysql/mysql.conf.d,修改mysqld.cnf中的   bind-address =127.0.0.1to       bind-address =0.0.0.0

问题得到解决。

之后,只用root可以登录,但普通用户登录Access denied for user

分别查看权限:

show grants for 'root'@'%';

| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*E995D71A1F13CCE285E250B75338A9B93FE48C9B' WITH GRANT OPTION |

show grants for 'shopsys'@'%';

| GRANT USAGE ON *.* TO 'shopsys'@'%'                  |

| GRANT ALL PRIVILEGES ON `shopsys`.* TO 'shopsys'@'%' |

对比可见,普通用户没有identified....

进行授权操作:GRANT ALL PRIVILEGES ON *.* TO'shopsys'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

随后可以正常访问。再查权限时,已变成:

| GRANT ALL PRIVILEGES ON *.* TO 'shopsys'@'%' IDENTIFIED BY PASSWORD '*84AAC12F54AB666ECFC2A83C676908C8BBC381B1' WITH GRANT OPTION |

| GRANT ALL PRIVILEGES ON `shopsys`.* TO 'shopsys'@'%'                                                                              |

参考:http://www.cnblogs.com/cnblogsfans/archive/2009/09/21/1570942.html

欢迎关注公众号,了解更多信息

2e201d5e4935179f593b87a9d7543554.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值