c# - 在 phpmyadmin 中重新创建用户后:来自 c# 应用程序的“用户 'root'@'name_of_computer' 的访问被拒绝”
问题描述
一点背景知识:我有一个小型服务器,我在上面安装了 Windows 和 Wamp,并且正在运行几个带有 mysql 服务器的数据库,这些数据库通过几个 c# 应用程序在本地网络中访问。问题是我将 root 用户配置为能够从任何 ip 登录,因为我所有的程序都只是使用 root 用户登录和访问数据库,所以不可避免的事情发生了,今天早上我的服务器得到了黑客和我所有的数据库被清空。至少我有一个最近 3 个月大的备份。
我所做的:我通过 phpmyadmin 将主机从 % 更改为 root 用户的 localhost,因为我对 mysql 的控制台语法几乎不熟悉,我注意到当我使用 webui 执行此操作时,它使用新主机创建了一个新用户(localhost ) 所以我用主机 % 删除了以前的根目录。我还将所有其他用户的主机更改为 localhost,并创建了一个新帐户('esmeralda'),我从 root 用户复制了该帐户,但使用了我打算用于我的程序的主机 %,并且我拥有所有目前的特权。
完成此操作后,我仍然可以使用 root 用户登录 phpmyadmin,并在服务器本地使用此用户和我的应用程序,问题是在使用新的登录信息更新我的应用程序后,我收到错误“用户 'esmeralda' 的访问被拒绝” @'name_of_pc'(使用密码:YES)”当我从局域网中的另一台计算机或本地主机本身运行它们时。奇怪的是,我什至在同一台服务器上运行应用程序时遇到了同样的错误,我可以看到当我选择一个特定的数据库时,这个新用户出现在权限选项卡下,甚至在重新创建用户并尝试了一些命令之后通过我在其他线程中看到的控制台,我没有得到不同的结果。我想我可能会跳过一些明显的重要步骤,
解决方案
问题解决了,所以这个错误信息也用于错误的密码,直到现在我才注意到我用于服务器的键盘有一个错误的数字键。
推荐阅读
- javascript - 如何在文档点击功能中设置 keydown 事件?
- c# - Activator.CreateInstance 在一种方法中工作,但在另一种方法中抛出 AmbiguousMatchException
- android - Firebase - 未找到 GetTokenResult、getExpirationTimestamp()
- java - 为什么 Google App Engine MySQL JDBC URL 无法连接到数据库?
- php - 在 Symfony 3.2 网站上在线添加捆绑包
- java - 拉伸屏幕尺寸时最左角的位置圆 - JavaFX
- java - 带有 Java 套接字的 HTTP 客户端
- python - 在 ubuntu 上运行 tensorflow gpu 时出现 SSL 证书错误
- c# - 尝试阅读“按任意键继续”时出现 C# 控制台程序 Linq 错误
- node.js - NodeJS - 从固定的 HTTP 端点流式传输 MP3 音频播放列表