我正在设置到 MySQL 服务器的远程连接,但无论我尝试什么,我都收到来自远程服务器的拒绝访问错误。
我通过以下方式添加了用户:
CREATE USER 'username'@'REMOTE_IP_ADDRESS' IDENTIFIED BY '***';
Run Code Online (Sandbox Code Playgroud)
然后我给了权限:
GRANT ALL PRIVILEGES ON databasename.* to username@REMOTE_IP_ADDRESS;
Run Code Online (Sandbox Code Playgroud)
我在 MySQL 服务器上的用户表显示(除其他外):
+---------------+--------------------+
| user | host |
+---------------+--------------------+
| username | REMOTE_IP_ADDRESS |
+---------------+--------------------+
Run Code Online (Sandbox Code Playgroud)
如果我为用户显示赠款,我会得到:
+------------------------------------------------------------------------------------+
| Grants for username@REMOTE_IP_ADDRESS
+------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'username'@'REMOTE_IP_ADDRESS' IDENTIFIED BY PASSWORD '***'
| GRANT ALL PRIVILEGES ON `databasename`.* TO 'username'@'REMOTE_IP_ADDRESS'
+------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
在远程服务器上,我然后使用:
mysql -u username -p DB_SERVER_IP
Run Code Online (Sandbox Code Playgroud)
并获取错误消息:
ERROR 1045 (28000): Access denied for user 'username'@'localhost' (using password: YES)
Run Code Online (Sandbox Code Playgroud)
我已经完成了“刷新权限”,但仍然无法连接 - 我注意到错误是 username@localhost 并且我没有为 username@localhost 设置任何权限,但我以前从未这样做过。我在同一台服务器上还有其他一些远程帐户,但它们都没有 @localhost,因为它们只在本地连接。
我错过了什么?我是不是忘记做某事了,或者我还能检查什么?
错误消息表明您根本没有连接到远程 MySQL,而是连接到 localhost。确保您使用选项连接-h到远程服务器。
mysql -u username -h DB_SERVER_IP
| 归档时间: |
|
| 查看次数: |
142161 次 |
| 最近记录: |