docker安装的metabase存储从h2改成mysql

在mysql创建好数据库和相关用户,并授权

CREATE DATABASE metabase;
CREATE USER metabase@'172.17.0.0/24' IDENTIFIED BY '123456';
GRANT USAGE ON metabase.* TO 'metabase@'172.17.0.0/24';
FLUSH PRIVILEGES;

 

看一下旧metabase容器的启动参数,history | grep metabase

docker run -d -p 3000:3000 -v /data/metabase-data:/metabase-data -e "MB_DB_FILE=/metabase-data/metabase.db" --name metabase metabase/metabase

 

我们需要备份的h2文件在容器里的完整路径为/metabase.db/metabase.db.mv.db,备份一下到物理机。

docker cp metabase:/metabase.db/metabase.db.mv.db /data/backup/metabase.db.mv.db

 

停止、删除旧metabase容器,如果担心有问题的话,不停止删除metabase容器,新建的metabase容器绑定别的端口、命名也不和旧容器同名

docker stop metabase
docker rm metabase
docker run -d -p 3000:3000 --restart unless-stopped -e "MB_DB_TYPE=mysql" -e "MB_DB_DBNAME=metabase" -e "MB_DB_PORT=3306" -e "MB_DB_USER=metabase" -e "MB_DB_PASS=123456" -e "MB_DB_HOST=172.17.0.1" --name metabase  metabase/metabase

 

创建好新的容器后,将备份的metabase.db.mv.db文件导入到新容器中,在容器里面操作导入数据

docker cp /data/backup/metabase.db.mv.db /tmp/
docker exec -it metabase /bin/bash
java -jar /app/metabase.jar load-from-h2 /tmp/metabase.db
posted @   sherlock-merlin  阅读(358)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2018-07-14 提取路由器固件中的squashfs
点击右上角即可分享
微信分享提示