移动云平台OneNet之数据可视化View连接本地MySQL数据库

记录Windows下移动云平台OneNet之数据可视化View连接本地MySQL数据库
项目相关背景:最近在写一个关于智慧电网的项目系统,最终发现自己设计的UI实在太丑,于是想利用云平台开放的可视化view模板使得自己的系统更高大上一点,修改好模板之后,因为所有的数据都必须要求是动态的数据,因此就在连接本地数据库的时候出现了问题。


前言

问题描述:本地数据库连接后报错

“com.alibaba.druid.pool.GetConnectionTimeoutException: wait milis 2000, active 0, maxActive 8,creating 0, createEmorCount 1”。

原因分析

本地数据库未开启允许外网访问,且内网IP云平台无法访问。

  1. 本地数据库想要连接到云平台,首先要允许MySQL端口 (一般来说MySQL默认端口为3306)来通过防火墙,然后给别的IP地址赋予权限 来访问本地数据库。

  2. 实现公网IP映射,内网穿透访问MySQL数据库(在这里我使用花生壳映射IP,操作简单)
    提示:以下是本篇文章正文内容,下面案例可供参考

一、解决方案

1. 允许外网访问本地数据库。

自定义规则允许防火墙通过端口3306(分别建立入站规则和出站规则)。

打开高级安全 Windows Defender防火墙
在这里插入图片描述
点击入站规则—>新建规则(规则类型选择端口),然后点击下一步。
在这里插入图片描述
输入端口号3306,点击下一步,选择允许连接,一直点击下一步。
在这里插入图片描述
最后选择一个卡哇伊的名称,就完成了。
在这里插入图片描述
出站规则的建立和入站规则一样。

允许本地MySQL外网访问。

修改mysql配置文件

配置文件my.ini(默认位置为“C:\ProgramData\MySQL\MySQL Server 8.0”)的修改首先要改变读写权限,右击文件,打开文件属性,点击安全来修改用户权限(赋予Users所有权限)。
在这里插入图片描述
配置文件my.ini中添加:

 1. [mysqld]
 2. port = 3306
 3. bind-address = 0.0.0.0

然后重新启动mysql服务,执行service mysql restart。

设置mysql用户支持外网访问

登录数据库:

 1. mysql -u root -p

然后输入密码。
查询host:

 1. mysql> use mysql;
 2. mysql> select user,host from user;

数据库默认root的访问ip为localhost,因此先修改访问ip为“%”,即允许所有ip(访问;然后刷新权限。

 1. mysql> update user set host='%' where user='root';
 2. mysql> flush privileges;

最后授权用户:
注意!!! 这里有一个大坑让我跌进去两天没出来!!!
授权任意主机以用户root和密码rootpwd(你的root密码)连接到mysql服务器。
错误的授权方式(直接赋予权限):

 1. mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
 2. mysql> flush privileges;

mysql执行会报错!!!
应该分别授权:

 1. CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
 2. GRANT ALL ON *.* TO 'root'@'%';
 3. ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
 4. FLUSH PRIVILEGES; #刷新权限

2. 公网IP映射,内网穿透访问本地MySQL。

###下载花生壳,安装。
新增自定义映射:
在这里插入图片描述
在APP内查看域名指向IP(即IP映射地址):
在这里插入图片描述

至此,大功告成!!!

PS:如果你的mysql版本在8.0以上还有一个问题需要解决:

服务器时区异常!!!

新版的数据库使用的时区与本地时区有区别,标准时区使用的是Unix元年的时间为起始点到当前时间中间所做的动作。国际标准失去与本地相差 8 个小时。
在数据库名后面加:

 1. ?serverTimezone=UTC

即:
在这里插入图片描述
最后测试连接:
在这里插入图片描述


总结


** 第一次在CSDN记录我的小趴菜日常,希望能够帮到有用的朋友,各位开发区大佬嘴下留情,哪里有不合适的地方多多赐教!!!**

  • 4
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值