日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

云服务器外网访问MySql全程实录

發(fā)布時(shí)間:2023/12/18 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 云服务器外网访问MySql全程实录 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.云服務(wù)器申請(qǐng)

最近在給一個(gè)小企業(yè)做個(gè)報(bào)價(jià)系統(tǒng),C#WPF框架開(kāi)發(fā),桌面程序。由于用戶可能經(jīng)常出差,更換電腦,因此考慮將程序的數(shù)據(jù)庫(kù)放到外網(wǎng)服務(wù)器上,每次程序使用需要登錄驗(yàn)證,有點(diǎn)類似QQ的方法。這里有人說(shuō)為什么不直接做成web,桌面應(yīng)用已經(jīng)落伍了。確實(shí)如此,原因主要是這個(gè)企業(yè)的報(bào)價(jià)系統(tǒng)的前端交互太多,一堆的javascript代碼,還有一堆的word報(bào)表輸入輸出,做成web太過(guò)麻煩。因此還是決定做成桌面應(yīng)用程序。由于訪問(wèn)量和并發(fā)性并不大,因此考慮性能一般的云服務(wù)器就可以了。

下面是我購(gòu)買的云服務(wù)器基本信息:操作系統(tǒng)是windows server 2012 R2 ?64位中文版(我是小白,還是喜歡在windows下面搗鼓搗鼓,感覺(jué)簡(jiǎn)單實(shí)惠,大牛看不過(guò)去的忍忍吧)

云服務(wù)器我喜歡采用遠(yuǎn)程登錄界面的方式,登錄后和操作普通的windows電腦基本沒(méi)區(qū)別。可以完全把這臺(tái)電腦想象成你手頭的筆記本電腦,唯一的區(qū)別在于這臺(tái)電腦有一個(gè)公共的外網(wǎng)IP。想要上傳文件什么的直接在本地電腦和服務(wù)器上copy文件就可以,相當(dāng)簡(jiǎn)單方便,并且云服務(wù)器也可以直接裝軟件,和普通電腦沒(méi)什么區(qū)別。

2.服務(wù)器上MySql安裝與基本使用

(1)下載MySql

下載網(wǎng)址:點(diǎn)擊打開(kāi)鏈接

我建議下載早期的版本,晚點(diǎn)的版本好像配置的時(shí)候找不到My-default.ini,后面配置不是很好弄。我下載的版本是MySql 5.6.40 ?win64。為了方便大家下面給出一個(gè)我使用的版本,下面是鏈接。

點(diǎn)擊打開(kāi)鏈接

下載后需要修改my.ini文件。直接在官網(wǎng)下載后期MySql的人按照其他人的教程可能需要找到MyDefault.ini文件,但是后期版本里面是沒(méi)有這個(gè)文件的,雖然我也參考了一些教程,但是感覺(jué)有點(diǎn)麻煩,所以我還是用了早起的5.6.40版本。

接下來(lái),我把整個(gè)文件夾解壓后放到云服務(wù)器C盤(pán)下面的toolplace文件夾下面。如果你放在了其他位置,需要修改my.ini文件里面的basedir和datadir目錄,注意這里凡是用\路徑的都要用\\,修改完保存即可。

(2)修改系統(tǒng)變量

windows下面修改系統(tǒng)環(huán)境變量(不會(huì)的自己網(wǎng)上百度下如何修改環(huán)境變量),在path里面添加";C:\toolplace\mysql-5.6.40-winx64\bin" ? 這里注意前面的分號(hào),用來(lái)跟其他環(huán)境變量分隔開(kāi)。

修改系統(tǒng)環(huán)境變量主要是為了方便使用MySql命令,如果不這么干的話,需要cd一直到bin文件夾下面,才能使用相關(guān)MySql命令。

(3)MySql安裝、啟動(dòng)和修改密碼

點(diǎn)擊開(kāi)始菜單,搜索框輸入cmd,然后右鍵以管理員身份運(yùn)行,輸入 :

mysqld install

回車后會(huì)英文提示安裝成功。

然后輸入啟動(dòng)命令:

net start mysql

可以看到啟動(dòng)成功了。若要關(guān)閉mysql服務(wù),使用下面的命令:

net stop mysql

在服務(wù)啟動(dòng)的狀態(tài)下,需要登錄MySql,才能繼續(xù)操作數(shù)據(jù)庫(kù),登錄命令如下:

mysql -u root -p

