版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/iceyung/article/details/82885918
Metabase开发环境下修改默认数据库H2到MySQL
说明
若只是使用Metabase.jar,可参看该文章进行更改,本次记录开发环境下的默认数据库更换,参见上一篇文章中开发环境的搭建。
数据迁移
首先,先将H2中的数据迁移到MySQL中,Metabase中提供了metabase.cmd.load-from-h2
的clojure供我们使用,先看一下该文件的一个说明:
# Postgres
psql -c 'DROP DATABASE IF EXISTS metabase;'
psql -c 'CREATE DATABASE metabase;'
MB_DB_TYPE=postgres MB_DB_HOST=localhost MB_DB_PORT=5432 MB_DB_USER=camsaul MB_DB_DBNAME=metabase lein run load-from-h2
# MySQL
mysql -u root -e 'DROP DATABASE IF EXISTS metabase; CREATE DATABASE metabase;'
MB_DB_TYPE=mysql MB_DB_HOST=localhost MB_DB_PORT=3305 MB_DB_USER=root MB_DB_DBNAME=metabase lein run load-from-h2
首先我们先在mysql中新建metabase的数据库,然后将下面的语句运行,需要填写MB_DB_PASS=你的数据库密码
,不然会报错,提示数据库连接失败,完整的语句如下:
MB_DB_TYPE=mysql MB_DB_HOST=localhost MB_DB_PORT=3305 MB_DB_USER=root MB_DB_DBNAME=metabase MB_DB_PASS=你的数据库密码 lein run load-from-h2
设置默认数据库为MySQL
此时,启动metabase并不能切换数据库到mysql,还需要再进行一些操作才可以,首先在/etc/profile下新增一下几行信息:
export MB_DB_TYPE=mysql
export MB_DB_DBNAME=metabase数据库
export MB_DB_PORT=mysql端口
export MB_DB_USER=mysql用户
export MB_DB_PASS=mysql密码
export MB_DB_HOST=mysql机器ip
当其生效后,启动metabase,可以看到此时的数据库更改到了mysql