环境准备,mysql 及达梦数据库安装忽略

 

ip

数据库

操作系统

源端

192.168.153.102

mysql 5.7

centos 7.6

目的端

192.168.153.101

dm8

centos 7.6

源端odbc配置

安装GCC,可以通过rpm -qa |grep gcc 检查是否已经安装了gcc。若没有,则通过该 yum install gcc命令安装

上传安装包unixODBC、mysql Connector

安装ODBC

[root@node1 pack]# tar -zxvf unixODBC-2.3.0.tar.gz
[root@node1 pack]# cd unixODBC-2.3.0/
[root@node1 unixODBC-2.3.0]# ./configure --prefix=/usr/local/unixODBC-2.3.0 --includedir=/usr/include --libdir=/usr/local/lib -bindir=/usr/bin --sysconfdir=/usr/local/etc
[root@node1 unixODBC-2.3.0]# make
[root@node1 unixODBC-2.3.0]# make install

安装完成之后:

/usr/bin下有这些文件:

odbcinst

odbc_config

iusql

isql

dltest

/usr/local/lib下有这些文件:

-rwxr-xr-x. 1 root root     969 5月   7 09:42 libodbccr.la
lrwxrwxrwx. 1 root root      18 5月   7 09:42 libodbccr.so -> libodbccr.so.1.0.0
lrwxrwxrwx. 1 root root      18 5月   7 09:42 libodbccr.so.1 -> libodbccr.so.1.0.0
-rwxr-xr-x. 1 root root  491080 5月   7 09:42 libodbccr.so.1.0.0
-rwxr-xr-x. 1 root root     981 5月   7 09:42 libodbcinst.la
lrwxrwxrwx. 1 root root      20 5月   7 09:42 libodbcinst.so -> libodbcinst.so.1.0.0
lrwxrwxrwx. 1 root root      20 5月   7 09:42 libodbcinst.so.1 -> libodbcinst.so.1.0.0
-rwxr-xr-x. 1 root root  563520 5月   7 09:42 libodbcinst.so.1.0.0
-rwxr-xr-x. 1 root root     957 5月   7 09:42 libodbc.la
lrwxrwxrwx. 1 root root      16 5月   7 09:42 libodbc.so -> libodbc.so.1.0.0
lrwxrwxrwx. 1 root root      16 5月   7 09:42 libodbc.so.1 -> libodbc.so.1.0.0
-rwxr-xr-x. 1 root root 2144768 5月   7 09:42 libodbc.so.1.0.0

安装mysql connect驱动

下载地址(tar.gz):https://dev.mysql.com/downloads/connector/odbc/

[root@node1 pack]# tar -zxvf mysql-connector-odbc-5.1.11-linux-glibc2.3-x86-64bit.tar.gz

[root@node1 pack]# cd mysql-connector-odbc-5.1.11-linux-glibc2.3-x86-64bit/lib

[root@node1 lib]# cp libmyodbc5.so /usr/local/lib

进入到mysql的解压文件的bin目录下,进行注册驱动:

[root@node1 bin]# pwd

/pack/mysql-connector-odbc-5.1.11-linux-glibc2.3-x86-64bit/bin

[root@node1 bin]# ./myodbc-installer  -d -a -n "MySQL ODBC 5.1 Driver"  -t "DRIVER=/usr/lib/libmyodbc5.so;SETUP=/usr/lib/libmyodbc5.so"

./myodbc-installer: error while loading shared libraries: libodbc.so.1: cannot open shared object file: No such file or directory

###这里的报错是因为动态库没加载进来,解决方法:

[root@node1 bin]# echo "/usr/local/lib" >> /etc/ld.so.conf

[root@node1 bin]# ldconfig

或没有这个文件,可用以下方法,配置好之后重启数据库服务

ln -s /usr/lib64/libodbc.so.2.0.0 /usr/lib64/libodbc.so.1

ln -s /usr/lib64/libodbcinst.so.2.0.0 /usr/lib64/libodbcinst.so.1

再执行注册:

[root@node1 bin]# ./myodbc-installer  -d -a -n "MySQL ODBC 5.1 Driver"  -t "DRIVER=/usr/lib/libmyodbc5.so;SETUP=/usr/lib/libmyodbc5.so"

Success: Usage count is 1                ####这一步说明注册成功。

现在配置odbc.ini文件

文件位置可用改命令查看:

