mosquitto 数据导入mysql

mosquitto安装mysql插件 进行权限认证 mosquitto安装mysql插件支持动态数据库动态管理用户 阅读详情

安装mysql

参考文档
其实mysql是我第一个安装的软件,数字1和字母l让我吃尽了苦头。还有很多字母拼写总是或拼写错。后来还是没办法,用ssl链接系统。通过网页粘贴命令。

use database

创建数据表

信息数据录入表
create table mqttmes(
MS_id int not null primary key auto_increment comment’主键键’,
YG_id int not null ,
GD_id int not null,
GX_id int not null,
Up_time timestamp not null,
JG_shuliang int not null);

工序表
create table GX_list(
GX_id int not null primary key auto_increment comment’工序ID’,
GX_Mes char(20) );

工单表
create table GD_list(
GD_id int not null primary key auto_increment comment’工序ID’,
GX_1 int default 0,
GX_2 int default 0,
GX_3 int default 0,
GX_4 int default 0,
ZSH int not null);

员工表
create table YG_id(
YG_id int not null primary key auto_increment comment’员工ID’,
name char(20) not null,
sex int,
great char(20),
Msg char(200));

增加测试数据

员工表
insert into YG_id(name) values(‘1’);
insert into YG_id(name) values(‘2’);
insert into YG_id(name) values(‘3’);
insert into YG_id(name) values(‘4’);
insert into YG_id(name) values(‘a1’);
insert into YG_id(name) values(‘a2’);
insert into YG_id(name) values(‘a3’);
insert into YG_id(name) values(‘a4’);
insert into YG_id(name) values(‘b1’);
insert into YG_id(name) values(‘b2’);
insert into YG_id(name) values(‘b3’);
insert into YG_id(name) values(‘b4’);

select * from YG_id;

工单表
insert into GD_list(ZSH) values(100);
select * from GD_list;

信息表
insert into mqttmes(YG_id ,GD_id,GX_id, Up_time, JG_shuliang) values(1,3,4,now(),50);
select * from mqttmes;

增加触发函数

测试SQL update
update GD_list set GX_1=GX_1+2 where GD_id=1;

增加触发器
create trigger auto_total after insert on mqttmes for each row update GD_list set GX_1=GX_1+2 where GD_id=1;

增加加数据测试触发器效果

mysql> select * from GD_list;
±------±-----±-----±-----±-----±----+
| GD_id | GX_1 | GX_2 | GX_3 | GX_4 | ZSH |
±------±-----±-----±-----±-----±----+
| 1 | 8 | 0 | 0 | 0 | 100 |
| 2 | 2 | 0 | 0 | 0 | 200 |
| 3 | 2 | 0 | 0 | 0 | 500 |
±------±-----±-----±-----±-----±----+
3 rows in set (0.00 sec)

mysql> insert into mqttmes(YG_id ,GD_id,GX_id, Up_time, JG_shuliang) values(1,3,4,now(),50);
Query OK, 1 row affected (0.00 sec)

mysql> select * from GD_list;
±------±-----±-----±-----±-----±----+
| GD_id | GX_1 | GX_2 | GX_3 | GX_4 | ZSH |
±------±-----±-----±-----±-----±----+
| 1 | 10 | 0 | 0 | 0 | 100 |
| 2 | 2 | 0 | 0 | 0 | 200 |
| 3 | 2 | 0 | 0 | 0 | 500 |
±------±-----±-----±-----±-----±----+
3 rows in set (0.00 sec)

触发器正常可以运行

修改触发器,增加变量,

尝试改用存储过程

delimiter     C R E A T E P R O C E D U R E t o t a l G X a m o u n t ( I N p r Y G i d i n t , I N p r G D i d i n t , I N p r J G s h u l i a n g i n t ) B E G I N u p d a t e G D l i s t s e t G X 1 = G X 1 + p r J G s h u l i a n g w h e r e G D i d = p r G D i d ; i n s e r t i n t o m q t t m e s ( Y G i d , G D i d , G X i d , U p t i m e , J G s h u l i a n g ) v a l u e s ( p r Y G i d , 1 , p r G D i d , 4 , n o w ( ) , p r J G s h u l i a n g ) ; E N D    CREATE PROCEDURE total_GX_amount(IN pr_YG_id int,IN pr_GD_id int,IN pr_JG_shuliang int) BEGIN update GD_list set GX_1=GX_1+pr_JG_shuliang where GD_id=pr_GD_id; insert into mqttmes(YG_id ,GD_id,GX_id, Up_time, JG_shuliang) values(pr_YG_id,1,pr_GD_id,4,now(),pr_JG_shuliang); END   CREATEPROCEDUREtotalG​Xa​mount(INprY​Gi​dint,INprG​Di​dint,INprJ​Gs​huliangint)BEGINupdateGDl​istsetGX1​=GX1​+prJ​Gs​huliangwhereGDi​d=prG​Di​d;insertintomqttmes(YGi​d,GDi​d,GXi​d,Upt​ime,JGs​huliang)values(prY​Gi​d,1,prG​Di​d,4,now(),prJ​Gs​huliang);END
delimiter ;

在存储过程中使用变量作为字段名。

参考
CREATE DEFINER=root@localhost PROCEDURE total_GX_amount(IN pr_YG_id int,IN pr_GD_id int,IN pr_GX_id VARCHAR(30),IN pr_JG_shuliang int)
BEGIN

SET @sqlStr:=CONCAT(“update GD_list set “,pr_GX_id,”=”,pr_GX_id,"+",pr_JG_shuliang," where GD_list.GD_id=",pr_GD_id);
SELECT @sqlStr;
PREPARE stmt from @sqlStr;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

END

CONCAT可以用字符串拼接一个sql语句

再次回到触发器

在存储过程中已经找到解决办法。
因为需要频繁的测试存储过程我装了一个图形mysql管理工具。发现触发器的也可以很好的在图形管理工具中进行调试。
参考
在这里插入图片描述
所以我有再次回到了触发器上进行。设计,这次我已经掌握new代表新更新的一条记录。比如new.id表示刚更新表的记录中id字段的数据。

我先做了一个小测试
在这里插入图片描述
在图形界面编辑 和编写和测试效率很高。还是用图形新界面的吧。

定义变量

参考
声明变量v_employee_name和v_employee_salary,通过SELECT…INTO语句查询指定记录并为变量赋值:

DECLARE v_employee_name VARCHAR(100);
DECLARE v_employee_salary DECIMAL(8,4);

SELECT employee_name, employee_salary
INTO v_employee_name, v_employee_salary
FROM employees

————————————————
版权声明:本文为优快云博主「davide_tian」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/jssg_tzw/article/details/39703889

csdn以为的链接
https://www.runoob.com/w3cnote/mysql-stored-procedure.html

触发器不支持动态sql
即使调用还有动态qsl的存储函数也不行,
存储过程可以支持动态函数
我计划使用“降维打击”的办法,把需要的动态字段用枚举的形式,放到一个表的一个字段的里。这样会增加表的数量,取的时候只要GROUP一下就可以了。

Linux部署mosquitto及其配置 心得:我是今年2月份开始了解mqtt协议到现在,从一开始的模糊到现在的懵懂,刚刚开始是在本地部署mosquitto的,就是在自己的电脑上部署这个mosquitto轻量级服务器,后来用阿里云,腾讯云来piao一个月的试用,然后用身边人的。不行也有别的云服务器来玩,测试。刚刚开始还是用windows上部署比较方便,慢慢熟悉可以在Linux上去玩一下。只能说踩了很多坑,第一次写博客记录一下 (记录文,主观判断,不一定是对的) 阅读详情

相关推荐

mosquitto mysql_10.Arduino基础入门— 7.如何把在Mosquitto服务器上订阅到的消息写入到数据库里面...

前置条件:插入数据库是在客户端来完成的,所以必须安装了Node,通过npm命令来完成。1.下载MQTT-DB-plugin包,并解压的指定目录。2.打开mqttTOmysql.js文件,修改其中的关于MQTT服务器两个主要位置,Mysql服务器的配置信息(URL、用户名、密码、数据库的名称)。更新完配置后需要对应到mysql里面先新增一个mqtt的数据库,然后新增一个表名为:tbl_message...

weixin_29671351的博客 695

mosquitto mysql_mosquitto权限验证

https://www.lixiaodong.com/?p=1631.安装需要的包sudo apt-get install libc-ares-dev libcurl4-openssl-dev libmysqlclient-dev2.下载mosquitto源码并编译安装从http://mosquitto.org/download/ 下载源码并解压到某个目录,进入该目录编译安装make mosqui...

weixin_31016735的博客 905

EMQX vs Mosquitto | 2023 MQTT Broker 对比

本文从技术架构、性能、功能、社区情况等维度深入探索2023年的两个流行开源MQTT Broker:EMQX和Mosquitto的异同之处。

emqx_broker的博客 2705

mosquitto 安装mysql插件 进行权限验证

第一步:下载mosquitto源码并编译安装 https://github.com/eclipse/mosquitto 第二步:下载mosquitto-auth-plug源码 https://github.com/jpmens/mosquitto-auth-plug 第三步:准备编译环境 yum install gcc-c++ yum install libuuid-devel y...

liaoxiaolin520的博客 3023

mosquitto-go-auth:用于 mosquitto 的 Auth 插件

Mosquitto Go 认证 Mosquitto Go Auth 是 Mosquitto MQTT 代理的身份验证和授权插件。 这个名字很糟糕,我知道,但现在改变它已经太晚了。 而且,您知道:命名、缓存失效、一对一错误等等。 当前状态 该插件是最新的并且与最近的兼容。 错误报告将在出现时得到处理,并将优先于任何正在进行的工作。 审查正在进行的 PR 是我的下一个优先事项。 功能请求的优先级最低。 除非它们在重要性和实施工作上是一个超级容易的胜利,否则我会在考虑自己实施之前接受贡献并审查 PR。 介绍 这是一个用于的身份验证和授权插件,一个著名的开源 MQTT 代理。 它(几乎)完全用 Go 编写:它使用cgo来公开 mosquitto 的 auth 插件所需的功能,但在内部只是调用 Go 来完成所有工作。 它的灵感来自 。 这些是这个插件现在实现的后端: 文件 Postgre

MQTT_mqtt连接数据库_Mqtt数据库_mqtt_mqttmysql_mqtt与SQL2008

将设备通过mqtt上传的数据解析然后插入mysql数据库,同时下发控制命令

物联网MQTT协议之mosquitto

1.根据网络配置mosquitto 略 2.测试通讯是否成功 mosquitto_pub # 消息发布 mosquitto_sub # 消息订阅 3.实现将监听的数据存入数据库 1.将数据重定向到csv或者txt文件中 mosquitto_sub *** >> test.csv 2.将文本文件遍历逐行存入数据库 import json import pymysql i...

qq_38059635的博客 559

OTN设备核心知识速记

本文章为工作笔记,若有错误,还需大家指正。不定期更新。

Hiddengold的博客 2649

全栈开发常用指令、Web前端、服务端、嵌入式、Mosquitto、Docker、MySQL、Redis、Nginx、mqtt、Vnm

全栈开发常用指令、Web前端、服务端、嵌入式、Mosquitto、Docker、MySQL、Redis、Nginx、mqtt、Vnm

优快云博客主页地址:https://mengjian.blog.youkuaiyun.com/ 1381

PowerBuilder 9 遗留系统逆向实战:3款反编译工具对比与关键DLL破解

本文深入探讨了PowerBuilder 9遗留系统的逆向工程实战,对比分析了PBKiller、PB DeCompiler和Shudepb三款反编译工具的核心功能与适用场景,并详细解析了关键DLL破解技术。通过IDA和OllyDbg等工具的应用,提供了从静态解构到动态追踪的完整逆向方法论,帮助开发者有效维护老旧PB系统。

cucanqi9387的博客 1385

Centos7安装Tesseract5.5.0+SpringBoot集成部署(离线版)

Java 中实现 OCR(光学字符识别)功能,可以使用 Tesseract OCR,这是一个开源的 OCR 引擎,支持多种语言,并且可以在 Java 中通过 Tesseract API 进行集成。

Leopard锋的博客 2320

mosquitto安装与配置以及mosquitto-auth-plug安装、配置及要点记录

这两天研究一下MQTT协议,玩玩物联网的东西,然后发现mosquitto是个比较著名的服务器端,所以下下来,然后配置玩了几下,过程中也遇到一些问题,这里记录一下。 首先进行安装,这里采用源码安装的方式,非常简单 1. 从git复制代码到服务器上 git clone https:/...

928

R语言实战:三因素方差分析(ANOVA)从入门到精通(附完整代码解析)

本文详细介绍了如何使用R语言进行三因素方差分析(ANOVA),从数据准备、模型构建到结果解读与可视化,提供完整代码解析。通过实战案例,帮助读者掌握复杂交互效应的分析方法,适用于科研、教育等多个领域的数据分析需求。

weixin_29081101的博客 244

mosquitto mysql_转mosquitto auth plugin 编译配置

配置使用 mysql 作为 be (back end)使用config.mk 配置编译参数cp config.mk.in config.mk修改安装 mysqlsudo apt-get install mysql-server libmysqlclient-dev# Select your backends from this listBACKEND_CDB ?= noBACKEND_MYSQL ...

weixin_39517797的博客 383

ArcGIS Pro SDK (二十五)工作流管理器

【代码】ArcGIS Pro SDK (二十五)工作流管理器。

Winemonk 494

阅文集团大数据面试题及参考答案

在 Flink 中,watermark 是一种用于处理乱序事件时间的机制。实现接口:通常需要实现 AssignerWithPeriodicWatermarks 或 AssignerWithPunctuatedWatermarks 接口。前者会周期性地生成 watermark,后者则是基于某些特定事件来生成 watermark ,比如接收到某个特定值的消息时。定义位置:可以在数据源处或者在流处理的中间操作中定义 watermark。在数据源定义时,能更精准地根据数据的产生特性设置 watermark;

大模型大数据攻城狮的专栏 1089

如何为Mosquitto MQTT代理配置终极安全认证插件:mosquitto-auth-plug完整指南

你是否在为物联网项目寻找一个强大且灵活的MQTT认证解决方案?你是否希望摆脱Mosquitto默认的简单密码文件认证,实现企业级的安全控制?mosquitto-auth-plug正是你需要的终极安全认证插件,它支持MySQL、Redis、PostgreSQL等10多种后端存储,为你的MQTT代理提供完整的认证和授权功能。 ## 🔍 传统MQTT安全方案的痛点 在物联网和工业4.0时代,MQT

gitblog_00709的博客 481

HTML蓝色动态爱心(完整代码)

HTML语言实现蓝色动态爱心的完整代码。

AIGC 8万+

Mosquitto Auth Plug 项目推荐

Mosquitto Auth Plug 是一个用于 Mosquitto MQTT 代理的认证插件,主要使用 C 语言编写。该项目旨在为 Mosquitto 提供多种后端支持的身份验证和授权功能,使得 Mosquitto 能够与多种数据库和存储系统集成,从而增强其安全性和灵活性。 ## 项目核心功能 Mosquitto Auth Plug 的核心功能包括: 1. **多后端支持**:支持多种后...

gitblog_00479的博客 1022

基于YOLO的印章检测及文字识别

针对印章自动化检测与文字识别需求,提出了一种融合改进YOLO模型与OCR技术的端到端解决方案,旨在解决复杂背景干扰、印章残缺变形及环形文字排列等难题

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 8224

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

15分钟实现Eclipse Mosquitto与MySQL消息持久化:物联网数据可靠存储方案

你是否在物联网项目中遇到过这些问题:设备断电导致关键数据丢失?传感器数据无法追溯历史趋势?MQTT消息代理重启后状态重置?作为轻量级消息代理(Message Broker)的Eclipse Mosquitto虽然在物联网(IoT)场景中表现出色,但默认的内存存储机制在面对系统故障时仍存在数据可靠性风险。本文将详解如何通过MySQL数据库实现MQTT消息的持久化存储,构建一套完整的"发布-订阅-存储...

gitblog_01040的博客 595

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

mqtt mosquitto mysql 认证

mosquitto + mysql 认证 物联网交流群:651219170 背景 mqtt 客户端链接的时候,我都希望是合法的设备才允许链接。所有我们希望在建立 tcp 链接之后立马查询数据库 mysql 进行认证,合法的链接才保留,不合法的立马断开。当然并发要求不高的时候此做法可以。而且设备一般建立链接之后也不会断开。如果真的 mysql 认证出现瓶颈了,可以查看另外一篇文章使用 re

yuhaiyang457288的专栏 5976

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

mosquitto-auth-plug 认证插件安装

下载 https://github.com/jpmens/mosquitto-auth-plug/ 解压 放到下面目录下 cd /root/mosquitto-auth-plug cp config.mk.in config.mk 然后编辑 config.mk BACKEND_MYSQL ?= yes MOSQUITTO_SRC =/root/mosquitto-1.6.7 ##这是mosqu...

风华正茂 3535

使用Mosquitto-Auth-Plugin对mqtt客户端进行验证

https://www.lixiaodong.com/?p=163 1.安装需要的包 sudo apt-get install libc-ares-dev libcurl4-openssl-dev libmysqlclient-dev 2.下载mosquitto源码并编译安装 从http://mosquitto.org/download/ 下载源码并解压到某个目录,进入该目录编译安装 m

珍爱生命 远离C++ 9642

linux 部署mosquitto外部连接到MySQL数据库记录mqtt消息

client = mqtt.Client(client_id="主机id")client.subscribe("#") # 订阅所有主题。client.username_pw_set("用户名", "密码")# 连接到Mosquitto代理(请替换为您的代理地址和端口)# 插入消息到数据库。"password": "密码","database": "数据库"# 连接到MySQL数据库。没有的文件夹创建一下。1.安装python3.7.x。# MySQL数据库连接信息。5.编写python脚本。

qq_40987844的博客 807

【亲测免费】 强大的Mosquitto认证插件:mosquitto-auth-plug

`mosquitto-auth-plug` 是一个为 [Mosquitto] MQTT 代理设计的认证和授权插件。它支持多种后端存储,包括但不限于 CDB、文件、HTTP、JWT、LDAP、MongoDB、MySQL、PostgreSQL、Redis 和 SQLite3。通过这个插件,用户可以灵活地配置多种认证和授权机制,确保 MQTT 代理的安全性和可靠性。 ## 项目技术分析 ### 支持...

gitblog_00269的博客 1169
上一篇: mysql中int长度的意义
下一篇: 使用gitee管理自己项目(1)
一地脚印
博客等级 码龄19年 11粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值