1、打開mysql.exe(MySQL Command Line Client),輸入密碼
成都創(chuàng)新互聯(lián)公司始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)十多年累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的全網(wǎng)推廣解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:宣傳片制作等企業(yè),備受客戶表揚(yáng)。
2、輸入:use mysql;
3、查詢host輸入: select user,host from user;
4、創(chuàng)建host(如果有"%"這個(gè)host值,則跳過這一步)
如果沒有"%"這個(gè)host值,就執(zhí)行下面這兩句:
mysql update user set host='%' where user='root';
mysql flush privileges;
5、授權(quán)用戶
(1)任意主機(jī)以用戶root和密碼pwd連接到mysql服務(wù)器
mysql GRANT ALL PRIVILEGES ON *.* TO?'root'@'%'?IDENTIFIED BY 'pwd' WITH GRANT OPTION;
mysql flush privileges;
(2)指定IP為(如192.168.1.100)的主機(jī)以用戶tuser和密碼tpwd連接到mysql服務(wù)器
mysql GRANT ALL PRIVILEGES ON *.* TO?'tuser'@'192.168.1.100'?IDENTIFIED BY 'tpwd' WITH GRANT OPTION;?
mysql flush privileges;
1,明確MySQL數(shù)據(jù)庫內(nèi)網(wǎng)訪問地址端口,確保MySQL數(shù)據(jù)庫服務(wù)正常,在內(nèi)網(wǎng)可以正常訪問連接。如我本機(jī)MySQL數(shù)據(jù)庫訪問地址是localhost:3306。
2.內(nèi)網(wǎng)使用花生殼動(dòng)態(tài)域名解析,內(nèi)網(wǎng)服務(wù)器安裝花生殼,并使用它。
3.使用自己的帳號(hào)登錄。如沒有帳號(hào),“注冊(cè)帳號(hào)”進(jìn)入網(wǎng)站進(jìn)行注冊(cè)帳號(hào)。正常登錄后,會(huì)顯示登錄帳號(hào)下的域名。
4.做映射。在默認(rèn)域名的地方點(diǎn)擊花生殼管理添加映射。點(diǎn)擊當(dāng)前主機(jī)。內(nèi)網(wǎng)任何端口映射,獲取外網(wǎng)隨機(jī)端口,點(diǎn)擊確認(rèn)。
在路由器配置DDNS,并填上DDNS的服務(wù)提供商的賬號(hào):(需要注冊(cè))
如華為AR系列路由器的界面如下:
然后把MySQL的端口TCP3306映射出去即可。
1、首先檢查mysql所在服務(wù)器的防火墻,如果限制了外網(wǎng)對(duì)3306端口的連接,那么放開限制
Linux服務(wù)器中執(zhí)行
iptables -L 可以查看當(dāng)前的防火墻規(guī)則
iptables -F 可以清空所有防火墻規(guī)則
2、確保mysql的監(jiān)聽地址是0.0.0.0
監(jiān)聽地址是0.0.0.0 ,表示該mysql允許所有IP地址進(jìn)行連接,這是允許遠(yuǎn)程連接的基礎(chǔ)
監(jiān)聽地址是127.0.0.1,則代表該mysql只允許所在服務(wù)器本機(jī)連接,外網(wǎng)是無法連接的
怎么知道m(xù)ysql的監(jiān)聽地址是多少
Linux服務(wù)器中執(zhí)行如下命令可以查看: netstat -nutlp|grep mysql
3、添加遠(yuǎn)程連接mysql的賬號(hào)
此步驟是必須要操作的,mysql本身的用戶只能在本機(jī)上連接數(shù)據(jù)庫,外網(wǎng)連接的話,需要先添加遠(yuǎn)程用戶并授權(quán)。
在mysql命令行模式下,或者phpmyadmin中執(zhí)行sql語句添加遠(yuǎn)程連接用戶
grant all on *.* to root@'%' identified by '123456';
flush privileges;
命令解釋:
*.* 第一個(gè)*表示庫,第二個(gè)*表示表; *.*對(duì)全部數(shù)據(jù)庫的全部表授權(quán),so.ok 表示只對(duì)so這個(gè)庫中的ok表授權(quán)
root 表示要給哪個(gè)用戶授權(quán),這個(gè)用戶可以是存在的用戶,也可以是不存在的
'%' 表示允許遠(yuǎn)程連接的IP地址,%代表允許所有IP連接
只允許某個(gè)IP遠(yuǎn)程連接,可以寫成'123.123.123.123'
只允許123.123.123.*這個(gè)網(wǎng)段遠(yuǎn)程連接,可以寫成 '123.123.123.%' '123456' 是設(shè)置授權(quán)用戶的連接密碼
flush privileges; 代表立即刷新權(quán)限表,使添加的用戶生效
上面三步都設(shè)置好了,就可以再次嘗試遠(yuǎn)程連接mysql了。
默認(rèn)情況下,mysql數(shù)據(jù)庫用的是3306的端口,你只要在路由器里把3306端口映射到mysql 服務(wù)器的IP就可以了, 你外網(wǎng)訪問時(shí)直接訪問路由器的外網(wǎng)地址+端口號(hào)就行了。路由器可以用花生殼來實(shí)現(xiàn)外網(wǎng)地址和域名的轉(zhuǎn)換。最終你訪問就是: ”花生殼的域:3306“就可以了。