oblogproxy auth 认证失败问题

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】oblogproxy 2.0 ob4.2.1.8
【 使用版本 】社区版
【问题描述】oblogproxy + flinkcdc 项目启动失败,日志报错

【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

根据您提供的日志信息,oblogproxy 在尝试认证用户时出现了失败的情况。根据文档中的错误码信息 [4],当认证失败时通常会提示“访问被拒绝,认证 ‘%.*s’ 与 ‘%.*s’ 不匹配”,这表明可能是由于用户名或密码不正确导致的认证失败问题。

针对您的问题,建议您检查以下几个方面:

  1. 用户名和密码是否正确:请确保在创建用户时记录的用户名和密码与实际使用的完全一致。参考文档 [2] 中的示例 SQL 语句来创建用户和授权:

    obclient [(none)]> CREATE USER sys_user001 IDENTIFIED BY '******';
    obclient [(none)]> GRANT ALL PRIVILEGES ON *.* TO sys_user001 WITH GRANT OPTION;
    
  2. 用户权限是否足够:虽然示例中授予了所有权限,但如果您只授予了部分权限或者使用了不同的权限设置,请确保这些权限足以让 oblogproxy 正常工作。

  3. 网络问题:确认 oblogproxy 能够正常连接到 OceanBase 集群。有时候网络不稳定也可能导致认证请求失败。

  4. 配置文件检查:检查 oblogproxy 的配置文件,确保其中指定的用户名和密码字段正确无误。

  5. 日志详细信息:如果上述步骤均未解决问题,请关注更详细的日志输出,看是否有其他错误信息可以帮助定位问题。

如果以上方法都不能解决问题,建议联系 OceanBase 的技术支持团队获取进一步的帮助。同时,也可以尝试使用 obdiag 工具收集诊断信息以便于问题分析。

详情请参考:

  1. 使用 Canal 从 OceanBase 数据库同步数据到 MySQL 数据库
  2. 使用 Flink CDC 从 OceanBase 数据库迁移数据到 MySQL 数据库
  3. 使用 Debezium 连接 OceanBase 并获取数据
  4. 10000 ~ 12000
  5. 使用 ChunJun 从 OceanBase 数据库迁移数据到 MySQL 数据库
  6. 启动 OBProxy
  7. 4000 ~ 4499
  8. 重启 OBProxy 集群下全部 OBProxy
  9. 审计用户登录
  10. 删除 OBProxy

这个oblogproxy用户是什么用户,OB租户中跟本没有这个用户,项目配置中也没有这个用户

oblogproxy 是一个专门用于与 OceanBase 数据库交互的服务账户,用于订阅和处理数据库的增量日志。根据文档 [1],为了使 oblogproxy 能够正常工作,需要在 OceanBase 集群的 sys 租户中创建一个带有密码的用户。这表明 oblogproxy 用户并不是系统默认创建的用户,而是需要管理员根据实际需求手动创建的。

具体创建步骤如下:

  1. 登录到 OceanBase 集群的 sys 租户;
  2. 执行 SQL 语句创建新用户并赋予必要的权限。例如:
    CREATE USER oblogproxy IDENTIFIED BY 'your_password';
    GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO oblogproxy;
    

请注意,这里的 oblogproxy 只是一个示例用户名,您可以根据实际情况选择合适的用户名。重要的是确保该用户拥有足够的权限来完成其预定的功能,如上例中的 SELECT, REPLICATION SLAVE, REPLICATION CLIENT 权限。

如果您的 OB 租户中确实不存在该用户,那么很可能是之前没有人为此目的创建过相应的用户。在这种情况下,您需要按照上述步骤自行创建。此外,还需检查项目配置中是否正确指定了该用户的用户名和密码。

综上所述,oblogproxy 用户是一个需要手动创建的专用账户,用于实现增量日志的订阅与处理功能。如果在您的环境中尚未创建此类用户,请参照上述指导进行创建,并确保配置文件中正确配置了该用户的凭据信息。

详情请参考:

  1. 使用 Flink CDC 从 OceanBase 数据库迁移数据到 MySQL 数据库
  2. (可选)部署 OBProxy
  3. 通过命令行部署 ODP
  4. 升级 OBProxy
  5. 创建 OBProxy 集群
  6. 使用 Canal 从 OceanBase 数据库同步数据到 MySQL 数据库
  7. 删除 OBProxy
  8. 重启 OBProxy 集群下全部 OBProxy
  9. 使用 ChunJun 从 OceanBase 数据库迁移数据到 MySQL 数据库

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

flink cdc 任务里配置的是业务租户的用户,如果这里你填的不是 oblogproxy,需要看下 conf.json 里的 sys username 和 sys password 对不,正常 cdc 模式只会用到这两个用户。

flink工作正常配置业务租户的用户,oblogproxy的配置文件里配置oblogproxy用户没问题,我这的情况是密码之前配置的不对,重新加密生成在conf.json配置后重启oblogproxy就可以了,谢谢