要達到這個目的需要實現兩點
開通使用者許可權
解除本地繫結
首先登陸伺服器端的mysql
//不使用空格可以直接登陸
mysql -u使用者名稱 -p密碼
執行了**以後會看到所有的使用者以及對應的host
其中host的意思就是指允許訪問的ip位址,%的意思就是任何ip,當然如果是你的本地伺服器,你也可以配置為本地的乙個ip。
使用者可以通過sql語句來讓host為全部即可
//更新host, 這裡要選擇乙個存在的user和host
//user表中 user跟host合起來才是主鍵,所以不能重複,如上圖所示,如果只查詢root更新會報錯
mysql> update user set host = '%'
where user = 'root'
and host = 'localhost'
這樣就修改了乙個已存在的使用者的許可權。
可以選擇重新建立新的使用者許可權。
// 當然也可以指定部分許可權,比如唯讀之類的
mysql>grant all privileges on*.
*to'newuser'@'%' identified by
'newpassword'
with grant option;
下面是全域性的許可權列表
全域性管理許可權:
file: 在mysql伺服器上讀寫檔案。
process: 顯示或殺死屬於其它使用者的服務執行緒。
reload: 過載訪問控制表,重新整理日誌等。
shutdown: 關閉mysql服務。
資料庫/資料表/資料列許可權:
alter: 修改已存在的資料表(例如增加/刪除列)和索引。
create: 建立新的資料庫或資料表。
delete: 刪除表的記錄。
drop: 刪除資料表或資料庫。
index: 建立或刪除索引。
insert: 增加表的記錄。
select: 顯示/搜尋表的記錄。
update: 修改表中已存在的記錄。
特別的許可權:
all: 允許做任何事(和root一樣)。
usage: 只允許登入–其它什麼也不允許做。
我之前開通了許可權,但是本地的繫結還沒有解除,所以本地通過命令列仍然不能連線到伺服器資料庫。後來看了一些資料才知道位址繫結這個東西。
我的伺服器是ubuntu server 伺服器通過apt-get安裝的mysql,配置檔案的位置如下:
/etc/mysql/my.conf
其中的一行就是bind-address = 127.0.0.1
將其注釋掉即可
如果是windows的伺服器,應該是my.ini檔案,需要到安裝mysql的位置去找找了。
自此,本地可以通過mysql -h host -r -p來訪問遠端的mysql資料庫了
當解除了位址繫結以後需要重啟mysql的服務即可生效
ubuntu中允許root遠端訪問
ubuntu中允許root遠端訪問 1 確保伺服器在安裝過程中,選擇安裝openssh軟體。如沒有進行安裝,請使用以下命令進行安裝 apt get install y openssh server 2 安裝完成後,使用root登入系統 3 編輯vim etc ssh sshd config檔案,將p...
允許mysql遠端連線
1。改表法。可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 mysql 資料庫裡的 user 表裡的 host 項,從 localhost 改稱 mysql u root pvmwaremysql use mysql my...
mysql允許遠端連線
1。改表法。可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 mysql 資料庫裡的 user 表裡的 host 項,從 localhost 改稱 mysql u root pvmwaremysql use mysql my...