2012-07-23 159 views
19

我有一個我的MySQL數據庫的初始化腳本,但爲了測試目的,我不想使用H2數據庫。任何人都知道如何轉換文件或至少有一個語法差異列表?謝謝。轉換MySQL腳本爲H2

回答

9

a number of database tools,幫助遷移數據從一個到另一個數據庫,例如:

+1

我有一些有趣創建將把mysqldump文件轉換爲h2格式的bash腳本。 https://github.com/Joebh/MysqlDumpToH2 – 2015-01-15 15:30:44

+0

SQuirreL數據庫複製插件工作得很好。 – Ben 2016-08-30 10:51:21

-2

我看到這對iConomy FAQ(HTTP:// ICO .nexua.org/Main/FAQ#toc28):

如何將H2轉換爲MySQL ?

因爲它們都是基於SQL的,所以您只需將h2 sql數據導出爲.sql文件,然後使用GUI或PHPMyAdmin,Admininer,SQLBuddy等將其導入到MySQL數據庫中。 做到這一點,你可以使用內置的控制檯或RazorSQL h2 GUI(多平臺)。 如果你想要數據庫的SQL輸出,你的minecraft.h2.db沒有.h2.db部分的完整路徑

在.sh /.bat文件或控制檯內的/ lib文件夾,h2.jar位於:

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

這將輸出一個名爲backup.sql文件,將包含數據庫的原始SQL輸出。您可能需要編輯它以便與MySQL匹配。 :)

+0

與所要求的不完全相反嗎? – kaqqao 2015-06-24 14:47:49

5

這裏是由馬修Casperson良好的指令

Exporting from MySQL to H2

下面是步驟很短的名單,從MySQL轉換爲H2:

解決了單報價

CREATE TABLE`user`( `name` VARCHAR(20)NOT NULL,
皈依
CREATE TABLE username VARCHAR(20)NOT NULL,

修復了十六進制數
修補好位
不要包括鍵的範圍
刪除字符集(刪除字符集...)
刪除COLLATE設置(feCOLLATE utf8_unicode_ci)
上BLOBS刪除索引,CLOBS和文本字段
製作獨一無二的所有索引名
使用MySQL的兼容模式(JDBC:H2:〜/測試; MODE = MySQL的)

+1

嘗試在您的答案中包含文章的主要思想。如果鏈接關閉,我可能會有用。 – 2015-05-27 07:10:02

+0

它很難做到這一點,因爲馬修非常簡短地記錄了它,但我列出了所有重要的步驟,並希望他能夠做到這一點。 – 2015-06-05 06:19:00