达梦数据库是否兼容MySQL mediumblob类型数据?

2024年 2月 28日 42.6k 0

问题现象:

同事反馈,将mysql mediumblob类型数据迁移到达梦数据库后,前台读取部分数据失败,怀疑达梦数据库不完全兼容MySQL mediumblob类型数据。

测试结论:

本次测试,通过达梦DTS迁移工具,将一条mysql mediumblob类型数据迁移到达梦数据库,可以正常迁移,正常显示数据,通过数据对比,并没有发现不兼容的问题。

测试过程如下:

    源库:MySQL 5.7.36
    目标库:8.1.2.114

    源库:MySQL 5.7.36

    创建测试表t0

      mysql> create table t0(id int,x mediumblob);

      上传下面的图片,到/home/mysql/tmp目录下

        select load_file('/home/mysql/tmp/001.png');
        select LENGTH(load_file('/home/mysql/tmp/001.png')); ---154561

        将图片插入表

          insert into t0 values (1,load_file('/home/mysql/tmp/001.png'));

          查看数据

            select * from t0;

            查看---图像

            通过达梦DTS进行数据迁移

            达梦数据库8.1.2.114

            迁移

              [dmdba@cjc-db-04 tool]$ pwd
              /dm8/dbms/tool
              [dmdba@cjc-db-04 tool]$ sh dts

              或使用windows客户端工具

              通过DM管理工具查看迁移后的数据

              可以正常显示图片,那么如何对比数据是否完全一致?

              将MySQL和达梦数据库数据转换为16进制,对比是否一致:

              其中MySQL需要hex函数,达梦数据库在disql工具下默认自动转换为16进制,不需要转换。

              源库:

                mysql> select hex(x) from t0G;
                [mysql@cjc-db-03 ~]$ mysql -ucjc -p*** -e "select hex(x) from cjc.t0" > t0.log
                cat t0.log
                89504E470D0A1A0A0000000D49484452000001A70000016D0806000000A......

                目标库:

                通过disql工具查看达梦数据

                数据超长,默认自动截断,并以16进制显示

                  [70004]:String truncate.

                  需要先设置long

                    set long 99999999
                    select x from t0;
                    LINEID x
                    ----------
                    1 0x89504E470D0A1A0A0000000D49484452000001A70...

                    用notepad比较,数据完全一致

                    通过本次测试,达梦数据库兼容MySQL mediumblob类型数据,对应达梦BLOB类型。

                    ###chenjuchao 20240226###

                    相关文章

                    Oracle如何使用授予和撤销权限的语法和示例
                    Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
                    下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
                    社区版oceanbase安装
                    Oracle 导出CSV工具-sqluldr2
                    ETL数据集成丨快速将MySQL数据迁移至Doris数据库

                    发布评论