我现在有问题连接到我的本地mysql服务器,但我需要能够连接到其他实例的MySQL的帮助。
背景:我有一个Java服务,安装在一个单一的实例,以及MySQL。 其他实例也将有这个需要连接到MySQL的Java服务。
目前我的/ etc / hostname显示:
ip-xx-xx-xx-xxx
我应该用什么来连接? 我试图localhost只是为了看它是否可以连接,并没有工作。 我也尝试了本地IP,也没有工作。
如果我只是尝试连接到本地mysql这个工程:
mysql -u root -p123
但是这个失败了:
mysql -h localhost -u root -p123
(所以,每当我添加-h开关,本地主机,127.0.0.1或内部IP地址都失败,错误:错误1045(28000):访问拒绝用户myuser'@'localhost'(使用密码:是)
我只尝试了本地IP,那不起作用,string“ip-xx.xx.xx.xxx”,也没有工作。
我显然做错了什么,我该怎么办?
侦听(TCP)端口可以通过sudo netstat -tlnpfind。
名称而不是IP地址的原因是EC2提供反向DNS查找,并且您的IP地址parsing为该名称。 MySQL可以在身份validation中使用反向DNS查找,但不build议这样做,因为任何拥有IP地址的人都可以将反向查找设置为任何他们喜欢的内容,从而绕过源代码保护。
这个错误:
'root'@'ip-xx-xx-xx-xxx.ec2.internal'
这看起来像是一半的错误消息,上半年可能说了一些像ERROR 1045 (28000): Access denied for user和最后一部分说(using password: NO) 。
错误消息告诉我们两件事:
如果您还没有login或更改MySQL的密码,则默认为没有密码的root用户。 离开-p选项,或者当它询问您的密码时,只需按Enter即可 。