mysql5.7 設(shè)置遠程訪問的實現(xiàn)
mysql5.7設(shè)置遠程訪問不是和網(wǎng)上說的一樣建個用戶賦個權(quán)限就可以訪問的。比如下邊這個就是建用戶賦權(quán)限,可能在之前的版本可以,但是我在我的mysql上一直不行。為此煩了好久?。?!項目都耽誤了?。?/p>
一、原來設(shè)置遠程訪問的方式
Mysql默認(rèn)是不可以通過遠程機器訪問的,通過下面的配置可以開啟遠程訪問
在MySQL Server端:
執(zhí)行mysql 命令進入mysql 命令模式,
Sql代碼
mysql> use mysql; mysql> GRANT ALL ON *.* TO user@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
這句話的意思,允許任何IP地址(上面的%就是這個意思)的電腦用admin帳戶和密碼(admin)來訪問這個MySQLServer
必須加類似這樣的帳戶,才可以遠程登陸。root帳戶是無法遠程登陸的,只可以本地登陸
遠程訪問:
- mysql-h172.21.5.29-uuser -p123456 即可了
- //172.21.5.29就是MySQLServer的IP地址,user就是剛才在172.21.5.29上設(shè)置的遠程訪問帳戶
另外你也可以在一個機器上模擬遠程訪問,就是多開幾個終端,方便測試是否可以遠程訪問。
我發(fā)現(xiàn)一個問題, 如果上面的命令你執(zhí)行完畢, 你在 本地就是localhost , 執(zhí)行 :
mysql -hlocalhost -uadmin -padmin
結(jié)果是失敗的。
原來 上面的 % 竟然不包括localhost
所以你還必須加上這樣的 命令:
mysql>GRANT ALL ON *.* TO admin@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION;
二、mysql5.7中設(shè)置遠程訪問
我在按照上邊的方法設(shè)置后,發(fā)現(xiàn)用mysql -h 并不能遠程訪問,修改了/etc/my.cnf配置文件把
#skip-networking 注釋掉
加上bind-address=0.0.0.0
然而并沒有卵用!
看得我都快背下來了!
后來我直接去看他的配置文件:在/etc/mysql文件夾下
點開圖中的my.cnf: 有下面一些話:
# # * IMPORTANT: Additional settings that can override those from this file! # 其他地方的配置可以覆蓋此文件的配置 # The files must end with '.cnf', otherwise they'll be ignored. # !includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/
文件最后的兩個路徑我很好奇,就去看了下:conf.d/:
里邊一個配置文件,打開發(fā)現(xiàn),就一個[mysql],然后啥都沒有。
再看另一個:
也有一個配置文件,打開發(fā)現(xiàn)有驚喜,就在這里邊有一句話:
瞬間有種見到天日的感覺?。?!看它的注釋就明白,只能本地連接,問題出在這??!
把bind-address注釋掉:#bind-address=...
重啟mysql服務(wù),遠程鏈接:
mysql -h172.17.0.1 -uuser -p
我的用戶名是:user
終于進去了,哈哈!!
到此這篇關(guān)于mysql5.7 設(shè)置遠程訪問的實現(xiàn)的文章就介紹到這了,更多相關(guān)mysql5.7 設(shè)置遠程訪問內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。