這里會(huì)提示輸入密碼,直接回車就可以。(因?yàn)閯傃b完默認(rèn)情況下沒(méi)有密碼),但是我們實(shí)際情況下需要設(shè)置密碼,設(shè)置方式如下,首先退出當(dāng)前賬戶,退出命令:

exit

這里設(shè)置新密碼的命令:

mysqladmin -u root -p password 123456

按回車即可。123456即為你想要設(shè)置的密碼,然后會(huì)提示輸入密碼,把123456再填一遍,這樣的話就修改成功了。

然后用

mysql -u root -p

登陸,接著輸入剛才的密碼即可。進(jìn)入后可以在Mysql編輯狀態(tài)下輸入 ?

show databases;

再按回車即可看到下圖顯示的部分已由的數(shù)據(jù)庫(kù)。上面的命令注意 ? 最后的分號(hào)也是需要輸入的

至此,已經(jīng)在云服務(wù)器上安裝完MySql了。

3.服務(wù)器上Navicat安裝與基本使用

在命令行下面進(jìn)行數(shù)據(jù)庫(kù)操作是完全可以的,但是對(duì)于不熟悉命令行的人來(lái)說(shuō)可能不是很方便。這里我們采用Navicat來(lái)連接,管理、測(cè)試數(shù)據(jù)庫(kù)狀態(tài)。Navicat的安裝這里不再重復(fù)敘述,可以網(wǎng)上自行百度。這里為了方便,同樣給出破解版的下載地址:點(diǎn)擊打開(kāi)鏈接

下載后解壓copy到云服務(wù)器上,不需要安裝,直接運(yùn)行即可。

先創(chuàng)建MySql連接,隨便輸入一個(gè)連接名,輸入剛才MySql數(shù)據(jù)庫(kù)密碼,點(diǎn)擊確認(rèn),即可查看MySql里面的數(shù)據(jù)庫(kù)。關(guān)于如何使用Navicat操作數(shù)據(jù)庫(kù),這里不再過(guò)多介紹,比較簡(jiǎn)單。

4.MySql修改外網(wǎng)訪問(wèn)權(quán)限

為了使得云服務(wù)器上的MySql可以給外網(wǎng)進(jìn)行訪問(wèn),我們這里用cmd然后輸入

mysql -u root -p

再輸入密碼重新登錄MySql

輸入

use mysql;

進(jìn)入mysql數(shù)據(jù)庫(kù),然后更改root用戶權(quán)限:

UPDATE user SET host = '%' WHERE host = '127.0.0.1';

這樣,所有用戶這樣一來(lái)所有IP地址均可以作為root用戶,可以使用SELECT host,user FROM user查詢當(dāng)前用戶表。


對(duì)所有root用戶授權(quán):


GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;


這里“123456”為MySql密碼,也可以對(duì)指定IP的用戶授權(quán):


GRANT ALL PRIVILEGES ON *.* TO 'root'@'指定的IP' IDENTIFIED BY '123456' WITH GRANT OPTION;


然后重載授權(quán)表:


FLUSH PRIVILEGES;


至此,就配置好MySql的外網(wǎng)訪問(wèn)權(quán)限了。

4.測(cè)試MySql外網(wǎng)訪問(wèn)

在本地電腦上安裝Navicat,然后按照上述方法進(jìn)行數(shù)據(jù)庫(kù)連接,在填寫(xiě)主機(jī)名和IP地址的時(shí)候選擇云服務(wù)器的外網(wǎng)IP即可。

后記

后來(lái)發(fā)現(xiàn)C#程序有時(shí)候外網(wǎng)訪問(wèn)MySql有點(diǎn)慢,導(dǎo)致timeout異常,找到如下解決辦法

在my.ini文件里面添加如下內(nèi)容,禁止掉DNS解析,跳過(guò)權(quán)限表可以明顯加快速速

[mysqld]
skip-name-resolve?

skip-grant-tables

另外,按照上述配置,偶爾會(huì)產(chǎn)生下列錯(cuò)誤,尤其在網(wǎng)速有點(diǎn)卡的時(shí)候尤其明顯

Lost connection to MySQL server at 'reading initial communication packet', system error: 0

通過(guò)查找資料,網(wǎng)上說(shuō)是MySql的connect_timeout默認(rèn)為5,即5秒內(nèi)沒(méi)響應(yīng)就會(huì)報(bào)錯(cuò),因此,這里在my.ini文件里加上這句話

connect_timeout = 120

總結(jié)

以上是生活随笔為你收集整理的云服务器外网访问MySql全程实录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。