2014-11-06 76 views
0

我們正在清理客戶的服務器,並使用H2數據庫絆倒了舊應用程序。雖然訪問應用程序在其配置文件中具有憑證,但它們都不起作用。無憑據知識訪問未加密的H2數據庫

即使「sa」用戶訪問也是未知的。據我所知,「sa」的密碼默認爲空字符串,但是拒絕訪問「sa」/「」(錯誤的用戶名或密碼[28000-182] 28000/28000(幫助))。

如上所述,數據庫未加密。看着這個文件,我可以看到這些表的SQL語句,甚至是一些表格內容。

有什麼方法可以訪問該數據庫嗎?據我的搜索顯示,它只能使用「sa」用戶。我正在尋找來自MySQL的「--skip-grant-tables」。

回答

2

最簡單的解決方案可能是:

  1. 嘗試登錄到數據庫沒有密碼。這將失敗(錯誤的用戶名或密碼),但它將運行事務日誌恢復,以便數據庫處於一致狀態。
  2. 然後,使用恢復工具(org.h2.tools.Recover)生成SQL腳本。
  3. 編輯腳本:更改默認用戶的密碼。
  4. 運行腳本。這樣你得到一個新的數據庫。
+0

聽起來可行。謝謝。將報告結果。 – 0xCAFEBABE 2014-11-07 06:38:28