当前位置: 首页 > news >正文

网站加百度商桥开发板

网站加百度商桥,开发板,动感地带套餐,将wordpress文件上传「YashanDB迁移体验官」Mysql生产环境迁移至YashanDB数据库深度体验 1. 前言1.1 产品介绍1.2 产品架构1.3 产品规格1.3.1 数据库版本支持1.3.2 数据类型支持 2. YMP安装2.1 环境说明2.2 执行安装2.3 访问YMP2.3.1 YMP登录界面2.3.2 YMP迁移流程 3. YMP数据迁移3.1 创建数据源3.… 「YashanDB迁移体验官」Mysql生产环境迁移至YashanDB数据库深度体验 1. 前言1.1 产品介绍1.2 产品架构1.3 产品规格1.3.1 数据库版本支持1.3.2 数据类型支持 2. YMP安装2.1 环境说明2.2 执行安装2.3 访问YMP2.3.1 YMP登录界面2.3.2 YMP迁移流程 3. YMP数据迁移3.1 创建数据源3.2 创建任务3.3 迁移评估3.4 迁移配置3.5 离线迁移3.6 校验初始化3.7 一致性校验 4. YMP迁移问题记录4.1 YMP使用注意点4.1.1 多个迁移任务中不能有同名的schema4.1.2 迁移评估需要完全兼容才能进行下一步4.1.3 迁移评估不兼容的对象仅支持在线修改4.1.5 YMP内置库版本必须大于或等于目标端数据库版本4.1.6 数据迁移失败不支持手动修复状态 4.2 YMP迁移兼容问题4.2.1 auto_increment替换问题4.2.2 varchar字符类型单位问题4.2.3 数据库保留字问题4.2.4 字面量查询问题4.2.5 索引键长度超过上限4.2.6 纯数字的字段名转换报错4.2.7 GIS数据类型暂不支持转换4.2.8 空格字符迁移遇到NULL问题4.2.9 字段重复索引问题 5.迁移小结 1. 前言 作为崖山数据库产品发布的第一批体验体验官有幸被邀请参与崖山迁移平台YashanDB Migration PlatformYMP产品的体验活动所以有了今天的这篇文章。 本次迁移计划将Mysql数据迁移到YashanDB数据库中并在迁移过程中遇到的问题及其对产品的体验输出自己的使用感受和产品建议也希望国产数据库能做得越来越棒 1.1 产品介绍 崖山迁移平台YashanDB Migration Platform下文以YMP代称是YashanDB提供的数据库迁移产品支持异构RDBMS与YashanDB之间进行迁移评估、离线迁移、数据校验的能力。 YMP提供可视化服务用户只需通过简单的界面操作即可完成从评估到迁移整个流程的执行与监控实现低门槛、低成本、高效率的异构数据库迁移。 YMP是一款具备【精准评估】、【SQL自动转换】、【评估迁移无缝对接】、【对象一键迁移】、【数据高i性能迁移】、【数据校验】、【一站式服务】这7个核心特性的工具能够解决迁移兼容性与工作量评估、异构数据库元数据迁移以及数据快速迁移的问题。 1.2 产品架构 YMP的总体架构如下 1.3 产品规格 1.3.1 数据库版本支持 1.3.2 数据类型支持 2. YMP安装 YMP工具官方提供的部署文档如下 https://doc.yashandb.com/ymp/23.2/zh/%E5%AE%89%E8%A3%85%E5%8D%87%E7%BA%A7/%E5%AE%89%E8%A3%85%E4%B8%8E%E5%8D%B8%E8%BD%BD.html YMP工具部署的步骤简单需要关注的是YMP工具的业务存储库选择问题。 目前YMP支持默认内置库和自定义内置库两种接入方式 默认内置库安装YMP工具时默认安装YashanDB作为内置库 自定义内置库使用外部的YashanDB数据库作为YMP的业务库使用。 2.1 环境说明 类型系统版本数据库数据库版本地址迁移数据量源端rhel7.6Mysql5.7.44xx.xx.xx.xx115.1G目标端rhel7.6YashanDB23.2.1.100xx.xx.xx.xxYMP工具rhel7.623.2.1.0xx.xx.xx.xx 2.2 执行安装 下载连接https://download.yashandb.com/download 上传软件包Yashan Migration Platform 23.2.1Linux X86到/tmp下边 ## 1. 创建安装用户 useradd ymp echo ymp | passwd --stdin ymp## 2. 创建安装目录并解压安装包 $ mkdir -p /home/ymp/soft $ unzip /tmp/yashan-migrate-platform-v23.2.1.2-linux-x86-64.zip -d /home/ymp/soft $ cd /home/ymp/soft/yashan-migrate-platform## 3. 安装参数调整 ### 3.1 配置内置库的密码和端口注意不要与本机的其他端口重叠 $ cat /home/ymp/soft/yashan-migrate-platform/conf/db.properties YASDB_PASSWORDymppw602. YASDB_PORT8091 YASDB_CHARACTER_SETUTF8### 3.2 配置YMP配置文件注意服务端口不要重叠内置库连接信息注意填写正确 ### 注意这里只列出YMP服务端口和内置库连接信息配置其他优化项根据实际情况进行调整 $ cat /home/ymp/soft/yashan-migrate-platform/conf/application.properties server.port8080 spring.datasource.urljdbc:yasdb://127.0.0.1:8091/yashan spring.datasource.usernameYMP_DEFAULT spring.datasource.passwordymppw602. spring.datasource.largePoolSize64M spring.datasource.cursorPoolSize64M ...### 4. 执行安装 $ cd /home/ymp/soft/yashan-migrate-platform/ $ sh bin/ymp.sh installnodb --db /home/ymp/yashandb-23.2.1.0-linux-x86_64.tar.gz### 5. 检查安装情况 $ cd /home/ymp/soft/yashan-migrate-platform/ $ sh bin/ymp.sh status2.3 访问YMP 浏览器访问http://xx.xx.xx.xx/#/login初始化用户名密码admin/admin 2.3.1 YMP登录界面 2.3.2 YMP迁移流程 YMP迁移流程如下图所示主要包含创建任务、迁移评估、迁移配置、离线迁移、数据初始化和一致性校验这6个流程。 3. YMP数据迁移 注 由于本次迁移采用的是正式环境数据所以下列内容关于正式数据的用户名和表名等都做了打码和脱敏。 3.1 创建数据源 3.2 创建任务 3.3 迁移评估 3.4 迁移配置 3.5 离线迁移 3.6 校验初始化 3.7 一致性校验 4. YMP迁移问题记录 本章记录YMP实际迁移中遇到的问题部分问题由于数据保密要求不做展示故提供问题复现测试用例供参考。 4.1 YMP使用注意点 4.1.1 多个迁移任务中不能有同名的schema 问题现象 新建迁移任务提示被XX迁移任务评估占用。 原因分析 新建的迁移任务与YMP平台现有的迁移任务中存在同名的schema。 ## 登录YMP内置库查询用户情况发现新建的迁移任务中迁移的schema名与内置库中的schema重叠了 $ yasql sys/ymppw602.xx.xx.xx.xx:8091 SQL select username, created from dba_users order by 2;解决方案 删除原有的已经完成的迁移任务再新建新的迁移任务。 4.1.2 迁移评估需要完全兼容才能进行下一步 问题现象【迁移评估】流程执行后存在部分不兼容对象无法进行下一步操作。 原因分析 YMP设定的逻辑是兼容达到100%才能进行下一步操作。 解决方案 根据实际情况进行不兼容对象处理可以在线改造SQL或者忽略该不兼容对象后完成后执行【刷新报告】兼容度达到100%后可以进行下一步操作。 4.1.3 迁移评估不兼容的对象仅支持在线修改 问题现象 不兼容SQL提示表不存在改造SQL后在YMP内置库执行创建表操作【刷新报告】之后还是提示表不存在。 原因分析 【迁移评估】中不兼容的对象不支持直接在内置库中进行直接修改后跳过不兼容错误。在“刷新报告”之后手动新增的内置库内容会自动被删除掉。 解决方案 YMP平台上在线更新不兼容对象的SQL语句后执行【验证并保存】操作。 4.1.5 YMP内置库版本必须大于或等于目标端数据库版本 4.1.6 数据迁移失败不支持手动修复状态 问题现象 【离线迁移】流程中针对部分数据迁移失败的数据无法手动修复状态。 原因分析 YMP暂不支持手动修复数据迁移失败的状态。 解决方案 查看迁移失败问题详情后在内置库处理对应失败问题执行【迁移重试】后完成迁移。 4.2 YMP迁移兼容问题 4.2.1 auto_increment替换问题 问题现象 YashanDB建表语句中使用auto_increment关键字执行失败。 原因分析 YashanDB不支持auto_increment自增语法。 解决方案 YashanDB创建SEQUENCE的方式来兼容MYSQL的auto_increment语法。 问题复现 ## Mysql源端建表 mysql CREATE TABLE T1 (id bigint(20) NOT NULL AUTO_INCREMENT);## YashanDB目标端建表 SQL CREATE TABLE T1 (ID bigint NOT NULL AUTO_INCREMENT); [1:39]YAS-04209 unexpected word AUTO_INCREMENT## YashanDB目标端改造兼容 SQL CREATE SEQUENCE T1_ID_SEQ; SQL CREATE TABLE T1 (ID bigint NOT NULL DEFAULT T1_ID_SEQ.NEXTVAL);4.2.2 varchar字符类型单位问题 问题现象 YMP工具迁移过程中出现字符长度超出。 原因分析 YashanDB的varchar数据类型单位默认是byte 解决方案 使用varchar(N char)的方式来兼容MYSQL varchar语法。 问题复现 ## Mysql源端建表和插数据 mysql CREATE TABLE T2(record varchar(2)); Query OK, 0 rows affected (0.10 sec) mysql INSERT INTO T2 VALUES (记录); Query OK, 1 row affected (0.02 sec)## YashanDB目标端建表和插数据 SQL CREATE TABLE T2 (RECORD VARCHAR(2)); Succeed. SQL INSERT INTO T2 VALUES(记录); YAS-04008 RECORD size exceeding limit 2## YashanDB目标端改造 SQL ALTER TABLE T2 MODIFY RECORD VARCHAR(2 CHAR); SQL INSERT INTO T3 VALUES(记录); 1 row affected.4.2.3 数据库保留字问题 问题现象 不兼容SQL改造过程中执行建表语句遇到关键字冲突问题。 原因分析 建表过程中有个字段名为LEVEL是YashanDB的保留字所以报错了。 解决方案 将该字段名用双引号引起来可以规避。 问题复现 -- YashanDB目标端创建表 SQL create table t4 (LEVEL varchar(10)); [1:18]YAS-04110 invalid variant name-- YashanDB目标端改造 SQL create table t4 (LEVEL varchar(10)); Succeed.4.2.4 字面量查询问题 问题现象 YMP迁移过程中不兼容语句提示“implict table报错。 原因分析 MYSQL数据库支持简写的字面量查询方式YashanDB数据库需要使用DUAL伪表做查询。 解决方案 使用DUAL做伪表即可规避。 4.2.5 索引键长度超过上限 问题现象 YMP迁移评估不兼容对象提示索引字符长度超出。 原因分析 查看组合索引的3个字段长度(500CHAR500CHAR500CHAR)*46000bytes刚好等于6000bytes的上限。 解决方案 根据实际情况调整组合索引字段长度。 SQL alter table table_name modify column_name varchar (N CHAR);4.2.6 纯数字的字段名转换报错 问题现象 YMP元数据迁移过程中出现纯数字的字段名无法设置非空约束报错。 原因分析 YMP针对这种特殊字段名无法直接做转换。 解决方案 将纯数字的字段名加上双引号后执行【验证并保存】可规避。 4.2.7 GIS数据类型暂不支持转换 问题现象 YMP元数据迁移过程中空间数据类型的表无法正常转换。 原因分析 YMP暂不支持自动转换空间数据类型。 解决方案 YashanDB具备GIS能力可以用ST_GEOMETRY类型进行兼容。 4.2.8 空格字符迁移遇到NULL问题 问题现象 YashanDB数据库非空约束插入空字符会出现报错。 原因分析 Mysql非空约束允许插入空字符但是YashanDB不支持因此会出现报错。 解决方案 先删除表的非空约束把数据导入完成。 4.2.9 字段重复索引问题 问题现象 YMP元数据迁移过程中提示字段重复索引问题。 原因分析 MYSQL支持在主键索引列再创建普通索引。YashanDB不支持该功能。 解决方案 暂时先忽略该索引观察迁移到YashanDB后的SQL执行计划和效率再根据实际情况创建索引。 5.迁移小结 YMP迁移工具部署简单操作界面简洁美观操作流程清晰明了小白也可以轻松上手迁移过程透明化从评估到迁移整个流程都提供了详细的报告供下载产品功能上还存在优化空间地理空间类型迁移能力也较薄弱YMP目前仅支持全量迁移暂不支持在线迁移或实时同步等功能总体而言YMP的迁移体验还是蛮不错的。优秀的产品总是在各式各样的应用场景不断迭代后诞生希望YMP产品能够不断优化迭代做的越来越好YashanDB加油国产数据库加油
http://www.w-s-a.com/news/718765/

