SELECT command denied to user 'username'@'ip' for table 'user'错误处理

错误信息

使用RDS for MySQL,程序执行查询SQL时报错如下:
SELECT command denied to user 'username'@'ip' for table 'user' 

排查步骤

  1. 测试RDS实例是否异常。可以使用mysql客户端连接到RDS,查询对应的表,如果可以正常查询,说明RDS没有问题。
  2. 用Wireshark软件抓包本机发出的实际请求:
    1. 在Wireshark界面中,选择捕获 > 选项,在输入页签选择连接RDS的内网网卡,在输出页签填写输出的文件名,然后单击开始
      Wireshark
    2. 复现问题,问题复现后,停止抓包。
  3. 打开生成的抓包文件,在显示过滤器里输入mysql,过滤出mysql协议,找到报错的包。
    过滤mysql
  4. 在报错的条目上单击右键,选择追踪流 > TCP流
    TCP流
  5. 检查发送的SQL是否正确。
    说明 上面的案例中,报错原因在于库名是fnb,而程序拼接出来的是hnb.user,数据库名拼接错误导致报错, 修正数据库名后问题解决。

猜你喜欢

转载自www.cnblogs.com/jpfss/p/11004321.html