dinky/README.md

92 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

2025-02-12 17:03:12 +08:00
# 启动 Docker 容器
1. **启动容器**
在根目录下执行以下命令以启动Docker容器
```bash
docker-compose up -d
```
2. **查看容器状态**
使用以下命令检查容器是否正常运行:
```bash
docker ps
```
3. **配置 MySQL Binlog (仅适用于 windos)**
执行以下命令以确保MySQL配置文件权限正确
```bash
chmod 644 /etc/mysql/conf.d/my.cnf
```
这一步是为了启用binlog功能。
![dinky图标](./image/PixPin_2025-01-10_16-14-58.png "dinky")
修改配置文件后,重启容器使更改生效:
```bash
docker-compose restart
```
4. **验证 Binlog 是否开启**
进入MySQL容器并执行以下SQL语句来确认binlog是否已成功开启
```sql
SHOW VARIABLES LIKE 'log_bin';
```
如果显示 `ON` 则表示binlog已成功开启。
![dinky图标](./image/PixPin_2025-01-10_16-17-59.png "dinky")
可以看到我建的测试数据库demo(有表有数据)和数据同步(空表无数据)
![dinky图标](./image/PixPin_2025-01-10_16-21-27.png "dinky")
### 访问 Dinky 平台
打开浏览器访问 [http://localhost:8888/](http://localhost:8888/) 进入Dinky平台。
![dinky图标](./image/PixPin_2025-01-10_16-26-06.png "dinky")
#### 注册中心配置集群
在平台上进行注册中心的配置,设置集群信息。
#### 新建整库同步 Flink SQL 任务并运行
按照界面提示新建一个整库同步Flink SQL任务并开始运行该任务。
![dinky图标](./image/PixPin_2025-01-10_16-28-40.png "dinky")
```sql
-- 整库同步
SET 'execution.checkpointing.interval' = '10s';
SET 'execution.checkpointing.externalized-checkpoint-retention' = 'RETAIN_ON_CANCELLATION';
EXECUTE CDCSOURCE cdc_mysql WITH (
'connector' = 'mysql-cdc',
'hostname' = '10.23.0.209',
'port' = '3336',
'username' = 'root',
'password' = 'mysql57',
'checkpoint' = '3000',
'scan.startup.mode' = 'initial',
'parallelism' = '1',
'server-time-zone' = 'Asia/Shanghai',
'table-name' = 'demo\.admin_menu,demo\.admin_role',
'sink.connector' = 'jdbc',
'sink.url' = 'jdbc:mysql://10.23.0.209:3336/to_demo?characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai',
'sink.username' = 'root',
'sink.password' = 'mysql57',
'sink.sink.db' = 'to_demo',
'sink.table.prefix' = 'ods_',
'sink.table.lower' = 'true',
'sink.table-name' = '#{tableName}',
'sink.driver' = 'com.mysql.jdbc.Driver',
'sink.sink.buffer-flush.interval' = '2s',
'sink.sink.buffer-flush.max-rows' = '100',
'sink.sink.max-retries' = '5',
'sink.auto.create' = 'true'
);
```