解決mysql不能遠端連線的問題

2012013977發表於2017-08-20

很多人在裝好mysql之後都存在不能遠端連線的問題(不論是單個安裝還是lnmp一鍵安裝)
一:本地連線Mysql
1.對於剛裝好的Mysql,使用者名稱為root,密碼為空,直接回車即可登入,當然如果你在安裝的過程中設定了密碼,那就是你設定的那個
2.格式:mysql -u 使用者名稱 -p 使用者密碼 (沒有順序的區別)
(一定不要加 -h 主機地址,否則即便是在本地主機上也相當於遠端,還是連線不上的)
3.遠端連線一定要確保3306埠是開啟的,本地連線就無所謂了

二:改表法實現遠端連線
1.不能遠端連線是因為你的帳號不允許從遠端登陸,只能在localhost。
這個時候只要在localhost的那臺電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
select user,host from user where user ='root';這時看到的是localhost


update user set host = '%' where user = 'root'; 這時會報錯如下,但是不妨事,當我們再檢視是


select host, user from user where user = 'root'; 我們發現 這時host已經改為 %


此時應該就已經可以遠端登入了

三:授權法實現遠端登入
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
這樣就可以在其它任何的主機上以root身份登入,再查表看看%也有了


例如,你想myuser使用mypassword從任何主機連線到mysql伺服器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI 
TH GRANT OPTION;
如果你想允許使用者myuser從ip為192.168.1.6的主機連線到mysql伺服器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
3、mysql>FLUSH PRIVILEGES //重新整理使修改生效

相關文章