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

Posted Sunny wen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动云平台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记录我的小趴菜日常,希望能够帮到有用的朋友,各位开发区大佬嘴下留情,哪里有不合适的地方多多赐教!!!**

基于OneNet平台设计的多节点温度采集系统-有人云4G模块+STM32

一、设计说明

设计思路: 每个测量点采用4G+STM32+温度测量模块组成;采集温度数据之后直接上传到OneNet物联网云平台,在OneNET云平台上设计可视化界面进行显示,并且也可以在手机APP设备云上显示。

当前采用的物联网平台是OneNET云平台,OneNET中国移动物联网开放平台是由中国移动打造的PaaS物联网开放平台。平台能够帮助开发者轻松实现设备接入与设备连接,提供综合性的物联网解决方案,实现物联网设备的数据获取,数据存储,数据展现。

当前这个设计算是物联网技术的一个典型应用。目前物联网产业正在飞快发展着,从智能电视、智能家居、智能汽车、医疗健康、智能玩具、机器人等延伸到可穿戴设备领域。 物联网将赋能智能硬件向多元的消费场景渗透,从而创造更加便捷、舒适、安全、节能的生活环境。 物联网是通过约定的协议将原本独立存在的设备相互连接起来,并最终实现智能识别、定位、跟踪、监测、控制和管理的一种网络,无需人与人、或人与设备的互动。通俗来说物联网就是“物物相连的网”,主要应用于智能交通、智能医疗、智能家居、智能物流、智能电力等领域。

二、硬件选型

2.1 4G模块-WH-LTE-7S1

4G模块选择有人科技的WH-LTE-7S1 模块,支持全网通,外置了卡槽,可以插卡,本身模块也内置了电信卡,可以直接使用,不用考虑买卡,不用考虑卡接触不良等问题,内置的卡目前是8年免费使用,每月100M免费流量。

以上是关于移动云平台OneNet之数据可视化View连接本地MySQL数据库的主要内容,如果未能解决你的问题,请参考以下文章

基于OneNet平台设计的多节点温度采集系统-有人云4G模块+STM32

OneNet一次上传多个数据,在可视化页面解析显示

OneNet一次上传多个数据,在可视化页面解析显示

ESP32 + MQTT 连接到中移动物联网云平台 OneNET

ESP32 + MQTT 连接到中移动物联网云平台 OneNET

基于STM32的ESP8266 WIFI与ONENET通信连接,云平台以及手机APP数据显示