【问题澄清】
- 目前文档中对 encrypt 操作,密码部分无引号进行包裹;如果上游 mysql 密码中包括但不限于,
@
等特殊字符正常加密,但是在 dm 同步过程中会因为密码错误而无法进行同步 - 相同的还有
!
等开头的特殊字符开头的密码,这种比较好察觉,加密时如果不使用引号包裹将会报错
【解决方案】
- 当出现 query-status 中出现同步用户:
Error 1045:Access denied for user 'dm_user'@'192.168.1.100';
类似报错需要考虑将密码重新加密,deploy 并重启 dm-worker。
【复现过程】
改为:./dmctl -encrypt 'oofe@7N****'
将可避免这个错误。
复现过程:
无引号:
- 修改当前密码
- 无引号加密
- 修改 inventory 文件
- deploy -t dm-worker
- 查看 dm-worker config 是否已经刷新
- 启动 dm 集群
- task 任务报错,帐号密码不正确。
有引号
- 有引号加密 & 修改 inventory 文件
- deploy dm-worker
- 查看 config 是否被修改
- 启动 dm 集群
- 检查 task 状态
【相关 pr】
文档改进已经提了 pr:zh: frame special characters with quotes by glkappe · Pull Request #105 · pingcap/docs-dm · GitHub