无法连接到数据库服务器 - MySQLWorkBench

时间:2018-03-10 19:21:47

标签: mysql database ubuntu mysql-workbench

我登录我的VM登录mysql

我跑

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

我看到了这个

select User,Host from mysql.user;

+------------------+---------------+
| User             | Host          |
+------------------+---------------+
| bhong            | 46.101.59.255 |
| cas              | localhost     |
| debian-sys-maint | localhost     |
| mysql.session    | localhost     |
| mysql.sys        | localhost     |
| root             | localhost     |
+------------------+---------------+

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

我一直收到错误

问题

如何继续进行调试?

我现在对任何建议持开放态度。

任何提示/建议/帮助都将非常感谢!

2 个答案:

答案 0 :(得分:2)

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

此外,许多托管运营商将防火墙放在端口3306(MySQL连接端口)上以保证数据库的安全。这种情况适合你的情况吗?如果是这样,您应该寻求帮助,或调整防火墙。小心打开MySQL服务器的公共互联网的未加密连接:公共网络正在爬行网络蠕虫。

答案 1 :(得分:1)

尝试执行此操作(仅用于测试),并再次尝试连接,如果它工作,您的IP不是'46 .101.59.255',如果不起作用可以是防火墙:

netstat -tuplen

要检查正在侦听的端口,请执行以下命令addCorsHeader(res) if req.Method == "OPTIONS" { res.WriteHeader(http.StatusOK) return } else { h.APIHandler.ServeHTTP(res, req) } func addCorsHeader(res http.ResponseWriter) { headers := res.Header() headers.Add("Access-Control-Allow-Origin", "*") headers.Add("Vary", "Origin") headers.Add("Vary", "Access-Control-Request-Method") headers.Add("Vary", "Access-Control-Request-Headers") headers.Add("Access-Control-Allow-Headers", "Content-Type, Origin, Accept, token") headers.Add("Access-Control-Allow-Methods", "GET, POST,OPTIONS") }

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