[英]Unable to connect to mysql from host virtual machine
$ mysql -u testuser -h 192.168.57.5 -p
用戶 'root'@'192.168.57.1' 訪問被拒絕(使用密碼:YES)
在虛擬來賓上,我已經使用以下命令向 mysql 用戶授予了權限:
GRANT ALL ON DB.* TO root@192.168.57.5 IDENTIFIED BY 'password';
但以上是行不通的。
下面的解決方案正在工作:
GRANT ALL ON DB.* TO root@192.168.57.1 IDENTIFIED BY 'password';
我的問題是為什么我需要授予 root@192.168.57.1 權限?
我的虛擬機IP地址是192.168.57.5。
在 MySQL 配置中:
綁定地址 = 192.168.57.5
我可以使用 ip 192.168.57.5 訪問我的虛擬機 apache 服務器,也可以使用 192.168.57.5 訪問 mysql 服務器。
但是我必須在 MySQL 服務器中授予 192.168.57.1 的權限。
我相信這個問題已經回答過很多次了,但這里再重復一次......
當您授予權限時,您將它們授予正在連接的用戶。 您在上面所做的是授予對MySQL
服務器的訪問權限。
GRANT ALL ON DB.* TO root@192.168.57.5 IDENTIFIED BY 'password';
表示將所有權限授予IP 為192.168.57.5 的用戶root
當您授予希望使用服務器的客戶端訪問權限時,它會神奇地工作。
在我的虛擬框中:
主機管理器 IP:192.168.57.1 和
客戶端機器 IP : 192.168.57.5
為了從客戶端機器訪問 MySQL。 我必須為 Host Manager 網絡 IP 地址而不是虛擬機 IP 地址提供授予權限。
這就是為什么下面的作品:
GRANT ALL ON DB.* TO root@192.168.57.1 IDENTIFIED BY 'password';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.