[英]Logging to mysql server from a remote host
我在執行命令時遇到問題
grant select, insert, delete, update on dbname.* to username identified by 'password';
從我的遠程連接到服務器。 它以
ERROR 1044 (42000): Access denied for user 'root'@'xxx.xxx.x.xx1' to database 'dbname'
。
我的服務器的地址為xxx.xxx.x.xx1
而我的遠程計算機的地址為xxx.xxx.x.xx2
。
我使用以下命令從遠程計算機登錄MySQL服務器
sudo mysql -h xxx.xxx.x.xx1 -u root -p
當我從遠程連接運行命令select current_user()
,它將返回root@'xxx.xxx.x.xx1'
。 它不應該返回root@xxx.xxx.x.xx2'
嗎?
我將所有特權添加到root@'xxx.xxx.x.xx1
'和root@'xxx.xxx.x.xx2'
。
授予遠程連接IP地址的root用戶訪問權限后,為什么不能從遠程計算機執行命令? 從遠程計算機登錄時, select current_user()
應該返回我的遠程計算機的IP地址或服務器的IP地址?
解決了問題。
首先,我將/etc/mysql/my.cnf中的綁定地址行從127.0.0.1更改為服務器的地址。
其次,我以root用戶身份登錄到服務器本地的mysql,並使用以下命令創建了另一個用戶:
grant select, insert, update, delete on databasename.* to newuser@my_remote_desktop_address identified by 'password';
然后,我可以在新用戶下在桌面上登錄mysql並執行命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.