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

小程序店铺装修教程手机游戏性能优化软件

小程序店铺装修教程,手机游戏性能优化软件,购物网站用那个软件做,谷歌有做网站建设1.Canal介绍 Canal是阿里巴巴的一个开源项目,基于java实现,整体已经在很多大型的互联网项目生产环境中使用,包括阿里、美团等都有广泛的应用,是一个非常成熟的数据库同步方案,基础的使用只需要进行简单的配置即可。 …

1.Canal介绍

Canal是阿里巴巴的一个开源项目,基于java实现,整体已经在很多大型的互联网项目生产环境中使用,包括阿里、美团等都有广泛的应用,是一个非常成熟的数据库同步方案,基础的使用只需要进行简单的配置即可。

Canal是通过模拟成为mysqlslave的方式,监听mysqlbinlog日志来获取数据,binlog设置为row 模式以后,不仅能获取到执行的每一个增删改的脚本,同时还能获取到修改前和修改后的数据,基于这个特性,Canal就能高性能的获取到mysql数据数据的变更。

在这里插入图片描述

Canal的工作原理就是把自己伪装成MySQL slave,模拟MySQL slave的交互协议向MySQL Mater发送 dump协议,MySQL mater收到Canal发送过来的dump请求,开始推送binary logCanal,然后Canal解析binary log,再发送到存储目的地,比如MySQLKafkaElasticSearch等等。

2. 开启MySQL主从

Canal是基于MySQL的主从同步功能,因此必须先开启MySQL的主从功能才可以。

这里以之前用Docker运行的mysql为例:

2.1. 开启binlog

打开mysql容器挂载的日志文件,目录在/tmp/mysql/conf

在这里插入图片描述

修改文件:

vi /tmp/mysql/conf/my.cnf

添加内容:

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

配置解读:

  • log-bin=/var/lib/mysql/mysql-bin:设置binary log文件的存放地址和文件名,叫做mysql-bin
  • binlog-do-db=dcxuexi:指定对哪个database记录binary log events,这里记录dcxuexi这个库

最终效果:

[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=dcxuexi

2.2. 设置用户权限

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

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

重启mysql容器即可

docker restart mysql

测试设置是否成功:在mysql控制台,或者Navicat中,输入命令:

show master status;

在这里插入图片描述

3. 安装Canal

3.1. 创建网络

我们需要创建一个网络,将MySQLCanalMQ放到同一个Docker网络中:

docker network create dcxuexi

mysql加入这个网络:

docker network connect dcxuexi mysql

3.3. 安装Canal

canal的镜像压缩包:

在这里插入图片描述

可以上传到虚拟机,然后通过命令导入:

docker load -i canal.tar

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

docker run -p 11111:11111 --name canal \
-e canal.destinations=dcxuexi \
-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=dcxuexi\\..* \
--network dcxuexi \
-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.hrbkazy.com/news/42852.html

相关文章:

  • 网页设计网站思路营销推广的平台
  • 衡水做网站哪家好制作网站的软件有哪些
  • 网站建设感谢信百度有刷排名软件
  • 做宠物的网站有哪些百度官网认证多少钱一年
  • 外国网站做问卷调查挣钱临安网站seo
  • 庆阳做网站公司网站流量统计平台
  • 云南文山州搜seo
  • 手机主页网站推荐百度指数平台官网
  • 360做企业网站多少钱互动营销的概念
  • 手机应用商店appseo快速培训
  • 汕头做网站优化哪家好站长
  • 怎么攻击网站广州最新重大新闻
  • windows不能用wordpress关键词优化推广公司
  • 网站做flash好不好广州seo做得比较好的公司
  • 晚上偷偷看b站软件推荐网站seo平台
  • 云南省建设考试中心网站活动策划
  • 武汉网站建设电话多少钱比较正规的代运营
  • wordpress付费下载网站seo怎么做
  • 做家教用什么网站宁波网站seo哪家好
  • 马关县住房和城乡建设局网站手机建站平台
  • 东营网站建设dysem360关键词推广
  • 钓鱼网站模板制作做网站比较好的公司有哪些
  • 网站的跟目录优化设计三年级上册答案语文
  • 一个人做网站需要多久福州网站快速排名提升
  • 不用代码做网站的软件有了域名怎么建网站
  • vb.net网站开发百度公司全称
  • 做性事的视频网站网络推广是诈骗吗
  • 哪个网站可以做海报模板免费下载网站
  • 快速进入网站龙岩seo
  • 建筑工程东莞网站建设新型营销方式