[root@node1 bin]# odbcinst -j
unixODBC 2.3.0
DRIVERS............: /usr/local/etc/odbcinst.ini        
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini            ###这个文件就是配置文件
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

配置文件odbc.ini参数。

[mysqltest]
Driver      = /usr/local/lib/libmyodbc5.so
Description = MyODBC 5 Driver DSN
SERVER      = 192.168.153.102
PORT        = 3306
USER        = root
Password    = dm123
Database    = mysql
OPTION      = 3
charset        = UTF8

配置/usr/local/etc/odbc.ini参数

[mysqltest]
Driver      = /usr/local/lib/libmyodbc5.so
Description = MyODBC 5 Driver DSN
SERVER      = 192.168.153.102
PORT        = 3306
USER        = root
Password    = dm123
Database    = mysql
OPTION      = 3
charset     = UTF8

配置完了之后,执行isql 连接名

[root@node1 bin]# service mysql start

Starting MySQL.. SUCCESS!

mysql数据库创建测试数据库mydm及表

mysql 迁移达梦数据库时group by怎么处理 达梦数据库数据同步_mysql

达梦数据库创建模式名MYSQL,将源库下mydm数据存到达梦的MYSQL模式下

CREATE SCHEMA MYSQL AUTHORIZATION SYSDBA;

创建dmhs安装目录

mkdir -p /dmhs

加载本地mysql动态库

DMHS 在运行时,需要加载本地 MYSQL 动态库,linux/unix 平台下为 libmysqlclient.so。在 部 署 DMHS 之 前 , 需 将 libmysqlclient.so 所 在 目 录 添 加 到 共 享 库 路 径 变 量 中 。libmysqlclient.so 通常位于/usr/local/mysql/lib 目录中中。在 LINUX/UNIX 系统中,设置的方法如下:

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

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

dmhs安装

./dmhs_V4.1.1_mysql_rev98507_rh6_64_veri_20210330.bin -i

Extract install files.........

1.英文(English)

2.简体中文(简体中文)

请选择安装语言[2.简体中文(简体中文)]:2

/tmp/DMHSInstall/install.log

1.免费试用达梦数据实时同步

2.使用已申请的Key文件

验证许可证文件[1.免费试用达梦数据实时同步]:2

Key文件路径:/mnt/dmhs36041257.key

Key文件限制信息如下:

有效日期:2021-06-25

用户名称:达梦公司产品试用

服务器颁布类型:试用版

发布类型:企业版

Key类型:企业版

授权用户数:无限制

并发连接数:无限制

1.精简版

2.完整版(web客户端)

3.自定义

安装类型[1.精简版]:2

1.实时同步软件服务器

2.远程部署工具

3.实时同步软件客户端

4.内置数据库

5.实时同步软件配置助手

6.手册

所需磁盘空间:832 MB

安装目录: [/opt/dmhs]/dmhs

该路径不为空,是否继续安装?[Y or N]y

安装路径可能存在覆盖安装

1.统一部署

2.现在初始化

是否初始化达梦数据实时同步系统[1.统一部署]:

正在安装

default start ...    default finished.
server start ...    server finished.
hs_agent start ...    hs_agent finished.
webmanager start ...    webmanager finished.
db start ...    db finished.
hsca start ...    hsca finished.
doc start ...    doc finished.
doc start ...    doc finished.
postinstall start ...    postinstall finished.

正在创建快捷方式

安装成功

远程部署工具配置

远程部署工具名称[HsAgent]:

主机Ip(外网)[192.168.122.1](192.168.122.1,192.168.153.102):192.168.153.102

远程部署工具管理端口[5456](1000-65535):

内置数据库轮询间隔[3](1-60):

内置数据库IP[192.168.122.1]:192.168.153.102

内置数据库端口[15236]:

内置数据库用户名[SYSDBA]:

内置数据库密码[SYSDBA]:

服务脚本环境变量设置

依赖库路径

提示:此配置项供用户配置源或目的数据库依赖库路径和odbc依赖库路径, 多个路径以":"隔开(例:/opt/dmdbms/bin:/usr/local/lib),此配置项会添加到服务脚本的NEED_LIB_PATH的变量值中。

请配置依赖库路径:/usr/local/mysql/lib

内置数据库服务

1.自动

2.手动

启动方式:[2.手动]

正在创建内置数据库服务

初始化内置数据库

远程控制服务

1.自动

2.手动

启动方式:[2.手动]

正在创建远程控制服务

web服务

1.自动

2.手动

