情景复现
小虎是一个后端开发。他使用客户端访问服务器A(IP:111.222.123.1)查询user表的数据,服务器A连接的数据库在服务器B(IP:111.222.123.2)上。访问后,在日志中获取到如下结果。
日志内容
SQLSTATE[HY000] [1045] Access denied for user ‘root’@‘111.222.123.1’ (using password: NO)
分析
内容截取【Access denied for】
这部分提示只表明访问失败。可能是用户名错误、ip地址错误或者密码错误。也可能都正确,但是这个用户没有操作user表的权限,这些统称没有权限。
内容截取【user ‘root’ 】
这部分提示表示用户是使用root这个用户来连接数据库的(毫无疑问,重点是下面这个)
内容截取【@‘111.222.123.1’】
这个指的是连接数据库所用的客户端所在机器(在例子中是服务器A)的ip地址。
这个指的是连接数据库所用的客户端所在机器(在例子中是服务器A)的ip地址。
这个指的是连接数据库所用的客户端所在机器(在例子中是服务器A)的ip地址。
内容截取【using password: NO】
- 如果是YES,那说明前面几项都通过了。
可能是密码错误,可能是没有权限。 - 如果是NO,那说明前面几项就有问题
可能是用户名错误,ip地址错误。