更换元数据库(Docker)
本文档介绍 CloudCanal Docker 部署如何更换元数据库。
CloudCanal 默认提供了元数据库镜像(MySQL),但是用户上生产,希望能够用自有的、更加稳定、且得到良好维护的元数据库,本文做了具体的操作描述。
导出已有元数据库
docker 宿主机上执行以下命令,导出 cloudcanal_console 库内容
# 进入cloudcanal-mysql容器
docker exec -it cloudcanal-mysql /bin/bash
# 导出 cloudcanal_console 库内容
mysqldump -uroot -proot --databases cloudcanal_console > ./cloudcanal_console.sql
# 退出容器,将 dump 出来的文件 copy 到宿主机
docker cp cloudcanal-mysql:/tmp/cloudcanal_console.sql .
准备好新的元数据库 MySQL ,将数据导入新元数据库
mysql> source ${YOUR_PATH}/cloudcanal_console.sql;
PS:请确保您准备的数据库与 cloudcanal-mysql容器的数据库版本一致,否则需要人工修改数据库表字符集。
修改 console 容器中 springboot 配置文件中配置
- 文件路径:/{LOGIN_USER}/cloudcanal_home/console_data/console/conf/business-output.properties
- 修改配置项
- spring.datasource.url
- spring.datasource.username
- spring.datasource.password
重启 console 容器并确认能够正常登陆控制台
常见问题
账号权限
- 请确保修改后的账号对 CloudCanal 元数据库有以下权限:
SELECT
、UPDATE
、DELETE
、INSERT
、CREATE
、DROP
、INDEX
、ALTER
、EXECUTE
、CREATE ROUTINE
、ALTER ROUTINE
。GRANT SELECT,UPDATE,DELETE,INSERT,CREATE,DROP,INDEX,ALTER,EXECUTE,CREATE ROUTINE,ALTER ROUTINE ON cloudcanal_console.* TO common_user@'%';