上线迁库掉坑记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了上线迁库掉坑记相关的知识,希望对你有一定的参考价值。

背景:公司的业务服务系统和业务管理后台(大杂烩)是两个不同的项目,最近在做一件事是把与业务服务没有直接关系的表全部分离出来,独立成一个后台管理库。

工作主要分为两件事情:

1.建新库,导表结构,导数据。
2.项目代码修改连接库的适配。

整个任务在昨晚八点上线,过程不是顺利。为了省事,导入数据的时候直接执行了类似下面的sql语句。导完成后以为就完事大吉,但线上项目还是报错。

insert into `yundou_management`.`admin_permission`  select * from `yundou_v3`.`admin_permission`;

问题出在内网开发环境的表结构与生产环境不是完全一致,有些表虽然字都一样,但顺序不一样。所以 insert into....select * from 就出问题了,导致表里面存放的数据错位。

结论:

1、多检查开发环境和生产环境的表是否完全一致。
2、insert into....select * from 谨慎使用。批量导入数据的时候,尽量指定字段。不要为了省事,上线了再去解决问题。

Insert into Table2(field1,field2,...) select value1,value2,... from Table1

以上是关于上线迁库掉坑记的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud Config采坑记

redis--迁库操作

hbase 迁库移库步骤

从入门到掉坑:Go 内存池/对象池技术介绍

一次从Github向Gitee迁库踩坑记录

数据库周刊29│2020数据库研究报告;腾讯云DBbridge发布支持一键迁库;饿了么迁至阿里云…