oms部署问题

官方文档:
https://www.oceanbase.com/docs/community-oms-cn-1000000000707374

部署方式:单节点有配置文件部署

sudo docker run --name oms-config-tool reg.docker.alibaba-inc.com/oceanbase/oms:feature_4.2.3_ce bash && sudo docker cp oms-config-tool:/root/docker_remote_deploy.sh . && sudo docker rm -f oms-config-tool

#sh docker_remote_deploy.sh -o /data/odoms/ -c /home/admin/config.yaml -i 10.x.x.x -d reg.docker.alibaba-inc.com/oceanbase/oms:feature_4.2.3_ce

最后一步报错:

2024-05-31 16:26:44,532-Oms-WARNING oms_init_manager.get_safe_engine.56 :create database oms_cm_hb
CREATE DATABASE OMS_CM_HB

Traceback (most recent call last):
  File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/root/omsflow/scripts/units/oms_init_manager.py", line 1230, in <module>
    main()
  File "/root/omsflow/scripts/units/oms_init_manager.py", line 1208, in main
    init_manager.init_database()
  File "/root/omsflow/scripts/units/oms_init_manager.py", line 89, in init_database
    self.get_hb_engine()
  File "/root/omsflow/scripts/units/oms_init_manager.py", line 78, in get_hb_engine
    return self.get_safe_engine('_drc_hb_meta_uri')
  File "/root/omsflow/scripts/units/oms_init_manager.py", line 58, in get_safe_engine
    create_database(engine.url)
  File "/usr/lib/python2.7/site-packages/sqlalchemy_utils/functions/database.py", line 576, in create_database
    result_proxy = engine.execute(text)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2166, in execute
    return connection.execute(statement, *multiparams, **params)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 982, in execute
    return self._execute_text(object_, multiparams, params)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1155, in _execute_text
    parameters,
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1248, in _execute_context
    e, statement, parameters, cursor, context
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1466, in _handle_dbapi_exception
    util.raise_from_cause(sqlalchemy_exception, exc_info)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 383, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1244, in _execute_context
    cursor, statement, parameters, context
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/lib/python2.7/site-packages/pymysql/cursors.py", line 163, in execute
    result = self._query(query)
  File "/usr/lib/python2.7/site-packages/pymysql/cursors.py", line 321, in _query
    conn.query(q)
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 505, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 724, in _read_query_result
    result.read()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 1069, in read
    first_packet = self.connection._read_packet()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 676, in _read_packet
    packet.raise_for_error()
  File "/usr/lib/python2.7/site-packages/pymysql/protocol.py", line 223, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/lib/python2.7/site-packages/pymysql/err.py", line 107, in raise_mysql_exception
    raise errorclass(errno, errval)
sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1044, u"Access denied for user 'tnt_odc'@'%' to database 'oms_cm_hb'")
[SQL: CREATE DATABASE oms_cm_hb CHARACTER SET = 'utf8']
(Background on this error at: http://sqlalche.me/e/e3q8)

--------------------------------------------------------------------------------
# 【结束】初始化失败,当前命令: python -m omsflow.scripts.units.oms_init_manager --init-db 
--------------------------------------------------------------------------------

但是按config.yaml的数据库配置是可以连上数据库的。

drc_rm_db: oms_rm
drc_cm_db: oms_cm
drc_cm_heartbeat_db: oms_cm_hb

这三个库在执行docker_remote_deploy.sh 脚本前已经创建,并且是default charset utf8mb4 ;

已经解决,旧版本是oms_cm_heartbeat这个库名,新版版是oms_cm_hb这个库名。