Mysql預設是不可以通過遠程機器訪問的,通過下面的配置可以開啟遠端存取
在MySQL Server端:
執行mysql 命令進入mysql 命令模式,
Sql代碼
- mysql> use mysql;
- mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
- #這句話的意思 ,允許任何IP地址(上面的 % 就是這個意思)的電腦 用admin帳戶 和密碼(admin)來訪問這個MySQL Server
- #必須加類似這樣的帳戶,才可以遠程登陸。 root帳戶是無法遠程登陸的,只可以本地登陸
mysql> use mysql;mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;#這句話的意思 ,允許任何IP地址(上面的 % 就是這個意思)的電腦 用admin帳戶 和密碼(admin)來訪問這個MySQL Server#必須加類似這樣的帳戶,才可以遠程登陸。 root帳戶是無法遠程登陸的,只可以本地登陸
那麼如何遠端存取呢?
在另一台MySQL 用戶端(裝有mysql程式包的pc ,windows或者是linux均可)
執行命令: Sql代碼
- mysql -h172.21.5.29 -uadmin -padmin 即可了
- //172.21.5.29就是MySQL Server的IP地址,admin admin就是剛才在 172.21.5.29上設定的遠端存取帳戶
mysql -h172.21.5.29 -uadmin -padmin 即可了//172.21.5.29就是MySQL Server的IP地址,admin admin就是剛才在 172.21.5.29上設定的遠端存取帳戶
引用mysql> use mysql;
mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#這句話的意思 ,允許任何IP地址(上面的 % 就是這個意思)的電腦 用admin帳戶 和密碼(admin)來訪問這個MySQL Server
#必須加類似這樣的帳戶,才可以遠程登陸。 root帳戶是無法遠程登陸的,只可以本地登陸
我發現一個問題, 如果上面的命令你執行完畢, 你在 本地就是localhost , 執行 : Sql代碼
- mysql -hlocalhost -uadmin -padmin
mysql -hlocalhost -uadmin -padmin
結果是失敗的。
原來 上面的 % 竟然不包括localhost
所以你還必須加上這樣的 命令
mysql>GRANT ALL ON *.* TO admin@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION;