环境准备,mysql 及达梦数据库安装忽略
|
ip
|
数据库
|
实时同步软件 |
源端
|
192.168.153.102
|
mysql 5.7
|
dmhs(mysql版)
|
目的端
|
192.168.153.101
|
dm8
|
dmhs(dm版)
|
源端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,将源库下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 日志执行模块链接是否正常。
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\’;
查看数据库 binlog_format 设置
show variables like \’binlog_format\’;
源端配置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下面)
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
源端MGR日志
目标端MGR日志
连接测试,看数据是否正确
ddl和dml实时同步测试ok