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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/18 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 云服务器外网访问MySql全程实录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.云服務器申請

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

下面是我購買的云服務器基本信息:操作系統是windows server 2012 R2 ?64位中文版(我是小白,還是喜歡在windows下面搗鼓搗鼓,感覺簡單實惠,大牛看不過去的忍忍吧)

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

2.服務器上MySql安裝與基本使用

(1)下載MySql

下載網址:點擊打開鏈接

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

點擊打開鏈接

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

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

(2)修改系統變量

windows下面修改系統環境變量(不會的自己網上百度下如何修改環境變量),在path里面添加";C:\toolplace\mysql-5.6.40-winx64\bin" ? 這里注意前面的分號,用來跟其他環境變量分隔開。

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

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

點擊開始菜單,搜索框輸入cmd,然后右鍵以管理員身份運行,輸入 :

mysqld install

回車后會英文提示安裝成功。

然后輸入啟動命令:

net start mysql

可以看到啟動成功了。若要關閉mysql服務,使用下面的命令:

net stop mysql

在服務啟動的狀態下,需要登錄MySql,才能繼續操作數據庫,登錄命令如下:

mysql -u root -p

這里會提示輸入密碼,直接回車就可以。(因為剛裝完默認情況下沒有密碼),但是我們實際情況下需要設置密碼,設置方式如下,首先退出當前賬戶,退出命令:

exit

這里設置新密碼的命令:

mysqladmin -u root -p password 123456

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

然后用

mysql -u root -p

登陸,接著輸入剛才的密碼即可。進入后可以在Mysql編輯狀態下輸入 ?

show databases;

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

至此,已經在云服務器上安裝完MySql了。

3.服務器上Navicat安裝與基本使用

在命令行下面進行數據庫操作是完全可以的,但是對于不熟悉命令行的人來說可能不是很方便。這里我們采用Navicat來連接,管理、測試數據庫狀態。Navicat的安裝這里不再重復敘述,可以網上自行百度。這里為了方便,同樣給出破解版的下載地址:點擊打開鏈接

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

先創建MySql連接,隨便輸入一個連接名,輸入剛才MySql數據庫密碼,點擊確認,即可查看MySql里面的數據庫。關于如何使用Navicat操作數據庫,這里不再過多介紹,比較簡單。

4.MySql修改外網訪問權限

為了使得云服務器上的MySql可以給外網進行訪問,我們這里用cmd然后輸入

mysql -u root -p

再輸入密碼重新登錄MySql

輸入

use mysql;

進入mysql數據庫,然后更改root用戶權限:

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

這樣,所有用戶這樣一來所有IP地址均可以作為root用戶,可以使用SELECT host,user FROM user查詢當前用戶表。


對所有root用戶授權:


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


這里“123456”為MySql密碼,也可以對指定IP的用戶授權:


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


然后重載授權表:


FLUSH PRIVILEGES;


至此,就配置好MySql的外網訪問權限了。

4.測試MySql外網訪問

在本地電腦上安裝Navicat,然后按照上述方法進行數據庫連接,在填寫主機名和IP地址的時候選擇云服務器的外網IP即可。

后記

后來發現C#程序有時候外網訪問MySql有點慢,導致timeout異常,找到如下解決辦法

在my.ini文件里面添加如下內容,禁止掉DNS解析,跳過權限表可以明顯加快速速

[mysqld]
skip-name-resolve?

skip-grant-tables

另外,按照上述配置,偶爾會產生下列錯誤,尤其在網速有點卡的時候尤其明顯

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

通過查找資料,網上說是MySql的connect_timeout默認為5,即5秒內沒響應就會報錯,因此,這里在my.ini文件里加上這句話

connect_timeout = 120

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。