我登录我的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用户身份连接到我的数据库。 我无法进去。
我一直收到错误
如何继续进行调试?
我现在对任何建议持开放态度。
任何提示/建议/帮助都将非常感谢!
答案 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地址。