時間:2021-02-10來源:www.1999hs.com作者:電腦系統城
mysql5.7設置遠程訪問不是和網上說的一樣建個用戶賦個權限就可以訪問的。比如下邊這個就是建用戶賦權限,可能在之前的版本可以,但是我在我的mysql上一直不行。為此煩了好久?。?!項目都耽誤了??!
Mysql默認是不可以通過遠程機器訪問的,通過下面的配置可以開啟遠程訪問
在MySQL Server端:
執行mysql 命令進入mysql 命令模式,
Sql代碼
1 | mysql> use mysql; mysql> GRANT ALL ON *.* TO user @ '%' IDENTIFIED BY '123456' WITH GRANT OPTION ; |
這句話的意思 ,允許任何IP地址(上面的 % 就是這個意思)的電腦 用admin帳戶 和密碼(admin)來訪問這個MySQL Server
必須加類似這樣的帳戶,才可以遠程登陸。 root帳戶是無法遠程登陸的,只可以本地登陸
另外你也可以在一個機器上模擬遠程訪問,就是多開幾個終端,方便測試是否可以遠程訪問。
我發現一個問題, 如果上面的命令你執行完畢, 你在 本地就是localhost , 執行 :
1 | mysql -hlocalhost -uadmin -padmin |
結果是失敗的。
原來 上面的 % 竟然不包括localhost
所以你還必須加上這樣的 命令:
1 | mysql> GRANT ALL ON *.* TO admin@ 'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION ; |
我在按照上邊的方法設置后,發現用mysql -h 并不能遠程訪問,修改了/etc/my.cnf配置文件把
1 | #skip-networking 注釋掉 |
加上bind-address=0.0.0.0
然而并沒有卵用!
看得我都快背下來了!
后來我直接去看他的配置文件:在/etc/mysql文件夾下
點開圖中的my.cnf: 有下面一些話:
1 2 3 4 5 6 7 8 9 |
# # * 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/:
里邊一個配置文件,打開發現,就一個[mysql],然后啥都沒有。
再看另一個:
也有一個配置文件,打開發現有驚喜,就在這里邊有一句話:
瞬間有種見到天日的感覺?。?!看它的注釋就明白,只能本地連接,問題出在這??!
把bind-address注釋掉:#bind-address=...
重啟mysql服務,遠程鏈接:
1 | mysql -h172.17.0.1 -uuser -p |
我的用戶名是:user
終于進去了,哈哈??!
到此這篇關于mysql5.7 設置遠程訪問的實現的文章就介紹到這了
2022-03-09
MySQL存儲過程圖文實例講解教程2022-03-01
千萬級用戶系統SQL調優實戰分享2022-03-01
mysql遠程跨庫聯合查詢的示例為什么要主從同步? 主從同步的原理 MYSQL數據庫進行主從同步 創建兩個MYSQL數據庫 初始化,安裝主機數據庫 配置從機 測試主從同步 ...
2022-03-01
這篇文章主要介紹了銀河麒麟V10安裝MySQL8028的圖文教程,并詳細介紹了遠程訪問的實現方法,本文通過圖文命令給大家介紹的非常詳細...
2022-02-28