【关键词】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
再次执行迁移任务,即可成功连接数据库。
【规避建议】
【总结】
出现 account lock 报错并非数据库配置错误,而是加密通信不兼容引起;
原因是系统 openssl 版本太旧,影响到 YMP 调用链中的认证组件;
替换 lib 目录中依赖后可彻底规避该问题,建议作为部署 YMP 的固定步骤之一。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。