官方文档:
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 ;