SELECT command denied to user 'username'@'ip' for table 'user'错误处理
2024-09-06 16:50:38
错误信息
使用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;width: 100%;height: 4px;margin-bottom: 16px;">
<div class="pre-scrollbar-thumb" style="height: 100%;background-color: #d7d8d9;position: relative;"></div>
</div>
</div>
排查步骤
- 测试RDS实例是否异常。可以使用mysql客户端连接到RDS,查询对应的表,如果可以正常查询,说明RDS没有问题。
- 用Wireshark软件抓包本机发出的实际请求:
- 在Wireshark界面中,选择捕获 > 选项,在输入页签选择连接RDS的内网网卡,在输出页签填写输出的文件名,然后单击开始。
- 复现问题,问题复现后,停止抓包。
- 在Wireshark界面中,选择捕获 > 选项,在输入页签选择连接RDS的内网网卡,在输出页签填写输出的文件名,然后单击开始。
- 打开生成的抓包文件,在显示过滤器里输入mysql,过滤出mysql协议,找到报错的包。
- 在报错的条目上单击右键,选择追踪流 > TCP流。
- 检查发送的SQL是否正确。
说明 上面的案例中,报错原因在于库名是fnb,而程序拼接出来的是hnb.user,数据库名拼接错误导致报错, 修正数据库名后问题解决。
最新文章
- nginx之location匹配优先级和安全问题
- C# 关键字extern用法
- SpringMVC生成任意文件,访问链接即下载
- php+mysql的微信文章发布平台
- 写给java开发的运维笔记
- 操作系统也谈";算法";
- js的隐含参数(arguments,callee,caller)使用方法
- C#导出数据至excel模板
- Disable keyboard input on Android TimePicker
- 基于Visual C++2013拆解世界五百强面试题--题8-数组的排序和查找
- php上线教程----阿里云下设值二级域名并将项目上线
- 深刻理解iosBlock
- TensorFlow在Windows上的CPU版本和GPU版本的安装指南(亲测有效)
- vue脚手架安装步骤vue-cli
- Linux下Oracle 12c的卸载
- 【黑客免杀攻防】读书笔记7 - 软件逆向工程基础1(函数调用约定、Main函数查找)
- css中的position属性值的探究
- 翻页效果实现turn.js
- BinaryFormatter、SoapFormatter、XML3种序列化
- 什么是WCF(转)