一、dify安装与配置
相对来说很简单,前提是安装好docker
(一)git获取dify的代码
git clone https://github.***/langgenius/dify.git --branch 1.1.0
(二)复制配置,并进行docker ***pose安装
安装之前注意目录,git获取完成后,进入其中的docker目录,cd /home/user/dify/docker,运行dokcer ***pose up -d进行安装。不需要进行额外配置。如果需要可在.env中进行配置。
cp .env.example .env
docker ***pose up -d
# 验证安装是否成功
(base) [root@localhost docker]# pwd
/root/dify/docker
(base) [root@localhost docker]# docker ***pose ps
NAME IMAGE ***MAND SERVICE CREATED STATUS PORTS
docker-api-1 langgenius/dify-api:1.2.0 "/bin/bash /entrypoi…" api 25 hours ago Up 25 hours 5001/tcp
docker-db-1 postgres:15-alpine "docker-entrypoint.s…" db 25 hours ago Up 25 hours (healthy) 5432/tcp
docker-nginx-1 nginx:latest "sh -c 'cp /docker-e…" nginx 25 hours ago Up 25 hours 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp
docker-plugin_daemon-1 langgenius/dify-plugin-daemon:0.0.7-local "/bin/bash -c /app/e…" plugin_daemon 25 hours ago Up 25 hours 0.0.0.0:5003->5003/tcp, :::5003->5003/tcp
docker-redis-1 redis:6-alpine "docker-entrypoint.s…" redis 25 hours ago Up 25 hours (healthy) 6379/tcp
docker-sandbox-1 langgenius/dify-sandbox:0.2.11 "/main" sandbox 25 hours ago Up 25 hours (healthy)
docker-ssrf_proxy-1 ubuntu/squid:latest "sh -c 'cp /docker-e…" ssrf_proxy 25 hours ago Up 25 hours 3128/tcp
docker-weaviate-1 semitechnologies/weaviate:1.19.0 "/bin/weaviate --hos…" weaviate 25 hours ago Up 25 hours
docker-web-1 langgenius/dify-web:1.2.0 "/bin/sh ./entrypoin…" web 25 hours ago Up 25 hours 3000/tcp
docker-worker-1 langgenius/dify-api:1.2.0 "/bin/bash /entrypoi…" worker 25 hours ago Up 25 hours 5001/tcp
(base) [root@localhost docker]#
最后就完成了安装,这条命令会安装所有相关的服务,前端、后端以及必要的中间件服务。
dify前端界面默认地址http://localhost:3000,首次访问会进行一些基础配置。
二、安装MySQL,并创建好数据库以及数据
略。。。。。。
三、dify连接数据库
(一)安装必要插件
登录dify,点击插件,进入插件市场,搜索下面的插件进行安装
安装必要的,其中ollama,openai根据自己的情况进行安装。因为与MySQL连接需要用到AI大模型。
(二)配置MCP服务器
可以先跳到四大点去安装ollama,以及mcp服务器
mcp插件连接mcp服务器。需要安装mcp服务器,文章后面教程进行安装,点击插件会显示未授权,我的是已经弄好了。
将mcp服务器的地址复制进来即可。
墳写完成后、点击保存。这样、Dify 就能够通过MCP SSE描件与指定的MySQL服务地址进行通信。为后续的数据交互做好准备。
(三)创建agent,与MySQL进行通信
创建一个空白agent
创建流程如下。可以自己输入提示词。主要是写数据库的表结构,其次添加mcp工具
最后进行测试即可。右上角选择AI大模型
也可以自己建一个空白应用,然后选择agent组件进行配置。如下
最终效果
注意:必须关闭防火墙或者放行端口
四、ollama下载大模型
(一)ollama官方下载https://ollama.***/download/linux
curl -fsSL https://ollama.ai/install.sh | sh
(二)大模型下载
根据自己服务器配置下载大模型。如果测试使用最好下载较低的。查看可下载的模型:https://ollama.***/search
ollama pull qwen2.5:3b
五、mcp服务器下载配置
克隆代码
git clone https://github.***/wenb1n-dev/mysql_mcp_server_pro
进入git获取的代码目录,修改docker-***pose.yml文件,填写自己的数据库信息
cd /home/mysql_mcp_server_pro
vim docker-***pose.yml
version: '3.8'
services:
mysql-mcp-server:
build:
context: .
dockerfile: Dockerfile
container_name: mysql-mcp-server
ports:
- "9000:9000" # 如果你的应用监听 9000 端口,请根据实际情况调整
environment:
MYSQL_HOST: ${MYSQL_HOST:-192.168.110.**}
MYSQL_PORT: ${MYSQL_PORT:-3306}
MYSQL_USER: ${MYSQL_USER:-root}
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-123456}
MYSQL_DATABASE: ${MYSQL_DATABASE:-test}
MYSQL_ROLE: ${MYSQL_ROLE:-admin}
PYTHONPATH: /app/src
restart: always
***mand: ["python", "-m", "mysql_mcp_server_pro.server"]
运行docker-***pose.yml即可。
docker ***pose up -d
填入你的mcp服务器的地址和端口号,点击保存,显示操作成功说明配置完成。否则就不行,服务超时的话大部分原因是防火墙问题。关闭防火墙即可。
{"mysql_mcp_server_pro":{"url":"http://192.168.110.**:9000/sse"}}
六、总结
功夫不负有心人,终于在自己一步一步摸索中完成了dify与mysql的连接。
在一系列过程中,一定要注意防火墙要关闭。有时候安装服务或者其他软件时,可能会自动打开防火墙,比如宝塔,我就是。防火墙打开了导致mcp连不上。烦得很。本来已经连上了的,后面安装宝塔了就连不上了,我还以为服务器故障了,但是没想到是宝塔把防火墙打开了。为了解决这个问题我还把宝塔卸载了,结果还是没好,让我一顿陷入沉思。最终思考一番,想到了防火墙。