1 官网下载Flink 1.14.4版本
2 移动到 /opt/module/
cd /opt/module/
tar -zxvf flink-1.14.4-bin-scala_2.11.tgz
3 下载mysql驱动包 和 flink连接mysql的jar包
cd /opt/module/flink-1.14.4/lib
wget https://repo.maven.apache.org/maven2/org/apache/flink/flink-connector-jdbc_2.11/1.14.4/flink-connector-jdbc_2.11-1.14.4.jar
wget https://repo.maven.apache.org/maven2/mysql/mysql-connector-java/5.1.37/mysql-connector-java-5.1.37.jar
4、启动Flink-cluster
/opt/module/flink-1.14.4/bin/start-cluster.sh
5、启动sql-client
/opt/module/flink-1.14.4/bin/sql-client.sh embedded
6、在mysql创建2张表 并插入数据
create database demo character set utf8mb4;
use demo;
create table student1(`id` int primary key, `name` varchar(128), `age` int);
create table student2(`id` int primary key, `name` varchar(128), `age` int);
insert into student1 values(10001,'paul',20);
insert into student1 values(10002,'lihong',21);
insert into student1 values(10003,'wangdong',22);
insert into student2 values(10004,'lihong',15);
insert into student2 values(10005,'wangwu',21);
insert into student2 values(10006,'zhangsan',27);
7、在Flink 客户端输入映射mysql的Flink DDL语句
FLINK SQL >
create table MyUserTable1(
`id` int ,
`name` varchar(128),
`age` int,
PRIMARY KEY (id) NOT ENFORCED
) WITH (
'connector' = 'jdbc',
'driver'='com.mysql.cj.jdbc.Driver',
'url' = 'jdbc:mysql://localhost:3306/demo',
'table-name' = 'student1',
'username' = 'test',
'password' = '123456',
'sink.buffer-flush.max-rows' = '10'
);
FLINK SQL >
create table MyUserTable1(
`id` int ,
`name` varchar(128),
`age` int,
PRIMARY KEY (id) NOT ENFORCED
) WITH (
'connector' = 'jdbc',
'driver'='com.mysql.cj.jdbc.Driver',
'url' = 'jdbc:mysql://localhost:3306/demo',
'table-name' = 'student2',
'username' = 'test',
'password' = '123456',
'sink.buffer-flush.max-rows' = '10'
);
FLINK SQL >
INSERT INTO MyUserTable1
SELECT id, name, age FROM MyUserTable2;
FLINK SQL >
SELECT id, name, age FROM MyUserTable1;
8、通过Flink sql-client可以看到表2数据已经插入到表1,同时查看数据库表也增加了数据