https://my.oschina.net/teddyIH/blog/3102095
然后在MySQL中需要创建一个用户,并授权:
— 使用命令登录:mysql -u root -p
— 创建用户 用户名:canal 密码:Canal@123456
create user ‘canal’@’%’ identified by ‘Canal@123456’;
— 授权 .表示所有库
grant SELECT, REPLICATION SLAVE, REPLICATION CLIENT on . to ‘canal’@’%’ identified by ‘Canal@123456’;
下一步在MySQL配置文件my.cnf设置如下信息:
查看修改状态
canal-admin部署
下载镜像
#拉取 canal Admin镜像$ docker pull canal/canal-admin:v1.1.4
启动容器
#拉取启动脚本wget https://raw.githubusercontent.com/alibaba/canal/master/docker/run_admin.sh#运行脚本 此时mysql在docker内部sh run_admin.sh -e server.port=8089 \-e canal.adminUser=admin \-e canal.adminPasswd=adminsh run_admin.sh -e server.port=8089 \-e canal.adminUser=admin \-e canal.adminPasswd=admin \-e spring.datasource.address=39.103.173.206 \-e spring.datasource.database=canal_manager_alpha \-e spring.datasource.username=root \-e spring.datasource.password=Aa11223344#查看启动日志$ docker logs canal-adminDOCKER_DEPLOY_TYPE=VM==> INIT /alidata/init/02init-sshd.sh==> EXIT CODE: 0==> INIT /alidata/init/fix-hosts.py==> EXIT CODE: 0==> INIT DEFAULTGenerating SSH1 RSA host key: [ OK ]Starting sshd: [ OK ]Starting crond: [ OK ]==> INIT DONE==> RUN /home/admin/app.sh==> START ...start mysql ...Starting mysqld: [ OK ]start mysql successfulstart admin ...start canal successful==> START SUCCESSFUL ...
数据库脚本
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `canal_manager_alpha` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */;USE `canal_manager_alpha`;SET NAMES utf8;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for canal_adapter_config-- ----------------------------DROP TABLE IF EXISTS `canal_adapter_config`;CREATE TABLE `canal_adapter_config` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`category` varchar(45) NOT NULL,`name` varchar(45) NOT NULL,`status` varchar(45) DEFAULT NULL,`content` text NOT NULL,`modified_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ Table structure for canal_cluster-- ----------------------------DROP TABLE IF EXISTS `canal_cluster`;CREATE TABLE `canal_cluster` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`name` varchar(63) NOT NULL,`zk_hosts` varchar(255) NOT NULL,`modified_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ Table structure for canal_config-- ----------------------------DROP TABLE IF EXISTS `canal_config`;CREATE TABLE `canal_config` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`cluster_id` bigint(20) DEFAULT NULL,`server_id` bigint(20) DEFAULT NULL,`name` varchar(45) NOT NULL,`status` varchar(45) DEFAULT NULL,`content` text NOT NULL,`content_md5` varchar(128) NOT NULL,`modified_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`),UNIQUE KEY `sid_UNIQUE` (`server_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ Table structure for canal_instance_config-- ----------------------------DROP TABLE IF EXISTS `canal_instance_config`;CREATE TABLE `canal_instance_config` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`cluster_id` bigint(20) DEFAULT NULL,`server_id` bigint(20) DEFAULT NULL,`name` varchar(45) NOT NULL,`status` varchar(45) DEFAULT NULL,`content` text NOT NULL,`content_md5` varchar(128) DEFAULT NULL,`modified_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`),UNIQUE KEY `name_UNIQUE` (`name`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ Table structure for canal_node_server-- ----------------------------DROP TABLE IF EXISTS `canal_node_server`;CREATE TABLE `canal_node_server` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`cluster_id` bigint(20) DEFAULT NULL,`name` varchar(63) NOT NULL,`ip` varchar(63) NOT NULL,`admin_port` int(11) DEFAULT NULL,`tcp_port` int(11) DEFAULT NULL,`metric_port` int(11) DEFAULT NULL,`status` varchar(45) DEFAULT NULL,`modified_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ Table structure for canal_user-- ----------------------------DROP TABLE IF EXISTS `canal_user`;CREATE TABLE `canal_user` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`username` varchar(31) NOT NULL,`password` varchar(128) NOT NULL,`name` varchar(31) NOT NULL,`roles` varchar(31) NOT NULL,`introduction` varchar(255) DEFAULT NULL,`avatar` varchar(255) DEFAULT NULL,`creation_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;SET FOREIGN_KEY_CHECKS = 1;-- ------------------------------ Records of canal_user-- ----------------------------BEGIN;INSERT INTO `canal_user` VALUES (1, 'admin', '6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9', 'Canal Manager', 'admin', NULL, NULL, '2019-07-14 00:05:28');COMMIT;SET FOREIGN_KEY_CHECKS = 1;
访问系统

部署canal-server
下载镜像
docker pull canal/canal-server:v1.1.4
启动容器
# 下载脚本wget https://raw.githubusercontent.com/alibaba/canal/master/docker/run.sh#运行脚本sh run.sh -e canal.admin.manager=39.103.173.206:8089 \-e canal.admin.port=11110 \-e canal.admin.user=admin \-e canal.admin.passwd=4ACFE3202A5FF5CF467898FC58AAB1D615029441
查看canal-server

