程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 開啟MYSQL賬號的遠程登陸功能

開啟MYSQL賬號的遠程登陸功能

編輯:MySQL綜合教程

xiaoz

個人的學習筆記,如有錯誤還請指出來,謝謝。

好長時間沒寫筆記了,郁悶,學習狀況大不如前了。
首先,明白一點,並不是mysql禁止遠程連接,而是MYSQL的賬號禁止遠程連接。
可能覺得我有點咬文嚼字了,不過我感覺分清這點還是很重要的。
默認情況下,所有賬號都是禁止遠程連接的。
(在安裝MYSQL的時候,在設置ROOT密碼那裡有一個CHECKBOX,選中的話就開啟了ROOT的遠程登陸功能,默認是沒被選中的)

利用

view source
print?
1 select * from mysql.user

查出所有的MYSQL用戶,可以發現默認情況下,這些記錄的host字段的值全都是localhost
這個host字段就是表示哪些機器可以利用此賬號連接到本機的MYSQL。
localhost當然就代表本機了。。所以默認情況下別的機器無法連接。

所以要想開啟一個賬號的遠程連接,只要將這個賬號所對應的host字段改成那個IP就行。
比如:

view source
print?
1 update user set host = 192.168.230.2 where user=ninty;

執行完此命令以後還要執行:

view source
print?
1 flush privileges;

來刷新所有數據庫用戶的權限配置信息,讓設置及時生效。
或者重啟MYSQL。

將ninty這個賬號的host改成192.168.230.2,這樣192.168.230.2這台機器就允許通過ninty這個賬號來連接到本機的MYSQL
不過用別的賬號仍然是不行的。
將ninty的host改成192.168.230.2,就只有192.168.230.2這台機器可以通過ninty這個賬號來連接到本機的MYSQL
其它的機器(包括本機)都無法進行連接。

如果想將一個賬號設置成任何IP都可以登陸,將host改成 % 就行。
如果只能192.168.230這個網段的IP可以登陸,那就將host改成:
192.168.230.%

下面是一些常見的錯誤信息:
 

ERROR 1130 (00000): Host AAAAA-8HK8AISO is not allowed to connect to this MySQL server
AAAAA-8HK8AISO應該是本機的機器名,當MYSQL服務器禁止本機使用相應的賬號連接的時候,就會暴這個錯誤。
這時換一個允許本機去連的賬號就可以啦。

ERROR 1045 (28000): Access denied for user joejoe1991@TQSOFT-8HK8AISO (using password: YES)
這個錯誤一般就是用戶名或者密碼錯誤,這時應該是允許本機連接的, 否則報的應該是上面那個錯。

ERROR 2003 (HY000): Cant connect to MySQL server on 192.168.230.2 (10061)
這個應該是網絡方面的原因連不到MYSQL,可能是IP或者端口不對,或者服務器沒有開啟MYSQL或者防火牆擋住了連接 。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved