Mysql安装部署金仓KFS同步程序--Mysql单机作为源端时的安装部署

104 阅读3分钟

关键字:

KingbaseFlysync、KFS、replicator、同步程序、服务端、flysync.ini、安装部署、金仓数据库、Mysql 单机、 Mysql 单机 安装部署KingbaseFlysync Mysql 单机 安装部署KFS、Mysql 单机 安装同步程序

概述

Kingbase FlySync支持基于Mysql作为源端的数据同步。

本文主要介绍Mysql单机KFS源端配置。

二、安装前准备

前置条件:已经完成Mysql数据库的安装部署

2.1 环境信息

参数名参数
源端数据库IP地址10.10.5.49
安装KFS同步程序IP地址10.10.5.49
Mysql数据名test
Mysql数据库监听端口号3306
可用内存>4GB
可用储存空间>1GB+7*每日数据增量

2.2 ****端口 开放

1、关闭防火墙

临时关闭防火墙服务(服务器重启后失效)

s ervice firewalld stop

永久关闭防火墙服务

c hkconfig firewalld off

 

2、若有特殊情况如业务要求需要开启防火墙,则需要保证KFS同步程序所需端口可用,若不可用,可以在后续配置中修改默认端口。

telnet xx.xx.xx.xx 端口号

Kingbase FlySync同步服务运行所需的默认端口如下:

端口描述
11000/11001KFS远程管理/监控RMI端口
3112KUFL传输接口

2. 3 创建KFS同步程序安装用户

1、假设KFS同步程序安装用户为fly,创建如下(本文设置fly用户密码为123):

adduser fly

passwd fly

2、将fly用户加入到Mysql登录用户所在的用户组

查询Mysql登录用户所在的用户组

groups mysql

 

用root权限修改fly

usermod -G mysql fly

 

2. 4 ruby环境配置

上传ruby包到KFS同步程序安装服务器下并解压:

unzip rbenv_2.2.2_linux_x64.zip

图片.png

然后在KFS同步程序安装用户的环境变量中进行配置

vi ****~ /.ba sh_profile

export RUBY_HOME=ruby 绝对 路径

export PATH=RUBYHOME/bin:RUBY_HOME/bin:PATH

source ~/.bash_profile

2 . 5 安装包准备

准备需要安装的Kingbase FlySync同步程序安装包和license文件。

2 . 6Mysql数据库准备

2.6.1 . MySQL 系统参数配置

1、在 my.cnf 配置文件中加入以下内容

配置完成后需执行 service mysqld restart 以重启 MySQL 服务使配置生效。

注意:若源端为 MySQL 8.0 及以上版本,目标端为 MySQL5.X 版本,请确保源端编码未使用utf8mb4。否则将导致目标端不支持。

参考配置:在 my.cnf 中添加以下内容

若源端 MySQL 采用分离部署 KFS,参考配置:在 my.cnf 中添加以下内容:

 

2.6.2 连接帐号配置

1、创建用户并赋予适当权限

mysql> CREATE USER flysync@'%' IDENTIFIED BY 'password';

mysql> GRANT ALL ON . TO flysync@'%' WITH GRANT OPTION;

注意事项: 含有大数据量表时,需修改临时表空间大小限制。可通过 my.cnf 修改配置信息

 

以上配置信息需结合实际环境中表的 ibd 文件最大值进行配置修改,系统默认 16M,修改后需重启 mysql 生效。

三、安装执行

3.1 上传 解压 KFS同步程序

tar –zxvf KingbaseFlysync-Vxxxxxxxxxxxxxx-replicator.tar.gz

图片.png

3.2 配置 flysync.ini

在$HOME目录下新建flysync.ini文件,示例如下:

图片.png

参数说明:

[defaults]
install-directory=/home/fly/kfs同步程序安装目录
profile-script=~/.bash_profile
rmi-port=11000rmi端口号,默认为11000
preferred-path=/home/fly/mysql-8.0.16-linux-glibc2.12-x86_64/bin用于添加附加路径到 PATH 环境变量中,需配置在 defaults 下
[mysql]服务名
role=master同步角色,源端为master,目标端为slave
master=10.10.5.49源端服务的安装ip
members=10.10.5.49本服务的安装ip
kufl-port=3112KUFL端口号
replication-host=10.10.5.49数据库ip
replication-port=3306数据库端口
replication-user=root数据库用户名
replication-password=password数据库用户密码
datasource-type=mysql数据库类型
datasource-mysql-conf=/home/fly/mysql-8.0.16-linux-glibc2.12-x86_64/my.cnf指定mysql数据库配置文件的路径。
property=replicator.extractor.dbms.serverId=1源端 MySQL 与 MySQL 数据库节点 serverId 必须不重复,唯一,如遇到与数据库冲突,可通过修改 ini 配置文件 serverId 来解决
enable-heterogeneous-master=true用来避免mysql解析字符串出现乱码。
svc-extractor-filters=dropstatementdata,replicateDropstatementdata过滤 DDL,不同步DDL,replicator和replicator.filter.replicate.do搭配使用同步指定模式下的dml
property=replicator.filter.dbselector.db=test表示要同步的数据库为test。
property=replicator.filter.replicate.do=test.,flysync_mysql8_0.replicator和replicator.filter.replicate.do搭配使用同步指定模式下的dml,表示同步test模式和flysync_mysql8_0模式下的DML.

3. 3 执行 安装

执行解压目录/tools/下的fspm install

图片.png

更新环境配置

source ~/.bash_profile

3.4 上传 license文件

上传license文件至$HOME/kfs/目录

图片.png

3. 5 启动 同步程序

replicator start

图片.png

3. 6 查看 同步服务情况

fsrepctl services fsrepctl status state online 表示 服务正常

图片.png

四、测试验证

在源端数据库执行以下SQL

CREATE TABLE test.TEST_1(id int, name varchar(50));

INSERT INTO test.TEST_1 values(1, 'dawf');

图片.png

执行kufl -service mysql list查看解析情况

图片.png

KFS同步 程序 常见 操作命令

KFS同步程序的启停

replicator start

replicator stop

replicator restart

查看同步服务状态

fsrepctl services

fsrepctl -service 同步 服务名 status

同步服务的启停

fsrepctl -service 同步 服务名 ****online

fsrepctl -service 同步 服务名 ****offline

重置KUFL

fsrepctl -service 同步 服务名 ****reset  –all  –y