zoukankan      html  css  js  c++  java
  • SELECT command denied to user 'username'@'ip' for table 'user'错误处理

    错误信息

    使用RDS for MySQL,程序执行查询SQL时报错如下:
    <div class="code-tools">
      <i class="theme-switch-btn"></i><i class="copy-btn"></i>
    </div>
    <pre class="pre codeblock" id="codeblock-op1-mla-6o9"><code class="hljs pgsql"><span class="hljs-keyword">SELECT</span> command denied <span class="hljs-keyword">to</span> <span class="hljs-keyword">user</span> <span class="hljs-string">'username'</span>@<span class="hljs-string">'ip'</span> <span class="hljs-keyword">for</span> <span class="hljs-keyword">table</span> <span class="hljs-string">'user'</span> </code></pre>
    <div class="pre-scrollbar-track" style="display: none; 100%;height: 4px;margin-bottom: 16px;">
      <div class="pre-scrollbar-thumb" style="height: 100%;background-color: #d7d8d9;position: relative;"></div>
    </div>
    
    </div> 
    

    排查步骤

    1. 测试RDS实例是否异常。可以使用mysql客户端连接到RDS,查询对应的表,如果可以正常查询,说明RDS没有问题。
    2. 用Wireshark软件抓包本机发出的实际请求:
      1. 在Wireshark界面中,选择捕获 > 选项,在输入页签选择连接RDS的内网网卡,在输出页签填写输出的文件名,然后单击开始
        Wireshark
      2. 复现问题,问题复现后,停止抓包。
    3. 打开生成的抓包文件,在显示过滤器里输入mysql,过滤出mysql协议,找到报错的包。
      过滤mysql
    4. 在报错的条目上单击右键,选择追踪流 > TCP流
      TCP流
    5. 检查发送的SQL是否正确。
      说明 上面的案例中,报错原因在于库名是fnb,而程序拼接出来的是hnb.user,数据库名拼接错误导致报错, 修正数据库名后问题解决。
  • 相关阅读:
    JS中的宽高(基础知识很重要)
    JS基础知识总结
    Spring中的JdbcTemplate使用
    Spring中集合类型属性注入
    白盒交换机公司&产品列表
    虚拟化有哪几种架构
    全虚拟化与半虚拟化
    白牌交换机现状分析zz
    SDN控制器列表
    Arista公司
  • 原文地址:https://www.cnblogs.com/jpfss/p/11004321.html
Copyright © 2011-2022 走看看