Metabase將默認H2數據庫導入Mysql採坑過程(Centos7)

本文介紹部署在Centos7中的Metabase,把示例H2數據庫數據導入外部mysql數據庫。

這裡centos7為Vmware安裝的虛擬機,mysql位於虛擬機所在的宿主PC(Windows)。

Centos7中的配置工作:

1、停止Metabase服務

<code>Ctrl C  停止以 java -jar metabase.jar 啟動的服務

/<code>

2、備份H2數據庫。

進入metabase的啟動目錄,找到類似metabase.db.*的文件,有兩個,拷貝到其他目錄做備份。

Metabase將默認H2數據庫導入Mysql採坑過程(Centos7)


3、在profile中添加要導入mysql的配置信息

<code>source /etc/profile/<code>

​​​​此時,請保證 宿主機中已存在如上所示的數據庫

4、在Metabase的jar文件所在目錄,執行以下命令,進行遷移操作。

​​

<code>java -jar metabase.jar load-from-h2 ./metabase.db/<code>

​​

Metabase將默認H2數據庫導入Mysql採坑過程(Centos7)

​​看到如下結果,證明操作成功、

Metabase將默認H2數據庫導入Mysql採坑過程(Centos7)

​​

​​這裡介紹以下可能出現的異常情況

S1:Command failed with exception: Timed out after 5.0 s

這個問題,前提情況是,linux防火牆是否關閉,firewall-cmd --state 查看;宿主機防火牆是否有mysql所使用的的端口的入棧規則;

如以上問題,都不存在,那麼,請確認profile中內容無誤後,Source /etc/profile 並重啟linux後,重試遷移操作。

S2:Command failed with exception: Could not connect to address=(host=192.168.3.6)(port=3306)(type=master)

個人理解,這個提示的存在,基本是由於profile中的配置信息有誤,或者未使profile文件生效,也是我早期研究中常發生的錯誤。

成功結果貼圖

Navicat 連接mysql,查看metabase數據庫中的表,同步前,metabase數據庫中沒有任何表,同步成功後,所顯示都是從H2同步過來的結果。

​​

Metabase將默認H2數據庫導入Mysql採坑過程(Centos7)

Metabase將默認H2數據庫導入Mysql採坑過程(Centos7)

​​


分享到:


相關文章: