【问题标题】:Cannot connect to database server in MySQLWorkBench无法连接到 MySQL WorkBench 中的数据库服务器
【发布时间】:2018-08-19 03:59:01
【问题描述】:

我登录到我的虚拟机登录 MySQL。我跑:

mysql -u root -p
CREATE USER 'bheng'@'46.101.59.250' IDENTIFIED BY '**********';
GRANT ALL PRIVILEGES ON * . * TO 'bheng'@'46.101.59.250';
FLUSH PRIVILEGES;

我看到了

select User,Host from mysql.user;

+------------------+---------------+
| User             | Host          |
+------------------+---------------+
| bheng            | 46.101.59.250 |
| cas              | localhost     |
| debian-sys-maint | localhost     |
| mysql.session    | localhost     |
| mysql.sys        | localhost     |
| root             | localhost     |
+------------------+---------------+

然后我尝试以 bheng 用户身份连接到我的数据库。进不去。

我一直收到这个错误:

我该如何解决这个问题?

【问题讨论】:

  • 我这里也有同样的问题!
  • 让我们从错误开始:确切的错误信息是什么?
  • 为了隐藏帐户详细信息,已从该问题中删除了关键详细信息。不幸的是,所有这些细节在编辑历史中仍然可用,所以这样做没有意义。此外,编辑使下面给出的答案无效,并删除了关键信息,以至于我认为编辑是故意破坏。请不要这样做。如果您担心服务器的安全性,请锁定此处命名的用户帐户并以不同的名称创建一个新帐户。

标签: mysql database ubuntu mysql-workbench


【解决方案1】:

当您发出这个部分命令CREATE USER 'bheng'@'46.101.59.255' 时,您指示 MySQL 允许指定用户从地址 46.101.59.255 的机器登录。那是运行 MySQL 的机器吗?如果是这样,您需要提供自己机器的地址。这似乎不太可能是您自己机器的地址,因为它已注册到 Digital Ocean。

此外,许多托管运营商在端口 3306(MySQL 连接端口)上设置了防火墙以确保数据库安全。你的情况是这样的吗?如果是这样,你应该寻求帮助,或者调整你的防火墙。为您的 MySQL 服务器打开与公共 Internet 的未加密连接时要小心:公共网络正在爬满网络爬虫。

【讨论】:

  • 如何通过远程 DBMS 客户端访问自己的数据库?
  • 使用 SSH 连接而不是 @ihue。这是通过其他受保护的盒子隧道连接的常用方法。
【解决方案2】:

尝试执行此操作(仅用于测试),然后再次尝试连接,如果它工作你的 IP 不是'46.101.59.255',如果不工作可以是防火墙:

UPDATE mysql.user SET host = '%' WHERE host != 'localhost';
FLUSH PRIVILEGES;

要检查正在侦听的端口,请执行此命令netstat -tuplen

现在,我将看到我的 IP,因为我的问题是 IP 地址。

【讨论】:

  • 我试过了,它仍然不让我进去。但我确实得到了 diff 错误。
猜你喜欢
  • 2013-04-14
  • 1970-01-01
  • 1970-01-01
  • 2023-02-08
  • 2016-09-10
  • 2020-10-24
  • 2020-04-08
  • 2015-09-13
  • 2018-12-12
相关资源
最近更新 更多