23

我的 MySQL 数据库有一个初始化脚本,但出于测试目的,我不想使用 H2 数据库。任何人都知道如何转换文件或至少有一个语法差异列表?谢谢。

4

4 回答 4

12

这是 Matthew Casperson 的一个很好的指导

从 MySQL 导出到 H2

以下是从 mysql 转换为 h2 的简短步骤列表:

修复单引号

CREATE TABLE `user` ( `name` varchar(20) NOT NULL,
转换为
CREATE TABLE user( namevarchar(20) NOT NULL,

修复十六进制数字
修复位
不要在键中包含范围
删除字符集(删除 CHARACTER SET ...)
删除 COLLATE 设置(fe COLLATE utf8_unicode_ci)
删除 BLOBS、CLOBS 和 TEXT 字段上的
索引 使所有索引名称唯一
使用 MySQL兼容模式(jdbc:h2:~/test;MODE=MySQL)

于 2015-05-27T07:03:29.970 回答
10

许多数据库工具可以帮助将数据从一个数据库迁移到另一个数据库,例如:

于 2012-07-24T13:55:20.947 回答
0

使用这个 java 工具,只需下载并运行 jar 文件即可轻松使用。它既有 GUI,也可以根据需要集成到您的代码中。MysqlDumpToH2

于 2019-11-15T13:06:06.940 回答
-3

我在 iConomy 常见问题解答 (http://ico.nexua.org/Main/FAQ#toc28) 上看到了这个:

如何将 H2 转换为 MySQL?

由于它们都是基于 SQL 的,您只需将 h2 sql 数据导出到 .sql 文件中,然后使用 GUI 或 PHPMyAdmin、Admininer、SQLBuddy 等将其导入 MySQL 数据库。为此,您可以使用 h2 内置控制台或 RazorSQL h2 GUI(多平台)。如果你想要数据库的 SQL 输出,你的 minecraft.h2.db 的完整路径没有 .h2.db 部分

在 h2.jar 所在的 /lib 文件夹内的 .sh / .bat 文件或控制台中使用以下行:

java -cp h2*.jar org.h2.tools.Script -url jdbc:h2:path/to/minecraft -user sa -password sa

这将输出一个名为 backup.sql 的文件,并将包含数据库的原始 SQL 输出。您可能需要对其进行一些编辑,使其与 MySQL 相匹配。:)

于 2012-09-10T09:23:41.880 回答