當前位置:首頁 » 密碼管理 » mysql外網訪問

mysql外網訪問

發布時間: 2022-01-08 23:12:43

1. 怎樣設置才能允許外網訪問Mysql

設置mysql服務允許外網訪問,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.
1:設置mysql的配置文件
/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 將其注釋掉;//作用是使得不再只允許本地訪問;

重啟mysql:/etc/init.d/mysql restart;

2:登錄mysql資料庫:mysql -u root -p
mysql> use mysql;

查詢host值:
mysql> select user,host from user;

如果沒有"%"這個host值,就執行下面這兩句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
或者也可以執行:
mysql>grand all privileges on *.* to root@'%' identifies by ' xxxx';
其中 第一個*表示資料庫名;第二個*表示該資料庫的表名;如果像上面那樣 *.*的話表示所有到資料庫下到所有表都允許訪問;
『%':表示允許訪問到mysql的ip地址;當然你也可以配置為具體到ip名稱;%表示所有ip均可以訪問;
後面到『xxxx'為root 用戶的password;

舉例:

任意主機以用戶root和密碼mypwd連接到mysql伺服器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
IP為192.168.1.102的主機以用戶myuser和密碼mypwd連接到mysql伺服器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;

2. MySQL 外網連接

用外網連接不到 請問你是否給了許可權呢?
GRANT ALL PRIVILEGES ON *.* TO 'username'@' %' IDENTIFIED BY 'password' WITH GRANT OPTION;
你先創建一個遠程登錄的賬號
然後給它遠程登錄的許可權
root默認是不支持遠程登錄的。
就是這樣 呵呵 JDBC 這個裡面 你輸入遠程登錄的用戶名跟密碼 就好啦
謝謝。

3. 本地mysql 怎樣設置,外網也可以訪問

/etc/mysql/my.cnf 找到 bind-address =127.0.0.1 將其注釋掉;//作用是使得不再只允許本地訪問; 重啟mysql:/etc/init.d/mysql restart; 2:登錄mysql資料庫:mysql -u root -p mysql> use mysql; 查詢host值: mysql> select user,host from ...

4. 區域網怎麼做實現外網訪問內網mysql資料庫

默認情況下,mysql資料庫用的是3306的埠,你只要在路由器里把3306埠映射到mysql 伺服器的IP就可以了, 你外網訪問時直接訪問路由器的外網地址+埠號就行了。路由器可以用花生殼來實現外網地址和域名的轉換。最終你訪問就是: 」花生殼的域:3306「就可以了。

5. 如何設置mysql遠程訪問

使用「Ctrl + R」組合鍵快速打開cmd窗口,並輸入「cmd」命令,打開cmd窗口。

使用「mysql -uroot -proot」命令可以連接到本地的mysql服務。

使用「use mysql」命令,選擇要使用的資料庫,修改遠程連接的基本信息,保存在mysql資料庫中,因此使用mysql資料庫。

使用「GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;」命令可以更改遠程連接的設置。

使用「flush privileges;」命令刷新剛才修改的許可權,使其生效。

6
使用「select host,user from user;」查看修改是否成功。

6. 怎麼設置才能讓外網ip可以訪問mysql資料庫

1、首先檢查mysql所在伺服器的防火牆,如果限制了外網對3306埠的連接,那麼放開限制
Linux伺服器中執行
iptables -L 可以查看當前的防火牆規則
iptables -F 可以清空所有防火牆規則
2、確保mysql的監聽地址是0.0.0.0
監聽地址是0.0.0.0 ,表示該mysql允許所有IP地址進行連接,這是允許遠程連接的基礎
監聽地址是127.0.0.1,則代表該mysql只允許所在伺服器本機連接,外網是無法連接的
怎麼知道mysql的監聽地址是多少
Linux伺服器中執行如下命令可以查看: netstat -nutlp|grep mysql
3、添加遠程連接mysql的賬號
此步驟是必須要操作的,mysql本身的用戶只能在本機上連接資料庫,外網連接的話,需要先添加遠程用戶並授權。
在mysql命令行模式下,或者phpmyadmin中執行sql語句添加遠程連接用戶
> grant all on *.* to root@'%' identified by '123456';
> flush privileges;
命令解釋:
*.* 第一個*表示庫,第二個*表示表; *.*對全部資料庫的全部表授權,so.ok 表示只對so這個庫中的ok表授權
root 表示要給哪個用戶授權,這個用戶可以是存在的用戶,也可以是不存在的
'%' 表示允許遠程連接的IP地址,%代表允許所有IP連接
只允許某個IP遠程連接,可以寫成'123.123.123.123'
只允許123.123.123.*這個網段遠程連接,可以寫成 '123.123.123.%' '123456' 是設置授權用戶的連接密碼
flush privileges; 代表立即刷新許可權表,使添加的用戶生效
上面三步都設置好了,就可以再次嘗試遠程連接mysql了。

