Dify插件Database配置时链接失败问题解决

一、遇到的问题

在Dify平台配置database插件时,测试连接失败,报错信息如下:

配置url >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

mysql+pymysql://root:123123@IP:3306/test

报错 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

复制代码
PluginInvokeError: {"args":{},"error_type":"ToolProviderCredentialValidationError","message":"(pymysql.err.OperationalError) (1130, \"Host 'IP' is not allowed to connect to this MySQL server\")"}

问题本质 :MySQL服务器拒绝了来自Dify部署的服务器IP的连接请求,没有为该IP地址授权访问。

结题思路:为其增加访问权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'IP' IDENTIFIED BY '123123' WITH GRANT OPTION;

二、尝试解决遇到的卡点

最初尝试用以下命令授权:

sql

复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'IP' IDENTIFIED BY '123123' WITH GRANT OPTION;

报错:

复制代码

原因 :MySQL 8.0+ 版本中,GRANT 语句不能再使用 IDENTIFIED BY 来同时创建用户和设置密码。

三、如何成功解决

了解MySQL权限机制

查询 mysql.user 表的作用:

  • 存储所有用户账户User + Host 组合)

  • 存储全局权限Select_privInsert_priv等)

  • 在MySQL中,'root'@'localhost''root'@'IP' 是两个独立的用户

  • 即使已经有了用户root,该表默认只有一个**权限关系,**即root'@'localhost,如果外部IP(例如你部署Dify的服务器IP)想要链接你的本地数据库,就要新增一个权限关系'root'@'IP'也就是执行以下语句,1️⃣新增权限关系,2️⃣授权3️⃣刷新权限

正确授权步骤(MySQL 8.0+)

1️⃣第一步:创建用户

sql

复制代码
CREATE USER 'root'@'IP' IDENTIFIED BY '你的密码';

2️⃣****第二步:授予权限

sql

复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'IP' WITH GRANT OPTION;

3️⃣第三步:刷新权限

sql

复制代码
FLUSH PRIVILEGES;

验证结果

sql

复制代码
-- 查看用户是否创建成功
SELECT host, user FROM mysql.user WHERE user = 'root';
-- 应看到两条记录:原有IP + 新IP IP

最终验证结果,配置成功

相关推荐
量子物理学2 天前
Ubuntu上本地部署Dify
dify
jcbut2 天前
离线安装dify 1.7
linux·运维·dify
是烨笙啊3 天前
如何获取 dify-deploy skill 所需要的三个key值
人工智能·ai编程·dify
难以触及的高度3 天前
Dify 本地部署实操全教程:零基础快速搭建私有化 AI 应用
人工智能·ai·github·ai编程·dify
横石拦浪7 天前
Dify内网项目解决tiktoken连接问题
dify
IT19958 天前
Dify笔记-知识库创建后设置和召回测试
笔记·dify
倔强的石头1068 天前
Dify 接入蓝耘 MaaS:从 0 搭建一个企业知识库问答助手
人工智能·dify·蓝耘
key_3_feng10 天前
基于Dify+EdgeOne的化学试剂反应在线展示系统
dify·difyxedgeone
眼眸流转12 天前
Dify学习笔记
笔记·学习·agent·dify
程序员柒叔12 天前
Dify 一周动态-2026-W22
人工智能·大模型·github·agent·知识库·dify