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全程实录相关推荐

  1. 阿里云服务器外网访问问题

    昨天看到阿里云有个活动,学生可以领取6个月云服务器,就领了一个,装的操作系统是windows server2012 远程连接进去后,装了一个wampserver,参照网上教程https://blog. ...

  2. 腾讯云服务器外网访问

    网上找了好多终于解决了 直接装的wamp 一.腾讯云主机控制台-->安全组里可以配置要开放的端口 二.关闭防火墙 三.打开httpd.conf文件(C:\wamp\bin\apache\Apac ...

  3. 关于服务器外网无法访问,阿里云服务器外网无法访问解决方案,腾讯云外网无法访问

    服务器外网无法访问,阿里云服务器外网无法访问解决方案,腾讯云外网无法访问 服务器外网无法访问可能是你外网没对外开放80端口,可以使用PHPWAMP自带的常用工具解决. 怎么知道自己有没有开放80端口呢 ...

  4. websocket 服务器外网访问

        websocket 服务器外网访问 本地localhost测试能成功,但是放在服务器上外网,连接失败 原因:新增端口后需要在防火墙中将该端口加入入站规则,否则没有权限连接外网. 方法:控制面板 ...

  5. 公网IP实现虚拟机服务器外网访问

    公网IP实现虚拟机服务器外网访问 项目背景是要建一个web服务器,但是需要外网访问,虚拟机建的服务器只能局域网访问,本来是用花生壳做的内网穿透,但是怕出现什么问题,后面登录公司路由,发现其IP其实是固 ...

  6. 阿里云Redis 外网访问

    阿里云Redis 外网访问 首先完全组 开放6379端口 修改 /usr/local/redis/bin/rconfig/redis.conf 文件(根据自己保存位置) vim redis.conf ...

  7. 阿里云服务器配置外网访问

    阿里云服务器默认是没有配置外网访问的,默认只开启了CMP协议.SSH 22端口.RDP 3389端口三个端口 如果配置外网访问,需要配置安全组,去开放访问网站的80端口.具体如下: 点击配置规则 点击 ...

  8. MySQL--局域网、外网访问MySQL

    一.局域网.外网访问 1. 打开CMD,导航到当前MySQL的bin路径,如下图: 2. 访问MySQL:输入MySQL -u root -p,点击Enter键,即可看到密码输入框: 输入密码,点需E ...

  9. ubuntu 18.04装ftp服务器+外网访问

    环境如下:Ubuntu18.04 vsftpd 3.0.3; 要求: 用winscp 5.13.4,从外网可以连接到服务器,账号只具有上传功能,没有下载和删除功能 以下是操作记录: sudo apt- ...

  10. 搭建 公网FTP服务器 外网访问

    我是在ubuntu 20.04 上配置的,需要用到公网IP.没有公网IP的,可以考虑花生壳这类应用来做内网穿透. 1. 配置FTP服务器 安装vsftpd. # sudo apt install vs ...

最新文章

  1. 002_Maven命令
  2. python中浅拷贝与深拷贝
  3. golang的一个简单小爬虫demo学习记录
  4. php写新闻浏览历史,PHP实现浏览历史记录
  5. RelativeLayout和LinearLayout性能比较
  6. Tengine---nginx平台初探
  7. C语言中实现边沿函数算法及应用,这是抛弃PLC留下的痛!
  8. python学习日记(匿名函数)
  9. HDOJ 杭电1874-畅通工程(Floyd算法)
  10. 办公自动化-带样式的表格xlutils库-0223
  11. 2.[精通Hibernate笔记]整合Spring
  12. matlab 双曲线拟合,利用MATLAB进行logistic曲线拟合
  13. BugKu CTF(杂项篇MISC)---哥哥的秘密
  14. 达内python第一次月考题目_第一次月考总结
  15. prometheus-预警-6
  16. 重装系统(GHO)镜像介绍及下载
  17. 设计模式——23种设计模式学习总结
  18. 推荐使用rpx替代upx的公告
  19. 成都软通动力的的OFFER
  20. 【环境配置】conda环境迁移

热门文章

  1. 软考高级/高项/信息系统项目管理师看江山好还是马军好?
  2. MTK6577+Android GPIO
  3. 新手小白如何选择吉他,初学者的入门吉他推荐
  4. 基于python提火车票信息_python3.X 抓取火车票信息【修正版】
  5. 学计算机基础知识的app,电脑基础知识零基础入门版-电脑基础知识APP手机大全v1.0 安卓版-007游戏网...
  6. 信息技术前言讲座报告
  7. 强制推广鸿蒙系统,鸿蒙系统凭实力占市场,无需通过禁止安卓系统来推广
  8. 每秒50W笔交易,阿里双十一,架构如何优化到极致!
  9. 笔记本CPU正常温度是多少?
  10. html div 360旋转动画效果,分享4种CSS3效果(360度旋转、旋转放大、放大、移动)