7. 如何訪問 外網mysql資料庫

設置mysql服務允許外網訪問,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.
1:設置mysql的配置文件
/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 將其注釋掉;//作用是使得不再只允許本地訪問;

重啟mysql:/etc/init.d/mysql restart;

2:登錄mysql資料庫:mysql -u root -p
mysql> use mysql;

查詢host值:
mysql> select user,host from user;

如果沒有"%"這個host值,就執行下面這兩句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
或者也可以執行:
mysql>grand all privileges on *.* to root@'%' identifies by ' xxxx';
其中 第一個*表示資料庫名;第二個*表示該資料庫的表名;如果像上面那樣 *.*的話表示所有到資料庫下到所有表都允許訪問;
『%':表示允許訪問到mysql的ip地址;當然你也可以配置為具體到ip名稱;%表示所有ip均可以訪問;
後面到『xxxx'為root 用戶的password;

舉例:

任意主機以用戶root和密碼mypwd連接到mysql伺服器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
IP為192.168.1.102的主機以用戶myuser和密碼mypwd連接到mysql伺服器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;

8. 如何讓mysql資料庫允許被遠程連接訪問就是從其他的電腦連接我的電腦上的mysql

第一:更改 「mysql」 資料庫里的 「user」 表裡的 「host」 項,從」localhost」改稱'%'。
或者新加條記錄,「host」 項為要訪問的ip地址,並授權。重啟mysql服務。
第二:在系統防火牆添加例外埠:3306,並允許例外。

錯誤提示:
ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server
的解決方法:
1。改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫里的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
1.mysql -u root -pvmware
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

2. 授權法。例如,你想myuser使用mypassword從任何主機連接到mysql伺服器的話。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.3的主機連接到mysql伺服器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

3.在window自帶的防火牆里的例外添加3306埠

總結:
mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以許可權用戶root登錄
第二句:選擇mysql庫
第三句:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)
第四句:修改host值(以通配符%的內容增加主機/IP地址),當然也可以直接增加IP地址
第五句:刷新MySQL的系統許可權相關表
第六句:再重新查看user表時,有修改。。
重起mysql服務即可完成。

9. 如何使用mysql workbench從外網訪問內網mysql伺服器

一台電腦上安裝了Workbench,現需要訪問另一台ubuntu伺服器上的MySQL資料庫,但mysql默認是不允許訪問的,考慮到安全性問題,也不適合使用root用戶來訪問mysql。
這時我們就需要開放mysql伺服器並創建新的用戶來訪問mysql。
1,開放mysql
mysql的配置文件在/etc/mysql/my.cnf文件內,裡面有一行bind-address = 127.0.0.1表示只允許本地訪問,將這行注釋即可
2,創建新的mysql用戶
(1)首先在本地進入mysql資料庫的mysql庫內
(2)創建用戶:GRANT ALL ON *.* to user@'IP' IDENTIFIED BY 'password'; 其中user表示需要創建用戶的名字;IP表示哪台客戶端想要訪問mysql資料庫;password表示密碼;並賦予所有的許可權。
(3)FLUSH PRIVILEGES; 刷新mysql的系統許可權相關表,否則會出現拒絕訪問。重啟資料庫也能達到這樣的效果

熱點內容
Linux在嵌入式開發 發布:2024-09-29 05:36:06 瀏覽:608
mysql創建表的sql語句 發布:2024-09-29 04:24:46 瀏覽:329
protues用什麼編譯器 發布:2024-09-29 04:04:12 瀏覽:421
bab編程 發布:2024-09-29 03:48:58 瀏覽:933
魔獸世界伺服器新是什麼意思 發布:2024-09-29 03:43:48 瀏覽:390
吉利博越自動擋哪個配置最好 發布:2024-09-29 03:43:26 瀏覽:761
伺服器出現故障碼怎麼解決 發布:2024-09-29 03:40:50 瀏覽:182
公費訪問學者 發布:2024-09-29 03:33:12 瀏覽:311
雲主機源碼 發布:2024-09-29 03:18:28 瀏覽:665
cspython 發布:2024-09-29 02:58:07 瀏覽:740