相关文章:

  • 网站关键词分隔符php网站开发平台下载
  • 郑州那家做网站便宜商业计划书免费word版
  • 秦时明月的个人网站怎么做网站开发公司需要招聘哪些人
  • 广告网站建设制作设计服务商安卓app软件定制
  • 公司网站设计与实现中国职业培训在线官方网站
  • 网站服务器空间租用郑州官网网站推广优化
  • 郑州网站建设外包业务wordpress站酷首页
  • 机关门户网站 建设 方案个人怎么申请注册商标
  • 梧州网站建设有哪些九江网站建设优化
  • APP网站建设开发企业发展英文seo招聘
  • 临海市住房和城乡建设规划局网站高校图书馆网站的建设方案
  • 建立门户网站张店易宝网站建设
  • wordpress中英文站点厦门seo顾问屈兴东
  • 邯郸网站建设项目重庆网站备案系统
  • 网站导航容易做黄冈网站建设报价
  • 美橙互联建站网站被截止徐州网站建站
  • 网站班级文化建设视频深圳企业网页设计公司
  • 钦州网站建设公司做宣传网站买什么云服务器
  • 58同城有做网站wordpress怎么改标题和meta
  • 安通建设有限公司网站东莞地铁app
  • 群晖nas做网站滨州教育平台 网站建设
  • 住房城市乡建设部网站装修平台有哪些
  • 小米网站 用什么做的深圳广告公司前十强
  • 勤哲网站开发视频瑞安 网站建设培训
  • 有个蓝色章鱼做标志的网站高端的网站建设怎么做
  • 建站网址导航hao123html网页设计实验总结
  • 西宁市网站建设价格丽水集团网站建设
  • 长宁怎么做网站优化好本机怎么放自己做的网站
  • 诚信网站备案中心网站字体怎么设置
  • 企业网站建设费是无形资产吗佛山网站建设哪个好点