我是靠谱客的博主 哭泣自行车,这篇文章主要介绍移动云平台OneNet之数据可视化View连接本地MySQL数据库前言一、解决方案总结,现在分享给大家,希望可以做个参考。

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

文章目录

  • 前言
      • 问题描述:本地数据库连接后报错
      • 原因分析
  • 一、解决方案
    • 1. 允许外网访问本地数据库。
      • 修改mysql配置文件
      • 设置mysql用户支持外网访问
    • 2. 公网IP映射,内网穿透访问本地MySQL。
    • 至此,大功告成!!!
            • 服务器时区异常!!!
  • 总结


前言

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

“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:ProgramDataMySQLMySQL 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之数据可视化View连接本地MySQL数据库前言一、解决方案总结的全部内容,更多相关移动云平台OneNet之数据可视化View连接本地MySQL数据库前言一、解决方案总结内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部