云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

利用navicat将postgresql转为mysql

jxf315 2025-01-29 16:20:07 教程文章 31 ℃

导航

  • "拿来主义"吃得亏
  • 自己动手,丰衣足食
    • 安装postgresql
    • 安装navicat
    • 使用navicat数据传输功能
    • 种子数据
    • 参考

"拿来主义"吃得亏





在实际工作中,难免会有“求人”的时候。比如,我们为了你提升开发速度,想要借鉴其他项目组的类似功能模块设计,这种事情一般还是比较顺畅的,但是涉及到一些利益方面的可能就另说了。此处省略500字...

最近,有个功能想从别的系统迁移到我们自己的系统中,为了快速理清思路,求来了一份postgressql数据结构作为借鉴。

尴尬的是,我们使用的是mysql,只好想办法将postgressql转换成mysql。

当然,这样做也是基于后期数据从postgresql直接迁移到mysql做准备。

自己动手,丰衣足食

经过一番调研,发现navicat支持postgresql转成mysql,于是决定自己动手实践一把。

安装postgresql

下载地址

postgresql-13.4-2-windows-x64





我这里选择的Windows 10环境下安装。安装过程相对不太复杂,可以参考《PostgreSQL安装详细步骤(windows)》。

这里需要注意:

  1. 数据库超级用户是一个非管理员账户,这是为了减少黑客利用在 PostgreSQL 发现的缺陷对系统造成损害,因此需要对数据库超级用户设置密码,如下图所示,安装程序自动建立的服务用户的用户名默认为 postgres。





2.选择运行时语言环境,最好选择American,避免安装过程中出现奇怪的问题。

如何查看是否安装成功呢?

在程序里找到安装的PostgreSQL 10下面的pgAdmin4运行数据库管理工具,这是网页版的:





控制面板





另外,打开控制服务面板,也能看到postgresql服务





安装navicat

下载navicat (支持多数据源)

navicat-premium

安装过程很简单。

使用navicat数据传输功能

postgresql和navicat安装完成之后,我们就可以开始试验了。

我们安装的navicat是支持多数据源的,比如postgresql和MySQL。

新建一个postgresql数据库

这里可以搞一点种子数据进去,参见种子数据。





建立一个mysql目标数据库

这里通过navicat新建一个数据库,名为a_zkgf_mysql。





工具-数据传输

  1. 选择工具-数据传输(Data Transfer)
  2. 选择源数据库(postgresql)和目标数据库(mysql)






  1. 执行





  1. 查看同步结果





至此,大功告成。

种子数据

/*
 Navicat Premium Data Transfer

 Source Server         : im_distribution
 Source Server Type    : PostgreSQL
 Source Server Version : 130004
 Source Host           : localhost:5432
 Source Catalog        : postgres
 Source Schema         : public

 Target Server Type    : PostgreSQL
 Target Server Version : 130004
 File Encoding         : 65001

 Date: 06/11/2021 18:48:10
*/


-- ----------------------------
-- Table structure for sys_zkgf_test
-- ----------------------------
DROP TABLE IF EXISTS "public"."sys_zkgf_test";
CREATE TABLE "public"."sys_zkgf_test" (
  "id" int4 NOT NULL,
  "title" varchar(200) COLLATE "pg_catalog"."default",
  "ruletype" int4 DEFAULT 0,
  "weights" int4 DEFAULT 100,
  "remarks" varchar(1000) COLLATE "pg_catalog"."default",
  "status" bool DEFAULT true,
  "createtime" timestamp(6) DEFAULT CURRENT_TIMESTAMP,
  "createuserid" int4 DEFAULT 0,
  "lastopertime" timestamp(6)
)
;
COMMENT ON COLUMN "public"."sys_zkgf_test"."title" IS '规则标题';
COMMENT ON COLUMN "public"."sys_zkgf_test"."ruletype" IS '规则类型 ';
COMMENT ON COLUMN "public"."sys_zkgf_test"."weights" IS '权重;优先级按降序';
COMMENT ON COLUMN "public"."sys_zkgf_test"."remarks" IS '备注描述';
COMMENT ON COLUMN "public"."sys_zkgf_test"."status" IS '状态0禁用 1启用';
COMMENT ON COLUMN "public"."sys_zkgf_test"."createtime" IS '创建时间';
COMMENT ON COLUMN "public"."sys_zkgf_test"."createuserid" IS '创建人';
COMMENT ON COLUMN "public"."sys_zkgf_test"."lastopertime" IS '最后操作时间';

-- ----------------------------
-- Records of sys_zkgf_test
-- ----------------------------
INSERT INTO "public"."sys_zkgf_test" VALUES (1, '智客工坊', 5, 100, NULL, 't', '2020-08-06 11:59:29.249569', 966, '2020-08-06 11:59:29.249569');

-- ----------------------------
-- Primary Key structure for table sys_zkgf_test
-- ----------------------------
ALTER TABLE "public"."sys_zkgf_test" ADD CONSTRAINT "sys_zkgf_test_pkey" PRIMARY KEY ("id");

参考

  • 《PostgreSQL安装详细步骤(windows)》
最近发表
标签列表