CREATE USER 'debezium_test'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxx'; # 此处天坑
GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'debezium_test'@'%';
GRANT ALL PRIVILEGES ON datapack_fund_and_institution.* TO 'debezium_test'@'%';
GRANT ALL PRIVILEGES ON dataapp_fund_and_institution.* TO 'debezium_test'@'%';
GRANT ALL PRIVILEGES ON delta_fund_and_institution.* TO 'debezium_test'@'%';
GRANT ALL PRIVILEGES ON amac_service.* TO 'debezium_test'@'%';
GRANT ALL PRIVILEGES ON dbv5.* TO 'debezium_test'@'%';
FLUSH PRIVILEGES;
mysql8 默认使用 sha256_password 方式身份验证,这种验证方式需要在数据库连接上添加 allowPublicKeyRetrieval=true 参数,而 debezium 没有添加,所以连接数据库时会报错。所以在使用 mysql8 时我们需要指定使用 mysql_native_password 方式身份验证
- 注册
任意 但要见名知意
curl -i -X POST -H "Accept:application/json" -H "Content-Type:application/json" 127.0.0.1:8083/connectors/ -d '{
"name": "dp_enterprise_dev", # 任意
"config": {
"connector.class": "io.debezium.connector.mysql.MySqlConnector",
"tasks.max": "1",
"database.hostname": "127.0.0.1",
"database.port": "3306",
"database.user": "debezium",
"database.password": "xxxx",
"database.server.id": "184054", # 任意
"database.server.name": "dp_enterprise", # 任意
"database.whitelist": "alignment", # 监听DB
"database.history.kafka.bootstrap.servers": "kafka1:9092", # kafka地址
"database.history.kafka.topic": "dp_enterprise_dev" # 任意
}
}'
- 检查是否注册成功
curl -H "Accept:application/json" 172.23.0.21:8083/connectors/