首先明白一點並不是mysql禁止遠端連線,而是mysql的賬號禁止遠端連線。可能覺得我有點咬文嚼字了,不過我感覺分清這點還是很重要的。預設情況下,所有賬號都是禁止遠端連線的。在安裝mysql的時候,在設定root密碼那裡有乙個checkbox,選中的話就開啟了root的遠端登陸功能,預設是沒被選中的。
利用:select * frommysql.user
查出所有的mysql使用者,可以發現預設情況下,這些記錄的host欄位的值全都是localhost,這個host欄位就是表示哪些機器可以利用此賬號連線到本機的mysql。localhost當然就代表本機了。所以預設情況下別的機器無法連線。
所以要想開啟乙個賬號的遠端連線,只要將這個賬號所對應的host欄位改成那個ip就行。
比如:update user set host = '192.168.230.2' whereuser='ninty';
執行完此命令以後還要執行:
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): can't connect to mysql server on'192.168.230.2' (10061)
這個應該是網路方面的原因連不到mysql,可能是ip或者埠不對,或者伺服器沒有開啟mysql或者防火牆擋住了連線 。
ps:linux下安裝完mysql預設使用者是沒有密碼的,開啟遠端連線之前最好將使用者設上密碼。
乙個簡單的方法是:
shell命令下執行mysqladmin -u root password "密碼",可以通過訪問mysql資料庫命令: [root@gaoke~]#mysql -uroot -p → 敲回車 輸入密碼進行驗證。
Linux下MySQL遠端連線
linux下的mysql遠端連線設定 linux版本 centos6.5版本 mysql版本 5.5 因為mysql在剛剛安裝完成之後,預設不支援遠端連線,所以需要授權!授權法 grant all privileges on to 使用者名稱 identified by 登入密碼 with gran...
linux下遠端訪問Mysql
mysql的root賬戶,我在連線時通常用的是localhost或127.0.0.1,公司的測試伺服器上的mysql也是localhost所以我想訪問無法訪問,測試暫停.解決方法如下 1,修改表,登入mysql資料庫,切換到mysql資料庫,使用sql語句檢視 select host,user fr...
linux下mysql的遠端連線
本地計算機ip 192.168.1.100 遠端計算機ip 192.168.1.244 遠端計算機開啟 mysql 伺服器 etc init.d mysql.server start 本地計算機連線遠端 mysql伺服器 mysql h 192.168.1.244 u root p 發生以下錯誤 出...