canal-admin启动报错:Public Key Retrieval is not allowed
时间: 2023-11-21 15:57:02 浏览: 362
这个问题是由于MySQL 8.0版本默认禁用了public key的检索,而canal-admin使用的是MySQL 8.0版本以上的驱动,所以会出现这个问题。解决方法如下:
1.在MySQL 8.0版本以上的数据库中,执行以下命令开启public key检索:
```sql
set global allow_public_key_retrieval=1;
```
2.在canal-admin的启动脚本中添加以下JVM参数:
```shell
-Dspring.datasource.url=jdbc:mysql://ip:port/canal_admin?useSSL=false&allowPublicKeyRetrieval=true
```
其中ip和port分别为MySQL数据库的IP地址和端口号。
3.重启canal-admin即可。
相关问题
docker部署canal-admin
你可以按照以下步骤使用Docker部署Canal-Admin:
1. 首先,确保已经安装了Docker和Docker Compose。如果没有安装,可以根据你的操作系统进行安装。
2. 创建一个名为`docker-compose.yml`的文件,并在其中添加以下内容:
```yaml
version: '3'
services:
canal-admin:
image: canaladmin/canal-admin:v1.1.4
ports:
- 8089:8089
environment:
- canal.adminUser=admin
- canal.adminPass=admin
- canal.adminPort=8089
- canal.adminConfigPath=/home/admin/config
volumes:
- ./config:/home/admin/config
restart: always
```
3. 在与`docker-compose.yml`文件相同的目录下创建一个名为`config`的文件夹,并在其中创建一个名为`canal.properties`的文件。在该文件中添加以下配置:
```
canal.admin.manager = canal-admin
canal.admin.port = 8089
canal.admin.user = admin
canal.admin.passwd = admin
```
4. 运行以下命令启动Canal-Admin容器:
```
docker-compose up -d
```
5. 等待一段时间后,Canal-Admin容器应该已经成功启动了。你可以通过访问`http://localhost:8089`来访问Canal-Admin的管理界面。
请注意,上述配置中的用户名和密码都是默认的,你可以根据需要进行修改。另外,如果你想使用其他端口号,可以将`8089:8089`中的第一个端口号修改为你想要使用的端口号。
阅读全文