从 MySQL 迁移到 Postgresql

Migrate from MySQL to Postgresql

我在我的 CentOS 6.6 中安装了 Postgresql-9.5 和 PgAdmin III,我使用这些命令,

1) 服务 postgresql-9.5 状态

2) 服务 postgresql-9.5 启动

3) su postgres

4) psql

5) 密码

6) mysqldump --compatible=postgresql --default-character-set=utf8 -r databasename.mysql -u root -p databasename

7) mysqldump -u root -p --compatible=postgres 数据库名 < /home/databasename.mysql

UNLOCK TABLES;

/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE /;
/
!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS /;
/
!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS /;
/
!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2017-08-28 11:42:14

完成后,我打开我的 PgAdmin III 并检查没有任何东西......我的数据库中没有数据。我做错了什么。

mysqldump 不能用于从文件执行 SQL 命令 - 你需要使用类似 psql 的东西:psql -h hostname -d databasename -U username -f file.sql.

您需要在使用此命令之前创建数据库(因此从文件中删除 create database)。

UNLOCK TABLES; 这将在 Postgre 中引发错误SQL,您需要删除该行。

一个非常简单的方法是使用 NMIG 一个惊人的脚本,几乎需要 0 个配置。

  1. 克隆存储库
  2. npm i,npm 运行 构建
  3. 在 ./config/config.json
  4. 中设置您的 MySQL 和 Postgres 服务器连接
  5. npm 启动
  6. 享受迁移后的数据库