MySQL Configuration 

拉取 image



docker pull mysql:5.7.35


使用 Canal 增量同步 MySQL 到 ES (上)_mysql

 

创建 container 



docker run --name mysql5 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.35


使用 Canal 增量同步 MySQL 到 ES (上)_bash_02

 

查看容器是否开启 binlog



docker exec -it mysql5 bash
mysql -uroot -p123456
show variables like '%log_bin%';


使用 Canal 增量同步 MySQL 到 ES (上)_elasticsearch_03

 

退出 bash 后,开启 binlog



docker exec mysql5 bash -c "echo 'log-bin=/var/lib/mysql/mysql-bin' >> /etc/mysql/mysql.conf.d/mysqld.cnf"
docker exec mysql5 bash -c "echo 'binlog-format=ROW' >> /etc/mysql/mysql.conf.d/mysqld.cnf"
docker exec mysql5 bash -c "echo 'server-id=1' >> /etc/mysql/mysql.conf.d/mysqld.cnf"
docker restart mysql5


 

重启后,再次执行



show variables like '%log_bin%';


使用 Canal 增量同步 MySQL 到 ES (上)_docker_04

 

也可以登录宿主机查看



cd /var/lib/mysql
ls -lrth


使用 Canal 增量同步 MySQL 到 ES (上)_mysql_05

 

在数据库中创建一个数据库、表,插入一些数据,查看 binlog



show binlog events in 'mysql-bin.000001';


使用 Canal 增量同步 MySQL 到 ES (上)_bash_06

 

ElasticSearch Configuration

拉取 image



docker pull elasticsearch:7.13.4


使用 Canal 增量同步 MySQL 到 ES (上)_mysql_07

 

创建自定义网络



docker network create esnetwork


使用 Canal 增量同步 MySQL 到 ES (上)_docker_08

 

创建 container



docker run --name elasticsearch --net esnetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.13.4


使用 Canal 增量同步 MySQL 到 ES (上)_bash_09

 

查看是否启动成功



curl http://localhost:9200/


使用 Canal 增量同步 MySQL 到 ES (上)_docker_10

 

Kibana Configuration

拉取 image



docker pull kibana:7.13.4


使用 Canal 增量同步 MySQL 到 ES (上)_docker_11

 

创建自定义网络



docker network create esnetwork


Note:由于安装 ES 的时候已经创建过,这步可以省略

 

创建 container



docker run --name kibana --net esnetwork -p 5601:5601 -d kibana:7.13.4


使用 Canal 增量同步 MySQL 到 ES (上)_ELK_12

 

查看是否启动成功,浏览器打开 ​​http://localhost:5601/​

使用 Canal 增量同步 MySQL 到 ES (上)_bash_13

 


 

欢迎点赞关注和收藏

使用 Canal 增量同步 MySQL 到 ES (上)_bash_14

 


强者自救 圣者渡人