DBeaver不提供密码复杂度规则配置功能,所有密码强度要求均由目标数据库(如MySQL的validate_password插件、openGauss/Doris硬编码规则)服务端强制执行;DBeaver仅原样传递密码并显示后端返回的认证错误。

DBeaver 本身不提供密码复杂度规则配置功能 —— 它不校验、不生成、也不强制执行数据库用户的密码策略。所有你看到的“密码强度要求”,实际来自目标数据库(如 MySQL、openGauss、Doris)自身的验证插件或服务端配置。DBeaver 只是把你的输入原样传过去,连接失败时抛出的错误也来自数据库后端。
MySQL 的 validate_password 插件怎么关/调低强度
很多用户在 DBeaver 里新建连接时输 123456 报错 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,本质是 MySQL 启用了 validate_password 插件。
- 登录 MySQL 后(用临时密码或已有高权限账号),执行以下命令临时放宽:
SET GLOBAL validate_password_policy = LOW; SET GLOBAL validate_password_length = 6;
注意:LOW 模式只检查密码长度(默认 8),设成 6 后才能用短密码;MEDIUM(默认)会额外要求大小写字母+数字+特殊字符各至少 1 个。
- 永久生效需修改
my.cnf,在[mysqld]下加:
validate_password_policy=LOW validate_password_length=6
改完重启 mysqld 服务。不建议生产环境关闭,测试环境可接受。
openGauss 和 Doris 的密码复杂度在哪设
这两者不依赖插件,而是硬编码在服务端逻辑里,无法通过 SQL 动态调整,必须在创建用户时满足规则,否则 CREATE USER 直接报错。
- openGauss 要求:至少 8 位,含大小写字母 + 数字 + 特殊字符(如
Op3nG@uss!),且不能含单引号(')——否则 SQL 解析失败 - Doris 要求类似,官方文档明确写“必须包含大小写字母、数字、特殊字符”,示例密码如
Str0ngP@ss!2023 - 达梦 DM8 要求:8–48 位,大小写+数字组合(不要求特殊字符,但推荐加)
你不能在 DBeaver 里“设置”这些规则,只能在建用户时遵守。如果 DBeaver 连接提示 authentication failed,先确认是不是密码没达标,而不是怀疑 DBeaver 配置错了。
DBeaver 自身密码存储是否受复杂度影响
不受。DBeaver 本地加密保存的是你填在连接配置里的密码(比如 root 用户的密码),用的是 AES-128-CBC,和数据库服务端的复杂度策略完全无关。
- 它不会校验你输入的密码是否“够强”,也不会阻止你存一个
123这样的弱密码 - 但它会拒绝保存空密码(除非你手动清空字段并勾选“保存密码”,此时连接时仍会传空值,大概率被数据库拒绝)
- 密码明文只存在于内存中,落盘即加密,密钥由操作系统凭据库(Windows Credential Manager / macOS Keychain / Linux KWallet)保护
所以别指望靠 DBeaver 来帮你 enforce 密码策略 —— 它连这个能力都没有。真正起作用的,永远是数据库服务端的配置和用户创建流程。
最容易被忽略的一点:很多人以为在 DBeaver 里改了某个设置就能让 MySQL 接受简单密码,结果折腾半天发现根本不是 DBeaver 的事。记住,DBeaver 是信使,不是裁判;密码规则永远在数据库那边,不在客户端界面里。











