【关键词】YMP 迁移失败、account lock、openssl 加密不匹配

【问题现象】

使用 YMP 工具迁移数据时迁移失败,日志中频繁出现以下报错:

invalid username/password, login denied

the account is locked

账号信息确认无误,数据库连接配置也未改动,仍持续失败。

【影响版本】

YashanDB 版本:23.2.3.100 ~ 23.2.7.100

YMP 所在系统 OpenSSL 版本:低于 1.1.1

【问题根因】

虽然部署 YMP 时通过 --deps 参数引入了新版 openssl(>= 1.1.1),但实际数据迁移阶段所调用的 yasldr 工具依然使用的是操作系统默认的旧版本 openssl。

由于加密算法不兼容,数据库认证失败,造成多次登录失败,触发账户锁定机制(account lock)。

【修复方法】

步骤一:关闭 YMP 服务

sh bin/ymp.sh stop
步骤二:替换依赖的 lib 目录

cd /home/ymp/yashan-migrate-platform/bin/yashandb_client/
mv lib lib-bak
cp -r /home/ymp/yashan-migrate-platform/db/lib lib

说明:

lib 为加密库依赖目录;

替换后可确保使用新版 OpenSSL 提供的加密库。

步骤三:重启 YMP 服务并重新迁移

sh bin/ymp.sh start
再次执行迁移任务,即可成功连接数据库。

【规避建议】
image.png

【总结】

出现 account lock 报错并非数据库配置错误,而是加密通信不兼容引起;

原因是系统 openssl 版本太旧,影响到 YMP 调用链中的认证组件;

替换 lib 目录中依赖后可彻底规避该问题,建议作为部署 YMP 的固定步骤之一。


数据库砖家
1 声望0 粉丝