启动方式:[2.手动]

正在创建web服务

达梦数据实时同步V4.0安装完成

更多安装信息,请查看安装日志文件:

/dmhs/log/install.log

UNIX/LINUX 平台中,DMHS 目的端安装完成之后,可将目录切换到 DMHS软件目录,通过命令 ldd libdmhs_exec.so,查看 DMHS 日志执行模块链接是否正常。

mysql 迁移达梦数据库时group by怎么处理 达梦数据库数据同步_mysql_02

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

2) 重启数据库服务

3) 查看数据库 binlog 设置

show variables like 'log_bin';

mysql 迁移达梦数据库时group by怎么处理 达梦数据库数据同步_bc_03

查看数据库 binlog_format 设置

show variables like 'binlog_format';

mysql 迁移达梦数据库时group by怎么处理 达梦数据库数据同步_mysql_04

源端配置dmhs.hs

<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
  <lang>ch</lang>
  <mgr_port>5345</mgr_port>
  <ckpt_interval>45</ckpt_interval>
  <siteid>1</siteid>
  <version>2.0</version>
</base>
<cpt>
  <db_type>mysql</db_type>
  <db_server>127.0.0.1</db_server>
  <db_port>3306</db_port>
  <db_name>mydm</db_name>
  <db_user>root</db_user>
  <db_pwd>dm123</db_pwd>
  <ddl_mask>op:obj</ddl_mask>
  <arch>
   <clear_interval>600</clear_interval>
   <clear_flag>0</clear_flag>
   <dir>/usr/local/mysql/data</dir>
  </arch>
  <send>
   <ip>192.168.153.101</ip>
   <mgr_port>5345</mgr_port>
   <data_port>5346</data_port>
   <filter>
    <enable>
       <item>mydm.*</item>
    </enable>
    <map>
     <item>mydm.*==MYSQL.*</item>
    </map>
   </filter>
  </send>
</cpt>
</dmhs>

目的端dmhs.hs配置

<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
  <lang>en</lang>
  <mgr_port>5345</mgr_port>
  <ckpt_interval>60</ckpt_interval>
  <siteid>2</siteid>
  <version>2.0</version>
</base>
<exec>
  <recv>
   <data_port>5346</data_port>
  </recv>
  <db_type>dm8</db_type>
  <db_server>192.168.153.101</db_server>
  <db_user>SYSDBA</db_user>
  <db_pwd>SYSDBA</db_pwd>
  <db_port>5236</db_port>
  <db_name></db_name>
  <exec_thr>4</exec_thr>
  <exec_sql>1024</exec_sql>
  <exec_trx> 5000 </exec_trx>
  <exec_rows>1000</exec_rows>
</exec>
</dmhs>

目的端运行 DMHS 软件工具 MGR

./dmhs_server /dmhs/bin/dmhs.hs

端运行 DMHS 软件工具 dmhs_console,连接执行端 DMHS 服务

./dmhs_console

DMHS> connect 192.168.153.101:5345

启动日志执行模块

DMHS> start exec

如果报错,查看提示有某个so文件找不到,ldd 这个文件可查看缺少某些依赖包,将包复制到当前文件夹下(一般都在dm安装bin下面,可将bin下面所有so文件复制到dmhs的bin下面)

mysql 迁移达梦数据库时group by怎么处理 达梦数据库数据同步_数据库_05

cp /dm8/bin/*.so ./

执行 ldd libdmhs_exec.so如没有提示有找不到某个文件时重启服务

源端运行 DMHS 软件工具 MGR

./dmhs_server /dmhs/bin/dmhs.hs

端运行 DMHS 软件工具 dmhs_console,连接源端 DMHS 服务,装载源端字典信息及历史数据

./dmhs_console

DMHS> connect 192.168.153.102:5345

DMHS> clear exec lsn

DMHS> LOAD 0 "SCH.NAME='mydm'"CREATE|INSERT|DICT

启动日志捕获器

DMHS> start cpt

mysql 迁移达梦数据库时group by怎么处理 达梦数据库数据同步_数据库_06

源端MGR日志

mysql 迁移达梦数据库时group by怎么处理 达梦数据库数据同步_bc_07

目标端MGR日志

mysql 迁移达梦数据库时group by怎么处理 达梦数据库数据同步_mysql_08

连接测试,看数据是否正确

ddl和dml实时同步测试ok

mysql 迁移达梦数据库时group by怎么处理 达梦数据库数据同步_bc_09