达梦数据库:mysql -dm数据同步dmhs工具搭建

达梦技术社区: https://eco.dameng.com

注意

Dmhs对mysql的 支持:表的ddl 操作,注释,索引,数据同步,支持装载和增量同步; 对于其它对象如触发器,函数,存储过程,不能装载和使用增量同步。建议表结构迁移使用达梦迁移工具(dts )进行创建。

数据库版本

达梦 V8 ,mysql 8.0.15

源端操作

1设置 MYSQL 本地链接库路径

DMHS 在运行时,需要加载本地 MYSQL 动态库,linux/unix 平台下为 libmysqlclient.so。

在部署 DMHS 之前,需将 libmysqlclient.so 所在目录添加到共享库路径变量中。

libmysqlclient.so 通常位于/usr/local/mysql/lib 目录中。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH: /usr/local/mysql/lib。

当在系统中未找到 libmysqlclient.so , 文件, 但存在 libmysqlclient.so*** 的文件,可使用命令 ln -s libmysqlclient.so**** libmysqlclient.so 创建一个软链接。

2 安装odbc动态库

2.1安装unixodbc

(1)Yum 安装简单方便

yum install unixODBC.x86_64

使用odbcinst -j 可查看odbc 配置文件路径

odbcinst -j # 查看配置文件路径

unixODBC 2.3.1

DRIVERS…: /etc/odbcinst.ini

SYSTEM DATA SOURCES: /etc/odbc.ini

FILE DATA SOURCES…: /etc/ODBCDataSources

USER DATA SOURCES…: /root/.odbc.ini

SQLULEN Size…: 8

SQLLEN Size…: 8

SQLSETPOSIROW Size.: 8

(2)源码编译安装(麻烦一些)需将其动态库添加到环境变量中

下载地址:

https://sourceforge.net/projects/unixodbc/files/ource=navbar

可下载unixODBC-2.3.3.tar.gz版本

解压编译安装

tar -zxvf unixODBC-2.3.3.tar.gz

cd unixODBC-2.3.3

./configure

make && make install

odbcinst -j # 查看配置文件路径

2.2安装MySQL Connector/ODBC

(1)下载

下载地址:https://downloads.mysql.com/archives/c-odbc/

我下载的为mysql-connector-odbc-8.0.15-linux-glibc2.12-x86-64bit.tar.gz

(2)解压:tar -zxvf mysql-connector-odbc-8.0.15-linux-glibc2.12-x86-64bit.tar.gz

(3)更改目录名:mv mysql-connector-odbc-8.0.15-linux-glibc2.12-x86-64bit /usr/local/mysqlodbc8

(4)将其动态库添加到环境变量中:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mysqlodbc8

DMHS 源端安装完成之后,可将目录切换到 DMHS软件目录,通过命令 ldd libcpt_mysql.so ,查看 DMHS 日志执行模块链接是否正常

3.源端开启归档。

3.1开启源端数据库的 binlog 及 binlog format

DMHS 通过分析 MYSQL 数据库的 binlog 日志来捕获数据库的增量数据,DMHS 运行之前,必须将数据库 binlog 打开,同时将 binlog format 设置为 row 模式。修改的参数均涉及数据库初始过程,修改参数后,需重启生效。如需操作,需确认工作环境能停机维护。具体操作过程如下:

  1. 开启 mysql 的 binlog,修改 binlog format。

修改 mysql 启动配置文件,windows 平台下,配置文件为安装目录下的 my.ini,linux/unix

平台下,配置文件为/etc/my.cnf。在配置文件[mysqld]标记后添加或修改配置参数 log-bin 及binlog_format,如下所示:

log-bin=mysql-bin

binlog_format=row

其中,binlog_format 必须设置为 row。当包含 lob 数据的同步是,针对 lob 数据的大小,

还需设置 max_allowed_packet,如下所示:

max_allowed_packet=100M

  1. 重启数据库服务

  2. 查看数据库 binlog 设置

Show variables like ‘log_bin’;

  1. 查看数据库 binlog_format 设置

Show variables like ‘binlog_format’;

3.2 源端 DDL 支持

DMHS 支持源端 DDL 的同步。当源端为 MYSQL 数据库时,DMHS 同步解析 binlog

文件中的 DDL 语句来进行同步,目前仅仅支持满足一下表达式的 SQL:

  1. 创建表

  2. 修改表

  3. 删除表

  4. 清空表

4.安装dmhs软件及配置dmhs配置文件

Dmhs 软件安装步骤略

4.1 配置odbcinst.ini

Dmhs 使用unixodbc 驱动连接mysql

cat /etc/odbcinst.ini

4.2 配置dmhs.hs

dev_job.== dev_job.

dev_job.== DEV_JOB.

其中的源端和目的端名称要与实际大小写对应上。

创建dmhs源端用户。

Create user dmhs@’%’ identified by 123456789;

Grant all privileges on . to dmhs@’%’;

cat dmhs.hs

达梦目的端

安装dmhs软件及配置dmhs.hs

2 将表名和列名全部转换为大写存储在大梦库。(根据需要配置)

1)创建dmhs目的端用户。

Create user dmhs identified by 123456789;

Grant resource ,dba to dmhs;

2)Cat dmhs.hs

2

装载和开启增量同步

1)使用dmhs_console工具登录dmhs。

2)装载数据

copy 0 “sch.name =’ dev_job ‘” dict

copy 0 “sch.name=‘dev_job’” INSERT|ROWS|5000|COMPRESS|GROUP|4|10000000|COUNT|THREAD|8|NETS

copy 0 “sch.name =’ dev_message ‘” dict

copy 0 “sch.name=‘dev_message’” INSERT|ROWS|5000|COMPRESS|GROUP|4|10000000|COUNT|THREAD|8|NETS

3)开启增量同步

Start cpt

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24992 人正在系统学习中

来源:非D

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月11日
下一篇 2021年7月11日

相关推荐