无法远程连接到mysql
问题描述:
我有一个运行在VPS上的mysql数据库。我可以SSH入主机,并连接到MySQL没有问题。我无法从桌面远程连接到MySQL。我已执行以下:无法远程连接到mysql
防火墙
将我的本地IP到由MySQL接受远程IP地址上打开端口3306。这是通过的cPanel
-
完成执行
GRANT ALL ON dbname.* TO [email protected]'x.x.x.x' IDENTIFIED BY 'PASSWORD'
告诉MySQL来让我从指定的地址连接。
我执行从我的桌面上的以下命令行:
mysql -h x.x.x.x -u username -p
我得到这表明我过去的防火墙和MySQL是响应密码提示。当我提供密码,就拒绝访问:
ERROR 1045(28000):拒绝访问用户username'@'x.x.x.x'(使用密码:YES)
我错过了什么?
答
答案在评论中给出,所以我会在这里重复它以正确地关闭该线程。 alvits怀疑远程用户还没有被创建。它已经创建,但他的评论促使我清理用户表。
我删除了所有远程用户,包括由CPanel创建或从其他主机迁移的负载。然后我开始从零开始做create user
和grant all
,它现在可以工作。
谢谢!
'我得到一个密码提示,表明我已经过防火墙,并且mysql正在响应。“我认为这是你错了的地方。我已经看到足够多的时间了,'mysql'命令行客户端会尝试连接到一个**非运行的''localhost'服务器,并且仍然会提示用户输入凭据... –
尝试在命令行上指定数据库作为最后一个论点。 –
现货。我尝试了一个无效的端口号,仍然有密码提示。所以这是我的桌面上的mysql在转发到远程主机之前提示我。有没有办法找出我是否越过防火墙?就像一个ping或一个mysqld的痒痒? – Peter