mysql 数据库迁移到达梦数据库

1.windows安装达梦数据库,去官网下载 dm8 进行安装,安装后,可以使用管理工具管理数据

使用迁移工具对数据进行迁移;

2.使用php 或者 thinkphp连接达梦数据库

2.1、先PHP开启DM扩展

从达梦数据库安装目录下drivers/php_pdo 复制对应的文件到 php 安装目录下的 ext目录下

pdo73nts_dm.dll

php73nts_dm.dll

复制代码
extension=pdo74nts_dm.dll
extension=php74nts_dm.dll

2.2 、到数据库服务器的%DM_HOME%\drivers\dpi,找到以下dll文件

dmdpi.dll

dmclientlex.dll

dmutl.dll

dmstrt.dll

dmshm.dll

dmos.dll

dmmsg.dll

dmmout.dll

dmmem.dll

dmelog.dll

dmdta.dll

dmdcr.dll

dmcyt.dll

dmcvt.dll

dmcpr.dll

dmcomm.dll

dmcfg.dll

dmcalc.dll

放到php根目录,当前目录下

重启服务器,如果遇到服务器启动不了,可能是缺少了一些dll文件,可以多复制一些进去然后再启动;

然后使用 php -m 或的 phpinfo() 查看模块是否启动,如果看到DM 和 PDO_DM 则表示启动完成;

然后就可以使用程序连接数据库了

复制代码
<?php
try
{
    $link = dm_connect("localhost:5236", "SYSDBA", "cdbottle123")
        or die("Could not connect : " . dm_error()."\n");  

    //使用 dm_error 会显示 dm 的 php 接口返回的错误,执行成功,则继续往下执行。
    print "php: Connected successfully"."\n"; 

    /*断开连接*/ 	
    dm_close($link); 
}
catch(Exception $e)
{
    $e->getMessage() . "<br/>";
}
?>

如果看到 ,

表示连接成功,如果遇到 dpi_login: -70089 加密模块加载失败,则可能是文件没有放到 system32文件夹下,然后把数据库安装目录下 bin下面的*. dll文件放到system32下(如果不行就全部放)

如果放了,一般就成功了;

然后就可以使用 迁移工具对数据进行迁移,达梦一个模式下就代表一个数据库(用户),可以先创建数据库,在做迁移工作;

注意:如果使用 pdo(thinkphp5.1 获取数据时,默认使用pdo),如果发现中午乱码,是因为

PDO方式下,即使设置了数据库为UTF-8编码,使用php的pdo方式查询出的数据依然是GBK编码。

解决办法:

打开C:\windows\System32\dm_svc.conf文件,(dm_svc.conf为刚才放入的文件)新增一行:

复制代码
CHAR_CODE=(PG_UTF8)

即可

迁移数据前,一般是先在达梦创建好用户后在迁移

复制代码
create tablespace CQSE_RECOM datafile 'CQSE_RECOM.DBF' size 128 CACHE = NORMAL;
create user CQSE_RECOM identified by "cdbottle123" default tablespace CQSE_RECOM default index tablespace CQSE_RECOM;
grant public,resource,vti,soi to CQSE_RECOM;

兼容 mysql 需要在数据库中执行下,然后重启数据库 命令:

复制代码
sp_set_para_value(2,'COMPATIBLE_MODE',4);

thinkphp5.1 对接达梦数据库:tp5(ThinkPHP 5.1)连接达梦数据库_thinkphp 达梦-CSDN博客

laravel 对接达梦数据库:dm适配Laravel | 达梦技术社区

相关推荐
czlczl2002092521 小时前
Mysql的多版本快照MVCC机制与Mysql四种隔离级别
数据库·mysql
有想法的py工程师1 天前
PostgreSQL 事务隔离级别详解(以及与MySQL实现差异)
数据库·mysql·postgresql
chuxinweihui1 天前
MySQL内外连接
数据库·mysql
杨云龙UP1 天前
ODA服务器RAC节点2/u01分区在线扩容操作记录及后续处理流程(Linux LVM + ext4 文件系统在线扩容操作手册)_20260307
linux·运维·服务器·数据库·ubuntu·centos
parafeeee1 天前
程序人生-Hello’s P2P
数据库·后端·asp.net
欲买桂花同载酒5821 天前
程序人生-Hello’s P2P
运维·服务器·数据库
iPadiPhone1 天前
流量洪峰下的数据守护者:InnoDB MVCC 全实现深度解析
java·数据库·mysql·面试
NineData1 天前
AI时代的数据对比:DBA还需要盯着屏幕看差异吗?
运维·数据库
Javatutouhouduan1 天前
SpringBoot整合reids:JSON序列化文件夹操作实录
java·数据库·redis·html·springboot·java编程·java程序员
QWQ___qwq1 天前
Spring Security + MyBatis-Plus 实现自定义数据库用户认证
数据库·spring·mybatis