与研发同学打交道很多年,也包含自己工作中遇到的问题。
现在讲无法连接mysql的情况汇总下,以免大家再犯。
第一种情况:端口错误,尤其是一些公司,使用的是否非标准的短口,但是程序段没有配置。
错误:ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)
解决方法:遇到这种情况,有限检查应用程序是否配置对了端口。
第二种情况:
错误:ERROR 1045 (28000): Access denied for user (using password: NO)
解决方法:检查程序是否配置密码,没有使用密码,就会报这个错误。
第三种情况:
错误:ERROR 1045 (28000): Access denied for user (using password: YES)
解决方法:
(a)、首先检查是否给相应的ip开放了权限。
如果是按照ip授权的:show grants for 是否存在。
如果是按照ip段授权的:show grants for ;——>show grants for ; ---->show grants for ;---->show grants for ; 依次看是否存在。
如果不存在,需要给授权;如果存在,那极有可能是密码的问题。
(b)、检查密码:
select password('abc') (abc是使用的明文密码) 这个值
是否与数据库mysql.user 表中的password 字段一样。
如果是mysql5.7+ 是mysql.user 表中的 authentication_string
(c)、如果用户名、网段、密码都没问题,那有可能是权限没有刷新,在密码是通过update 的
方式更的,需要执行flush privileges;
(d)、如果还不行,那就要看看研发配置的ip是否是他访问的ip或者域名,这种情况,也是遇到 的。
阅读(4077) | 评论(0) | 转发(0) |