源端mysql
一、安装前置配置
1、创建安装用户
groupadd flysync
useradd flysync -g flysync -G mysql
passwd flysync
2、上传安装文件包和license文件到服务器/home/flysync目录下,并解压
tar -xzvf KingbaseFlySync-V001R005C002B20210524-replicator.tar.gz
3、配置将hosts文件,将源端和目标端服务器都加上去
vi /etc/hosts
192.168.100.51 mysql
192.168.100.124 kes8-2
4、配置/etc/security/limits.conf文件【可选】
vi /etc/security/limits.conf
flysync - nofile 65535
flysync - nproc 8096
mssql - nofile 65535
mssql - nproc 8096
5、开启时间同步服务【可选】
yum install ntp
systemctl start ntpd
systemctl enable ntpd
6、在/etc/sysctl.conf配置swappiness参数【可选】
vi /etc/sysctl.conf
vm.swappiness = 10
sysctl -p
7、检查依赖软件jdk和ruby【必须】
--jdk
java -version
版本小于1.8的,可以使用yum安装1.8版本
yum install java-1.8.0-openjdk.x86_64
也可以下载oracle的1.8版本的JDK包手动上传安装
--ruby
可以使用yum方式安装
yum install ruby
也可以使用KFS控制台服务器里自带的ruby包进行替换,位置在:/opt/KFS/console/media/rbenv,
将压缩包解压到/usr/local,然后配置/etc/profile文件里$PATH环境变量,将ruby的bin目录添加进去
vi /etc/profile
export PATH=$PATH:/usr/local/ruby/bin
配置完成后,使用source命令应用
vi /etc/profile
export PATH=$PATH:/usr/local/ruby/bin
二、安装
1、mysql系统参数配置
vi /etc/my.cnf
[mysqld]
character-set-server= utf8
binlog_format= ROW
default-time-zone= '+08:00'
server-id= 1
log-bin= mysql-bin
如果源端是mysql8.0以上,目标端是mysql5.7再加一行参数
[client]
default-character-set=utf8
如果源端是mysql的从库,需要再添加以下参数,确保主库的binlog日志能传送到从库:
[mysqld]
log_slave_updates=1
如果含有大数据量表时,需修改临时表空间大小限制,添加下列参数
[mysqld]
tmp_table_size=256M #临时表大小
max_heap_table_size=256M #内存表大小
保存后重启数据库
systemctl restart mysqld
2、连接帐号配置
建立帐号并给予相应的权限
mysql>CREATE USER flysync@'%' IDENTIFIED BY 'password';
mysql>GRANT ALL ON *.* TO flysync@'%' WITH GRANT OPTION;
3、配置flysync.ini文件
将示例ini文件复制到安装用户家目录下,并修改
cp /home/flysync/KingbaseFlySync-V001R006C003B20211213-replicator/flysync-replicator/samples/ini /flysync_mysql_source.ini /home/flysync/flysync.ini
vi /etc/flysync/flysync.ini
[defaults]
# 安装目录
install-directory=~/kfsrep
# 环境变量脚本位置
profile-script=~/.bash_profile
# rmi端口,默认11000
rmi-port=11000
# 服务名
[mysql]
# 监听kufl获取的端口
kufl-port=3112
# master主机名
master=mysql
# 当前主机名
members=mysql
# 数据源类型
datasource-type=mysql
# 同步数据库信息
replication-host=192.168.100.52
replication-user=flysync
replication-password=123456
replication-port=3306
# 同步服务角色
role=master
## mysql 指定的my.cnf文件位置、bin目录、忽略mysql_dump和用户权限检测
#repl_datasource_mysql_conf=/home/ffeng/mysql-8.0.16-linux-glibc2.12-x86_64/my.cnf
#preferred_path=/home/ffeng/mysql-8.0.16-linux-glibc2.12-x86_64/bin
skip_validation_check=MySQLDumpCheck,MySQLPermissionsCheck
## 过滤器开关配置
svc_extractor_filters=dropstatementdata,replicate
### 过滤器详细配置
## replicate 表过滤
property=replicator.filter.replicate.do=test.*,flysync_mysql.*
# property=replicator.filter.replicate.ignore=PUBLIC.T1
## casetransform 大小写转换
# property=replicator.filter.casetransform.to_upper_case=true
## 优化参数
# 达到多少条记录后,分事务,默认 500
#property=replicator.extractor.dbms.maxRowsByBlock=500
# 若多少秒没有新的事务产生,那么就直接返回该事务,不再等待合并
#property=replicator.extractor.dbms.maxWaitingTime=2
# 大事务优化参数
property=replicator.extractor.dbms.minRowsPerBlock=4000
# 自动恢复尝试次数,系统 OFFLINE 时,尝试将系统重新置于ONLINE状态的次数
repl_auto_recovery_max_attempts=100
# 系统 OFFLINE 时,尝试 ONLINE 之前的等待时间,s(秒)、m(分钟)、h(小时)
repl_auto_recovery_delay_interval=30s
# 系统自动恢复次数重置时间,s(秒)、m(分钟)、h(小时)
repl_auto_recovery_reset_interval=300s
分离部署时,mysql bin目录还需要配置在linux的环境变量中
vi /etc/profile
export PATH=/usr/bin:$PATH
source /etc/profile
4、安装
切换到安装包目录下的tools子目录
cd /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/tools
./fspm install
5、将license文件复制到安装目录下
cp license_8703_0.dat /home/flysync/kfsrep/license.dat
6、启动KFS
replicator start
查看KFS状态
replicator status
查看服务状态
fsrepctl status
查看KUFL列表
kufl list
目标端KES V8R6
一、安装前置配置
1、创建安装用户
groupadd flysync
useradd flysync -g flysync -G mysql
passwd flysync
2、上传安装文件包和license文件到服务器/home/flysync目录下,并解压
tar -xzvf KingbaseFlySync-V001R005C002B20210524-replicator.tar.gz
3、配置将hosts文件,将源端和目标端服务器都加上去
vi /etc/hosts
192.168.100.51 mysql
192.168.100.124 kes8-2
4、配置/etc/security/limits.conf文件【可选】
vi /etc/security/limits.conf
flysync - nofile 65535
flysync - nproc 8096
mssql - nofile 65535
mssql - nproc 8096
5、开启时间同步服务【可选】
yum install ntp
systemctl start ntpd
systemctl enable ntpd
6、在/etc/sysctl.conf配置swappiness参数【可选】
vi /etc/sysctl.conf
vm.swappiness = 10
sysctl -p
7、检查依赖软件jdk和ruby【必须】
--jdk
java -version
版本小于1.8的,可以使用yum安装1.8版本
yum install java-1.8.0-openjdk.x86_64
也可以下载oracle的1.8版本的JDK包手动上传安装
--ruby
可以使用yum方式安装
yum install ruby
也可以使用KFS控制台服务器里自带的ruby包进行替换,位置在:/opt/KFS/console/media/rbenv,
将压缩包解压到/usr/local,然后配置/etc/profile文件里$PATH环境变量,将ruby的bin目录添加进去
vi /etc/profile
export PATH=$PATH:/usr/local/ruby/bin
配置完成后,使用source命令应用
source /etc/profile
二、安装
1、数据库配置
创建连接数据库账号并授权:
ksql>CREATE USER FLYSYNC SUPERUSER PASSWORD 'password';
2、flysync.ini配置
[defaults]
install-directory=/home/flysync/kesrep
profile-script=~/.bash_profile
rmi-port=11000
[kingbase8]
role=slave
master=oracle11g
master-kufl-port=3112
members=kes8
kufl-port=3112
replication-host=192.168.100.114
replication-port=54321
replication-user=flysync
replication-password=123456
datasource-type=kingbase
datasource-version=8
kingbase-dbname=TEST
svc-parallelization-type=none
svc-remote-filters=casetransform,rename
property=replicator.filter.casetransform.to_upper_case=false
property=replicator.applier.dbms.optimizeRowEvents=true
property=replicator.applier.dbms.maxRowBatchSize=5000
3、从KFS安装包目录下的extensions/jdbc拷贝jdbc包
V8R3(不含)之上的版本,使用kingbase8-8.6.0.jar
V8R3(含)以下版本,使用kingbase8-8.2.0.jar
cd /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/extensions/jdbc
cp kingbase8-8.6.0.jar /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/flysync-replicator/lib
4、安装
cd /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/tools
./fspm install
5、复到license文件到安装目录
cp license.dat /home/flysync/kesrep/license.dat
6、修改rename文件
vi /home/flysync/kesrep/filters-config/rename.csv
flysync_mysql,*,*,flysync_mysql8kingbase8,-,-
test1,*,*,public,-,-
——备注:如果rename里模式映射是映射到public模式的话,flysync.ini里的大小写转换参数必须为小写,即property=replicator.filter.casetransform.to_upper_case的值必须为false
7、启动并初始化
/home/flysync/kesrep/flysync/cluster-home/bin/startall
source ~/.bash_profile
查看KFS状态
replicator status
查看服务状态
replicator status
查看KUFL列表
kufl list
8、搬迁
--结构搬迁(极速模式)
ddlscan -target.service kingbase8 -source.user flysync -source.pass 123456 -source.db test -source.dbtype mysql -source.host 192.168.100.52 -source.port 3306 -source.schema TEST -target.db test -mgType 0
--数据搬迁
ddlscan -target.service kingbase8 -source.user flysync -source.pass 123456 -source.db test -source.dbtype mysql -source.host 192.168.100.52 -source.port 3306 -source.schema TEST -target.db test -mgType 0