簡體   English   中英

從遠程主機登錄到mysql服務器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM