【n8n】n8n新增webhook接口写数据(图解步骤,参数json,mysql存储)

一、背景

某天突发奇想,ios的快捷指令,可以访问url,那是不是可以利用n8n,创建多个api直接操作数据库就可以了呢

这样就不用去写代码,部署新项目了,非常方便。

我的方案是

1、阿里云的服务器做内网穿透的服务端

2、迷你主机做内网穿透的客户端,部署很多项目,类似n8n、xxl-job等

3、谷歌浏览器用itab插件,随时访问这些项目,方便、实用还好玩

image-20250728140941741

题外话:

阿里云的这个99一年3M带宽不限流量,配置一般但是用它的带宽感觉还是很不错的,其他用途都写在这个好玩儿分享专栏中了,另外最近国产的这个雨云也很火超便宜,我的很多朋友都在用,如果不是阿里云我还有自己其他业务需要稳定运行,就会买雨云了。

目前已经快捷指令已经实现了,感觉还不错,很实用,设置调用json请求快捷指令文章点这里

在这里插入图片描述

二、n8n安装(docker-compose)

docker-compose如果有的话,直接创建一个docker-compose.yml,

# version: '3'
services:
  n8n:
    image: n8nio/n8n:1.104.1
    container_name: n8n
    restart: always
    ports:
      - "8081:5678"
    environment:
      - N8N_HOST=${N8N_HOST:-localhost}
      - N8N_PORT=5678
      - N8N_PROTOCOL=${N8N_PROTOCOL:-http}
      - NODE_ENV=production
      - TZ=Asia/Shanghai
      - N8N_SECURE_COOKIE=false    # 如有需要添加这行来禁用安全cookie
      - NODE_TLS_REJECT_UNAUTHORIZED=0  # 如果有SSL相关警告也可以添加这行
      - N8N_DEFAULT_LOCALE=zh-cn
    volumes:
      - /data/n8n/data:/home/node/.n8n
    user: "1000:1000"  # 明确指定用户ID

image-20250728142559211

启动就可以了
在这里插入图片描述

docker compose up -d

docker安装步骤如下,之前写过文章

【docker】多系统安装docker、docker-compose步骤(从刚安装好Ubuntu、CentOS、Debian、Alibaba Cloud Linux系统开始)

yml已上传到csdn,可以直接下载

三、n8n工作流创建步骤

1、创建新工作流

image-20250728093310498

2、接下来以这个请求为例,说明一下各个节点

http://test.com/webhook/addData

image-20250728132121246

总工作流

在这里插入图片描述

(1)使用 Webhook 节点作为 API 的入口。

image-20250728093446500

在这里插入图片描述

image-20250728133547959

(2)添加字段

在这里插入图片描述

在这里插入图片描述

image-20250728133802496

(3)添加if判断

在这里插入图片描述

还是字段可以拖拽

在这里插入图片描述

(4)if如果成功,保存数据库

image-20250728134319751

image-20250728134727119

(5)添加返回值,搜索“respond”节点,添加返回值,正好和第(1)步对应上

在这里插入图片描述

在这里插入图片描述

mysql执行成功后的返回值添加同理。

(6)测试

image-20250728135227269

测试地址是

http://n8n的部署地址/webhook-test/addData

开启工作流的地址是

http://n8n的部署地址/webhook/addData
<think>我们正在使用n8n连接MySQL数据库并执行数据分析任务。根据引用[2]和[4],n8n支持MySQL,并且可以用于数据分析场景。 步骤: 1. 在n8n中安装MySQL节点。 2. 配置MySQL数据库连接。 3. 使用MySQL节点执行查询。 4. 处理查询结果(可选:使用其他节点进行数据分析或转换)。 5. 将结果输出(如保存文件、发送通知等)。 详细步骤: 第一步:安装MySQL节点(如果尚未安装) 在n8n编辑器中,点击“+”添加节点,搜索“MySQL”,然后安装该节点。 第二步:配置MySQL连接 1. 添加一个MySQL节点到工作流中。 2. 在节点配置中,点击“Create New”创建新的MySQL数据库连接。 3. 填数据库连接信息: - Host: 数据库服务器地址 - Database: 数据库名称 - User: 用户名 - Password: 密码 - Port: 端口(默认3306) 4. 测试连接并保存。 第三步:执行SQL查询 在MySQL节点中,可以选择执行查询(Query)或执行预定义的操作(如Insert、Update等)。对于数据分析,我们通常使用查询。 在“Operation”下拉菜单中选择“Execute Query”,然后在“Query”文本框中输入SQL语句,例如: ```sql SELECT * FROM sales WHERE date > '2023-01-01' ``` 第四步:处理数据 查询结果会以JSON格式输出,每个行是一个对象,每个字段是属性。我们可以使用n8n的其他节点来处理这些数据,例如: - 使用“Set”节点来重命名字段或计算新字段。 - 使用“Function”节点编自定义JavaScript函数进行复杂的数据处理。 - 使用“Aggregate”节点进行数据聚合(如求和、平均等)。 第五步:输出结果 处理后的数据可以: - 通过“Write to File”节点保存为CSV或JSON文件。 - 通过“Email”节点发送邮件。 - 通过“HTTP Request”节点发送到其他系统。 - 或者,如引用[2]所述,结合大模型生成分析报告。 示例工作流:连接MySQL并生成销售报告 1. MySQL节点:执行SQL查询获取销售数据。 2. Function节点(可选):对数据进行处理,例如计算总销售额。 ```javascript // 假设每行数据有'amount'字段 let total = 0; items.forEach(item => { total += item.json.amount; }); return [{json: {totalSales: total}}]; ``` 3. 使用“Write to File”节点将结果保存为文本文件。 或者,结合大模型(如引用[2]): 1. MySQL节点获取数据。 2. 使用“HTTP Request”节点将数据发送给大模型API(如通义千问),并请求生成自然语言报告。 3. 将大模型返回的报告保存为文件或发送邮件。 注意事项: - 确保n8n服务器可以访问MySQL数据库。 - 对于大量数据,考虑分页查询或限制结果集大小以避免性能问题。 - 敏感信息(如数据库密码)应使用n8n的凭证安全存储。 通过以上步骤,我们可以使用n8n连接MySQL并执行数据分析任务。 生成相关问题: 1. 如何在n8n中安全地存储数据库凭证? 2. 如何处理MySQL查询返回的大量数据? 3. 如何将n8n与AI大模型结合生成分析报告? 4. 除了MySQL,n8n还支持哪些数据库?</think>### 使用 n8n 连接 MySQL 进行数据分析的完整指南 #### 1. **安装 MySQL 节点** - 在 n8n 编辑器中点击 **+** 添加节点,搜索 `MySQL` - 安装官方 MySQL 节点(需重启 n8n) ```bash npm install n8n-nodes-mysql ``` #### 2. **配置数据库连接** ```json { "host": "your-mysql-host", "database": "your-database-name", "user": "username", "password": "your-password", "port": 3306, "ssl": true // 生产环境建议启用 } ``` > 💡 凭证通过 n8n 的加密系统安全存储[^3] #### 3. **构建数据分析工作流** **示例工作流:销售数据分析** ```mermaid graph LR A[MySQL节点] --> B[数据清洗节点] B --> C[聚合分析节点] C --> D[通义千问AI分析] D --> E[保存报告] ``` **步骤详解:** - **步骤1:执行 SQL 查询** ```sql SELECT product, SUM(sales) AS total_sales FROM orders WHERE order_date > '2023-01-01' GROUP BY product ``` ![MySQL 节点配置](https://n8n.io/nodes/n8n-nodes-base.mysql/mysql-node-config.png) - **步骤2:数据预处理** 使用 **Set** 节点: - 重命名字段:`total_sales` → `销售额` - 添加计算字段:`利润率 = (revenue - cost)/revenue` - **步骤3:AI 增强分析(引用[2])** ```python # 通义千问节点配置 prompt = """ 分析以下销售数据,指出Top3畅销产品和增长机会: {{ $json.data }} """ ``` 输出示例: > "根据数据分析,产品A以¥120,000的销售额领先,建议加大库存;产品C同比增长40%,具有最大增长潜力..." - **步骤4:输出结果** - 保存为 CSV:`Write to File` 节点 - 邮件通知:`Email` 节点 + 附件 - 存入数据仓库:`PostgreSQL` 节点 #### 4. **高级分析场景** **跨系统集成(引用[1][4])** ```mermaid graph TB MySQL -->|每日销售数据| n8n n8n -->|API| CRM[Salesforce] n8n -->|分析报告| Teams[Microsoft Teams] n8n -->|数据湖| S3[Amazon S3] ``` **性能优化技巧** - 增量查询:添加 `WHERE update_time > {{ $prevExecTimestamp }}` - 查询分页:启用 `Split Into Items` 处理百万级数据 - 定时触发:设置每日 2:00 AM 执行 #### 5. **安全配置** 1. 数据库权限:创建只读账号 2. 启用 n8n JWT 认证[^3] 3. 敏感数据使用环境变量: ```env DB_PASSWORD={{ $secrets.MYSQL_PWD }} ``` > ⚠️ 注意:生产环境建议通过 Docker 或 Kubernetes 部署 n8n 实现高可用[^4] --- ### 常见问题解决方案 | 问题现象 | 解决方法 | |---------|---------| | 连接超时 | 检查网络策略,确保端口 3306 开放 | | SSL 证书错误 | 在高级设置中添加 `ssl: { rejectUnauthorized: false }` | | 中文乱码 | 连接参数添加 `charset: 'utf8mb4'` | | 大内存消耗 | 启用 `streaming` 模式处理海量数据 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木有会

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值