最近项目有可能从oracle转到pgsql,这中间就会涉及到数据库的迁移,网上搜了一下,发现都是在说用Ora2Pg进行转换,我在服务器上怎么装都没装成功,就想还有没有别的方法。然后无意中想到以前用Navicat传输数据,就去看了一下,发现Navicat还真的提供数据库迁移功能。
步骤:
打开Navicat -> 工具 -> 数据传输
迁移后的结构样子:
有问题的数据:
其中发现NUMBER的数据迁过来都变成1000位的0了,至于有没有其他的问题,待后续慢慢了解,至少知道这个方法是可行的。
这个工具提供了目标为文件的选项,也提供了高级选项,应该还要更好的玩法,期待后续深入了解。
最近项目有可能从oracle转到pgsql,这中间就会涉及到数据库的迁移,网上搜了一下,发现都是在说用Ora2Pg进行转换,我在服务器上怎么装都没装成功,就想还有没有别的方法。然后无意中想到以前用Navicat传输数据,就去看了一下,发现Navicat还真的提供数据库迁移功能。步骤:打开Navicat -> 工具 -> 数据传输迁移后的结构样子:有问题的数据:其中发现NUMBER的数据迁过来都变成1000位的0了,至于有没有其他的问题,待后续慢慢了解,至少知道这个方法是可行的。这
以前的工作
迁移
过oracle到Informix、oracle和SQLSERVER、oracle到mysql。 在目前的公司又因为去o的关系,做了大量的
迁移
工作,栽了不少坑,所以和大家交流一下在
迁移
的过程中的一些实践。
因为成本预算等多方面的原因,公司决定要去o,在去o之前首先要决定拿什么来替代oracle,拿什么工具将源
数据库
的
数据
导到目标
数据库
,怎么导,等等的问题。导的过程的增量
数据
怎么处
日常我们开发工作中,随着业务需求的变更,重构系统是很常见的事情。重构系统常见的一个场景是变更底层
数据
模型与存储结构。这种情况下就要对
数据
进行
迁移
,从而使业务能正常运行。
常见的表变化有如下3种:
增加、删除、修改字段,对单表结构修改
进行分库分表
变更底层存储系统。例如
数据库
选型变更
当发生变更都要进行
迁移
。下面介绍3种常见的
迁移
思路。
2 停服
迁移
法
业务自身特点是非24小时提供服务,有暂停维护时间。这时可以在服务停止运行期间进行
迁移
。
操作方式如下:
数据
迁移
数据
导出
分库分表工具,
将
数据库
的
数据
传输到另一个
数据库
这里演示的是在Navicat中,把
数据库
stock中的
数据
传输到
数据库
hhhhhh中。
1、点击 工具选项卡,点击
数据
传输。
2、选择目标、源
数据库
,点击 下一步。
3、勾选你想要传输的
数据
,这里选择所有
数据
,选择完成后,点击 下一步。
4、点击 开始,即可开始传输。
5. 如果MySQL 5.7和MySQL 8.0的版本差异较大,可能会出现一些兼容性问题,需要在MySQL 8.0中修改表结构和
数据
。例如:
- MySQL 8.0中不支持旧版本的ENUM类型,需要将ENUM类型改成VARCHAR类型。
- MySQL 8.0中的DATETIME类型支持的范围比较大,如果MySQL 5.7中的DATETIME
数据
超出了MySQL 8.0的范围,需要修改为TIMESTAMP类型。
6. 最后,检查
数据
是否
迁移
成功,可以使用以下命令查询MySQL 8.0中的
数据
:
mysql -u root -p
USE dbname;
SELECT * FROM tablename;
注意:在
迁移
数据
前,需要确保MySQL 8.0已经正确安装并且运行正常,同时备份好MySQL 5.7中的
数据
以防出现意外情况。