当前位置: 首页 > news >正文

网站地图表现形式罗湖网页设计

网站地图表现形式,罗湖网页设计,济南网站开发公司排名,网络营销的主要形式基本介绍 Canal介绍:Canal 是用 Java 开发的基于数据库增量日志解析,提供增量数据订阅&消费的中间件(数据库同步需要阿里的 Otter 中间件,基于 Canal)。 Canal背景:阿里巴巴 B2B 公司,因为…

基本介绍

Canal介绍:Canal 是用 Java 开发的基于数据库增量日志解析,提供增量数据订阅&消费的中间件(数据库同步需要阿里的 Otter 中间件,基于 Canal)。

Canal背景:阿里巴巴 B2B 公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了同步杭州和美国异地机房的需求,从 2010 年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务。

canal的工作原理是将自己伪装成mysql的slave节点,来订阅mysql binlog的变更,所以在配置启动canal前,需要先配置mysql。

Canal是基于mysql的主从同步来实现的,MySQL主从同步的原理如下:

  • 1)MySQL master 将数据变更写入二进制日志( binary log),其中记录的数据叫做binary log events

  • 2)MySQL slave 将 master 的 binary log events拷贝到它的中继日志(relay log)

  • 3)MySQL slave 重放 relay log 中事件,将数据变更反映它自己的数据

而Canal就是把自己伪装成MySQL的一个slave节点,从而监听master的binary log变化。再把得到的变化信息通知给Canal的客户端,进而完成对其它数据库的同步。  

安装配置MySQL

安装mysql

docker run \--name mysql \-e MYSQL_ROOT_PASSWORD=root \-p 3306:3306 \-v /mysql/conf/myLocal.cnf:/etc/mysql/conf.d \-v /mysql/data:/var/lib/musql \-d \mysql:5.7.25
docker run \									   # 创建并运行一个容器--name mysql \								   # 给容器个名字叫mysql-e MYSQL_ROOT_PASSWORD=root \				   # 设置mysql登录,密码为root-p 3306:3306								   # 把宿主机3306端口和容器的3306端口相关联-v /mysql/conf/myLocal.cnf:/etc/mysql/conf.d \ # 宿主myLocal.cnf文件挂载到容器conf.d文件-v /mysql/data:/var/lib/musql \				   # 宿主data目录挂载到容器mysql目录-d \										   # 后台运行mysql:5.7.25								   # 需要启动的镜像名称

修改配置文件 

打开mysql容器挂载的日志文件,比如我的在`/tmp/mysql/conf`目录。对my.cnf进行修改,添加以下内容:

log-bin=/var/lib/mysql/mysql-bin
binlog-do-db=heima

配置解读:

  • log-bin=/var/lib/mysql/mysql-bin:设置binary log文件的存放地址和文件名,叫做mysql-bin

  • binlog-do-db=heima:指定对哪个database记录binary log events,这里记录heima这个库

最终效果:

[mysqld]
skip-name-resolve
character_set_server=utf8
datadir=/var/lib/mysql
server-id=1000
log-bin=/var/lib/mysql/mysql-bin
binlog-do-db=heima

设置用户权限

 接下来添加一个仅用于数据同步的账户,出于安全考虑,这里仅提供对heima这个库的操作权限。

create user canal@'%' IDENTIFIED by 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT,SUPER ON *.* TO 'canal'@'%' identified by 'canal';
FLUSH PRIVILEGES;

 然后重启MySQL

安装Canal

创建网络

需要创建一个网络,将MySQL、Canal、MQ放到同一个Docker网络中:

docker network create heima

让mysql加入这个网络:

docker network connect heima mysql

安装运行Cannal

拉取Canal的镜像文件:

docker pull canal/canal-server:v1.1.5

然后运行命令创建Canal容器:

docker run -p 11111:11111 --name canal \
-e canal.destinations=heima \
-e canal.instance.master.address=mysql:3306  \
-e canal.instance.dbUsername=canal  \
-e canal.instance.dbPassword=canal  \
-e canal.instance.connectionCharset=UTF-8 \
-e canal.instance.tsdb.enable=true \
-e canal.instance.gtidon=false  \
-e canal.instance.filter.regex=heima\\..* \
--network heima \
-d canal/canal-server:v1.1.5

说明:

  • -p 11111:11111:这是canal的默认监听端口

  • -e canal.instance.master.address=mysql:3306:数据库地址和端口,如果不知道mysql容器地址,可以通过docker inspect 容器id来查看

  • -e canal.instance.dbUsername=canal:数据库用户名

  • -e canal.instance.dbPassword=canal :数据库密码

  • -e canal.instance.filter.regex=:要监听的表名称

表名称监听支持的语法:

mysql 数据解析关注的表,Perl正则表达式.
多个正则之间以逗号(,)分隔,转义符需要双斜杠(\\) 
常见例子:

  • 1.  所有表:.*   or  .*\\..*
  • 2.  canal schema下所有表: canal\\..*
  • 3.  canal下的以canal打头的表:canal\\.canal.*
  • 4.  canal schema下的一张表:canal.test1
  • 5.  多个规则组合使用然后以逗号隔开:canal\\..*,mysql.test1,mysql.test2  

http://www.yayakq.cn/news/286172/

相关文章:

  • 网站建设维护管理软件国际贸易英文网站
  • 书店网站建设可行性分析网站开发人员招募费用
  • 湛江 网站建设wordpress各个文件
  • php 做网站用dw做网站 主题是哪个
  • 人流什么时间做 新闻源网站找效果图去哪个网站
  • phpcms v9 网站建设入门网站代码素材
  • 网站建设易网运城学院教务网络管理系统
  • 长春火车站是哪个站加工平台校准系统
  • 网站建设推广软文案例腾讯网站站内面包屑导航
  • 手机商场网站制作网站敏感词汇
  • iis8出现在网站首页东莞淘宝运营
  • 公司网站不备案和备案有什么区别Wordpress不显示功能
  • 网站排版类型专业建站公司前景
  • flash网站怎么做音乐停止广州比较大的外贸公司
  • 免费的视频网站推广软件百度指数总结
  • 网站建设的公司哪家是上市公司地方网站怎么做
  • 美妆网站制作教程网站建设公司相关资质
  • 宁波网站建设销售什么是php网站
  • 外贸箱包网站模板内蒙古呼和浩特景点
  • 做服装行业网站建设网站课程设计摘要
  • 四川省建设厅工地安全网站百度快照什么意思
  • 电影网站建设成本昆明做商城网站多少钱
  • 电子商务网站模式有网站怎么做下载直链
  • 树脂工艺品网站建设公司口碑最好的装修公司排行
  • 河北邯郸做网站沈阳网站建设的价格
  • 文化网站策划国外网站设计网站
  • 网站建设先进个人典型材料微信开发 网站备案吗
  • 邯郸市建设局网站政策做网站买了域名后
  • asp手机网站优秀商业空间设计案例分析
  • 网站开发公司哪里寻找客源平面设计与网页设计培训