我的应用程序的 MySQL 访问被拒绝,但其他人工作正常
Posted
技术标签:
【中文标题】我的应用程序的 MySQL 访问被拒绝,但其他人工作正常【英文标题】:MySQL Access denied for my application, but others work fine 【发布时间】:2017-09-13 14:01:19 【问题描述】:我正在尝试通过我的应用程序远程连接到我的 mysql 数据库以交换一些数据。如果我为 Ubuntu 编译我的 C# 代码并在本地运行它,它就可以工作。但是当我尝试从 Visual Studio 中运行它以使用调试器时,我得到了错误
Access denied for user 'jackilion'@'192.168.1.110' (using password: YES)
我的用户jackilion拥有所有权限
GRANT ALL PRIVILEGES ON *.* TO 'jackilion'@'%' IDENTIFIED BY '*****';
此外,我可以使用 DBeaver 或其他数据库程序使用同一用户和同一台计算机进行连接。
Soo... 我的代码应该是正确的,因为如果我在安装 MySQL 的机器上运行它,我可以连接它,但我的 MySQL 设置也应该是正确的,因为我可以从我的笔记本电脑远程连接?! 我很绝望,请帮帮我。
谢谢你, 杰克
编辑 我的连接字符串:
static string ConnectionInfo = "server=192.168.1.114;" +
"database=Data;"+
"username=jackilion;"+
"password=*****";
在 Ubuntu 机器上运行时我唯一更改的是将服务器地址更改为“localhost”。
【问题讨论】:
为什么在ubuntu上改成localhost?我192.168.1.114
ubuntu 机器本身?
是的,MySQL 正在我的 ubuntu 机器上运行,它是 192.168.1.114
只是出于兴趣,在 Ubuntu 机器上,您可以使用 127.0.0.1 而不是 localhost 连接服务器。 “MySQL 对 Localhost 的处理方式不同,因为它通过本地 unix 套接字而不是网络接口。” - 所以你并没有真正比较相似类型的连接。
是的。我可以从 Ubuntu 机器连接到“localhost”、“127.0.0.1”和“192.168.1.114”(这是 Ubuntu 机器 IP)。
【参考方案1】:
好吧,我终于明白了……这是一个完全在我身上的愚蠢错误。 我的密码包含字符“§”,当我将它发送到 Ubuntu 机器时,它的工作方式与我直接在机器上使用它时不同。我更改了密码,现在可以使用了。
【讨论】:
以上是关于我的应用程序的 MySQL 访问被拒绝,但其他人工作正常的主要内容,如果未能解决你的问题,请参考以下文章
用户“root”的访问被拒绝。 PHP/MYSQL/XAMPP
HttpListener“访问被拒绝”,尝试将 url 添加到 ACL
尽管已设置密码并在连接 uri 中输入密码,但用户 root@localhost 的 mysql 访问被拒绝(使用密码:否)