mysql5.7設定遠端訪問不是和網上說的一樣建個使用者賦個許可權就可以訪問的。比如下邊這個就是建使用者賦許可權,可能在之前的版本可以,但是我在我的mysql上一直不行。為此煩了好久!!!專案都耽誤了!!
mysql預設是不可以通過遠端機器訪問的,通過下面的配置可以開啟遠端訪問
在mysql server端:
執行mysql 命令進入mysql 命令模式,
sql**
mysql> use mysql;
mysql> grant all on *.* to user@'%' identified by '123456' with grant option;
#這句話的意思 ,允許任何ip位址(上面的 % 就是這個意思)的電腦 用admin帳戶 和密碼(admin)來訪問這個mysql server
#必須加類似這樣的帳戶,才可以遠端登陸。 root帳戶是無法遠端登陸的,只可以本地登陸
mysql -h172.21.5.29 -uuser -p123456 即可了
就是mysql server的ip位址,user就是剛才在 172.21.5.29上設定的遠端訪問帳戶
另外你也可以在乙個機器上模擬遠端訪問,就是多開幾個終端,方便測試是否可以遠端訪問。
我發現乙個問題, 如果上面的命令你執行完畢, 你在 本地就是localhost , 執行 :
mysql -hlocalhost -uadmin -padmin
結果是失敗的。
原來 上面的 % 竟然不包括localhost
所以你還必須加上這樣的 命令:
mysql>grant all on *.* to admin@'localhost' identified by 'admin' with grant option;
我在按照上邊的方法設定後,發現用mysql -h 並不能遠端訪問,修改了/etc/my.cnf配置檔案把
#skip-networking 注釋掉
加上bind-address=0.0.0.0
然而並沒有卵用!
看得我都快背下來了!
後來我直接去看他的配置檔案:在/etc/mysql資料夾下
點開圖中的my.cnf: 有下面一些話:
#檔案最後的兩個路徑我很好奇,就去看了下:conf.d/:# * 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/
裡邊乙個配置檔案,開啟發現,就乙個[mysql],然後啥都沒有。
再看另乙個:
也有乙個配置檔案,開啟發現有驚喜,就在這裡邊有一句話:
瞬間有種見到天日的感覺!!!看它的注釋就明白,只能本地連線,問題出在這!!
把bind-address注釋掉:#bind-address=...
mysql -h172.17.0.1 -uuser -p
//我的使用者名稱是:user
終於進去了,哈哈!!
為了這個折騰了兩天!!!我是服氣mysql的!!
設定mysql5 7遠端連線
在ubuntu14.04上安裝好mysql5.7之後,本地可以連線mysql伺服器。遠端就不行。注釋掉在 etc mysql mysql.conf.d mysqld.cnf裡面的bind address 127.0.0.1 by default we only accept connections ...
設定mysql 5 7 外部訪問
登入 mysql uroot p使用表 use mysql檢視使用者表 select from user更新host update user set host where user root檢視網路情況 lsof i 3306 驗證遠端訪問.發現還是不行.情況如下 root cloud etc my...
mysql5 7設定允許外部訪問
mysql 預設只允許本地的localhost訪問。網上有一堆更改為允許外部訪問的教程,但是由於mysql版本的原因,無一例外的都失敗了。最後在一篇文章發現了缺失的乙個操作。所以現在記錄一下 mysql u root p 登入資料庫 use mysql 選擇基礎資訊資料庫 select user,a...