Metabase 自帶的系統資料庫為 H2,僅用於測試試用期間,若要轉為正式應用(production),官方強烈將系統資料移至大型資料庫。
建議版本為 MySQL 5.7.7(含) 或 MariaDB 10.2.2(含) 或 PostgreSQL 9.4(含) 以上;本筆記為 MySQL 8.0。
注意:避免同時做 Metabase 更新升級 及 資料庫移植
關閉 Metabase,目前我的練功主機是開終端機視窗,在家目錄以
[user]~$ java -jar metabase.jar
的指令啟動 Metabase
所以只要在瀏覽器的 Metabase 頁面登出,然後在終端機視窗 Ctrl+C 中斷 Metabase 即可。
備份 H2︰複製 metabase.db.mv.db 到另一個安全的目錄存放。
操作 phpMyAdmin
在 MySQL 新增 metabase 帳戶
執行移植指令
# 切換到 metabase.jar 所在目錄, 在本例為 [user]~/metabase/ [user]~/metabase$ export MB_DB_TYPE=mysql [user]~/metabase$ export MB_DB_CONNECTION_URI="jdbc:mysql://主機IP:3306/metabase?user=metabase帳戶&password=密碼" [user]~/metabase$ java -DMB_DB_TYPE=mysql -DMB_DB_CONNECTION_URI="jdbc:mysql://主機IP:3306/metabase?user=帳號&password=密碼;" -jar metabase.jar load-from-h2 metabase.db # 注意檔名
因為有備份 H2,所以可以放心刪除 metabase 所在目錄下的 H2 檔案,以確認 metabase 存取的是 MySQL。
重新啟動 metabase
[user]~/metabase$ export MB_DB_TYPE=mysql [user]~/metabase$ export MB_DB_CONNECTION_URI="jdbc:mysql://主機IP:3306/metabase?user=metabase帳戶&password=密碼" [user]~/metabase$ java -DMB_DB_TYPE=mysql -DMB_DB_CONNECTION_URI="jdbc:mysql://主機IP:3306/metabase?user=metabase帳號&password=密碼" -jar metabase.jar重登入 metabase,可以看到之前製作的儀表板都在。
相關筆記 ----
沒有留言:
張貼留言