Disk space full

Hello,

I use Metabase on linux and Docker, I use this command to launch it:

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

Excluding the file it generates now, is 25GB which is a huge lack of space on my VPS. How do I pass my .db file to my Mysql database? Thanks

Hi @Anthony71
Migrate away from H2: https://www.metabase.com/docs/latest/installation-and-operation/migrating-from-h2

hi @flamber Thank you for your answer,

I have a problem to restart metabase on the database, for the migration I made this command:

java -DMB_DB_TYPE=mysql -DMB_DB_CONNECTION_URI="jdbc:mysql://172.17.0.2:3306/metabase_bdd?user=username&password=mypassword" -jar metabase.jar load-from-h2 metabase.db

Who went well
when relaunching on docker metabase I type this command:

docker run -d -p 3000:3000 -e "MB_DB_TYPE=mysql" -e "MB_DB_DBNAME=metabase_db" -e "MB_DB_PORT=3306" -e "MB_DB_USER=username" -e "MB_DB_PASS=mypassword" -e "MB_DB_HOST=172.17 .0.2" --name metabase metabase/metabase

And suddenly in the logs here is what I find:

Warning: protocol £'java-time.core/Amount is overwriting function abs
WARNING: abs already refers to: £'clojure.core/abs in namespace: java-time.core, being replaced by: £'java-time.core/abs
WARNING: abs already refers to: £'clojure.core/abs in namespace: java-time, being replaced by: £'java-time/abs
Warning: environ value jdk-11.0.16.1+1 for key :java-version has been overwritten with 11.0.16.1
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
2022-11-18 11:57:38,911 INFO metabase.util :: Maximum memory available to JVM: 951.3 MB
2022-11-18 11:57:40,683 INFO util.encryption :: Saved credentials encryption is DISABLED for this Metabase instance. 🔓
 For more information, see https://metabase.com/docs/latest/operations-guide/encrypting-database-details-at-rest.html
WARNING: abs already refers to: £'clojure.core/abs in namespace: taoensso.encore, being replaced by: £'taoensso.encore/abs
WARNING: abs already refers to: £'clojure.core/abs in namespace: kixi.stats.math, being replaced by: £'kixi.stats.math/abs
WARNING: abs already refers to: £'clojure.core/abs in namespace: kixi.stats.test, being replaced by: £'kixi.stats.math/abs
WARNING: abs already refers to: £'clojure.core/abs in namespace: kixi.stats.distribution, being replaced by: £'kixi.stats.math/abs
2022-11-18 11:57:45,938 INFO driver.impl :: Registered abstract driver :sql  🚚
2022-11-18 11:57:45,942 INFO metabase.util ::  ⮦ Load driver :sql took 80.6 ms
2022-11-18 11:57:45,956 INFO driver.impl :: Registered abstract driver :sql-jdbc (parents: ¡:sql¿) 🚚
2022-11-18 11:57:45,963 INFO metabase.util :: Load driver :sql-jdbc took 103.8 ms
2022-11-18 11:57:45,975 INFO driver.impl :: Registered driver :h2 (parents: ¡:sql-jdbc¿) 🚚
2022-11-18 11:57:45,999 INFO driver.impl :: Registered driver :mysql (parents: ¡:sql-jdbc¿) 🚚
2022-11-18 11:57:46,014 INFO driver.impl :: Registered driver :postgres (parents: ¡:sql-jdbc¿) 🚚
2022-11-18 11:57:47,765 INFO metabase.core ::
Metabase v0.44.5 (29fab4d release-x.44.x)

Copyright © 2022 Metabase, Inc.

Metabase Enterprise Edition extensions are NOT PRESENT.
2022-11-18 11:57:47,773 INFO metabase.core :: Starting Metabase in STANDALONE mode
2022-11-18 11:57:47,824 INFO metabase.server :: Launching Embedded Jetty Webserver with config:
 °:port 3000, :host "0.0.0.0"ç

2022-11-18 11:57:47,872 INFO metabase.core :: Starting Metabase version v0.44.5 (29fab4d release-x.44.x) ...
2022-11-18 11:57:47,920 INFO metabase.core :: System info:
 °"file.encoding" "UTF-8",
 "java.runtime.name" "OpenJDK Runtime Environment",
 "java.runtime.version" "11.0.16.1+1",
 "java.vendor" "Eclipse Adoptium",
 "java.vendor.url" "https://adoptium.net/",
 "java.version" "11.0.16.1",
 "java.vm.name" "OpenJDK 64-Bit Server VM",
 "java.vm.version" "11.0.16.1+1",
 "os.name" "Linux",
 "os.version" "5.10.0-14-amd64",
 "user.language" "en",
 "user.timezone" "GMT"ç

2022-11-18 11:57:47,924 INFO metabase.plugins :: Loading plugins in /plugins...
2022-11-18 11:57:48,356 INFO util.files :: Extract file /modules/sparksql.metabase-driver.jar -> /plugins/sparksql.metabase-driver.jar
2022-11-18 11:57:48,504 INFO util.files :: Extract file /modules/sqlserver.metabase-driver.jar -> /plugins/sqlserver.metabase-driver.jar
2022-11-18 11:57:48,544 INFO util.files :: Extract file /modules/presto-jdbc.metabase-driver.jar -> /plugins/presto-jdbc.metabase-driver.jar
2022-11-18 11:57:48,639 INFO util.files :: Extract file /modules/sqlite.metabase-driver.jar -> /plugins/sqlite.metabase-driver.jar
2022-11-18 11:57:48,693 INFO util.files :: Extract file /modules/vertica.metabase-driver.jar -> /plugins/vertica.metabase-driver.jar
2022-11-18 11:57:48,695 INFO util.files :: Extract file /modules/redshift.metabase-driver.jar -> /plugins/redshift.metabase-driver.jar
2022-11-18 11:57:48,707 INFO util.files :: Extract file /modules/presto.metabase-driver.jar -> /plugins/presto.metabase-driver.jar
2022-11-18 11:57:48,712 INFO util.files :: Extract file /modules/druid.metabase-driver.jar -> /plugins/druid.metabase-driver.jar
2022-11-18 11:57:48,724 INFO util.files :: Extract file /modules/mongo.metabase-driver.jar -> /plugins/mongo.metabase-driver.jar
2022-11-18 11:57:48,788 INFO util.files :: Extract file /modules/oracle.metabase-driver.jar -> /plugins/oracle.metabase-driver.jar
2022-11-18 11:57:48,789 INFO util.files :: Extract file /modules/snowflake.metabase-driver.jar -> /plugins/snowflake.metabase-driver.jar
2022-11-18 11:57:49,000 INFO util.files :: Extract file /modules/googleanalytics.metabase-driver.jar -> /plugins/googleanalytics.metabase-driver.jar
2022-11-18 11:57:49,020 INFO util.files :: Extract file /modules/bigquery-cloud-sdk.metabase-driver.jar -> /plugins/bigquery-cloud-sdk.metabase-driver.jar
2022-11-18 11:57:49,125 INFO util.files :: Extract file /modules/presto-common.metabase-driver.jar -> /plugins/presto-common.metabase-driver.jar
2022-11-18 11:57:49,341 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :hive-like...
2022-11-18 11:57:49,360 INFO driver.impl :: Registered abstract driver :hive-like (parents: ¡:sql-jdbc¿) 🚚
2022-11-18 11:57:49,361 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :sparksql...
2022-11-18 11:57:49,361 INFO driver.impl :: Registered driver :sparksql (parents: ¡:hive-like¿) 🚚
2022-11-18 11:57:49,376 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :googleanalytics...
2022-11-18 11:57:49,377 INFO driver.impl :: Registered driver :googleanalytics  🚚
2022-11-18 11:57:49,388 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :bigquery-cloud-sdk...
2022-11-18 11:57:49,389 INFO driver.impl :: Registered driver :bigquery-cloud-sdk (parents: ¡:sql¿) 🚚
2022-11-18 11:57:49,515 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :snowflake...
2022-11-18 11:57:49,517 INFO driver.impl :: Registered driver :snowflake (parents: ¡:sql-jdbc¿) 🚚
2022-11-18 11:57:49,528 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :mongo...
2022-11-18 11:57:49,528 INFO driver.impl :: Registered driver :mongo  🚚
2022-11-18 11:57:49,555 INFO plugins.dependencies :: Plugin 'Metabase Presto JDBC Driver' depends on plugin 'Presto Common Driver'
2022-11-18 11:57:49,556 INFO plugins.dependencies :: Metabase Presto JDBC Driver dependency °:plugin Presto Common Driverç satisfied? false
2022-11-18 11:57:49,557 INFO plugins.dependencies :: Plugins with unsatisfied deps: ¡"Metabase Presto JDBC Driver"¿
2022-11-18 11:57:49,563 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :presto-common...
2022-11-18 11:57:49,563 INFO driver.impl :: Registered abstract driver :presto-common  🚚
2022-11-18 11:57:49,564 INFO plugins.dependencies :: Metabase Presto JDBC Driver dependency °:plugin Presto Common Driverç satisfied? true
2022-11-18 11:57:49,566 DEBUG plugins.initialize :: Dependencies satisfied; these plugins will now be loaded: ¡"Metabase Presto JDBC Driver"¿
2022-11-18 11:57:49,567 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :presto-jdbc...
2022-11-18 11:57:49,567 INFO driver.impl :: Registered driver :presto-jdbc (parents: ¡:presto-common¿) 🚚
2022-11-18 11:57:49,577 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :sqlserver...
2022-11-18 11:57:49,578 INFO driver.impl :: Registered driver :sqlserver (parents: ¡:sql-jdbc¿) 🚚
2022-11-18 11:57:49,584 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :sqlite...
2022-11-18 11:57:49,585 INFO driver.impl :: Registered driver :sqlite (parents: ¡:sql-jdbc¿) 🚚
2022-11-18 11:57:49,590 INFO plugins.dependencies :: Plugin 'Metabase Presto Driver' depends on plugin 'Presto Common Driver'
2022-11-18 11:57:49,590 INFO plugins.dependencies :: Metabase Presto Driver dependency °:plugin Presto Common Driverç satisfied? true
2022-11-18 11:57:49,595 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :presto...
2022-11-18 11:57:49,595 INFO driver.impl :: Registered driver :presto (parents: ¡:presto-common¿) 🚚
2022-11-18 11:57:49,598 INFO plugins.dependencies :: Metabase cannot initialize plugin Metabase Vertica Driver due to required dependencies. Metabase requires the Vertica JDBC driver in order to connect to Vertica databases, but we can't ship it as part of Metabase due to licensing restrictions. See https://metabase.com/docs/latest/administration-guide/databases/vertica.html for more details.

2022-11-18 11:57:49,599 INFO plugins.dependencies :: Metabase Vertica Driver dependency °:class com.vertica.jdbc.Driverç satisfied? false
2022-11-18 11:57:49,599 INFO plugins.dependencies :: Plugins with unsatisfied deps: ¡"Metabase Vertica Driver"¿
2022-11-18 11:57:49,603 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :druid...
2022-11-18 11:57:49,604 INFO driver.impl :: Registered driver :druid  🚚
2022-11-18 11:57:49,613 INFO plugins.dependencies :: Metabase cannot initialize plugin Metabase Oracle Driver due to required dependencies. Metabase requires the Oracle JDBC driver in order to connect to Oracle databases, but we can't ship it as part of Metabase due to licensing restrictions. See https://metabase.com/docs/latest/administration-guide/databases/oracle.html for more details.

2022-11-18 11:57:49,614 INFO plugins.dependencies :: Metabase Oracle Driver dependency °:class oracle.jdbc.OracleDriverç satisfied? false
2022-11-18 11:57:49,614 INFO plugins.dependencies :: Plugins with unsatisfied deps: ¡"Metabase Oracle Driver" "Metabase Vertica Driver"¿
2022-11-18 11:57:49,620 DEBUG plugins.lazy-loaded-driver :: Registering lazy loading driver :redshift...
2022-11-18 11:57:49,623 INFO driver.impl :: Registered driver :redshift (parents: ¡:postgres¿) 🚚
2022-11-18 11:57:49,623 INFO metabase.core :: Setting up and migrating Metabase DB. Please sit tight, this may take a minute...
2022-11-18 11:57:49,626 INFO db.setup :: Verifying mysql Database Connection ...
2022-11-18 11:58:19,752 ERROR metabase.core :: Metabase Initialization FAILED
clojure.lang.ExceptionInfo: Unable to connect to Metabase mysql DB. °ç
   at metabase.db.setup$fn__35465$verify_db_connection__35470$fn__35471$fn__35472.invoke(setup.clj:99)
   at metabase.db.setup$fn__35465$verify_db_connection__35470$fn__35471.invoke(setup.clj:97)
   at metabase.db.setup$fn__35465$verify_db_connection__35470.invoke(setup.clj:89)
   at metabase.db.setup$fn__35547$setup_db_BANG___35552$fn__35553$fn__35556$fn__35557.invoke(setup.clj:144)
   at metabase.util$do_with_us_locale.invokeStatic(util.clj:716)
   at metabase.util$do_with_us_locale.invoke(util.clj:702)
   at metabase.db.setup$fn__35547$setup_db_BANG___35552$fn__35553$fn__35556.invoke(setup.clj:143)
   at metabase.db.setup$fn__35547$setup_db_BANG___35552$fn__35553.invoke(setup.clj:142)
   at metabase.db.setup$fn__35547$setup_db_BANG___35552.invoke(setup.clj:136)
   at metabase.db$setup_db_BANG_$fn__35582.invoke(db.clj:65)
   at metabase.db$setup_db_BANG_.invokeStatic(db.clj:60)
   at metabase.db$setup_db_BANG_.invoke(db.clj:51)
   at metabase.core$init_BANG__STAR_.invokeStatic(core.clj:100)
   at metabase.core$init_BANG__STAR_.invoke(core.clj:83)
   at metabase.core$init_BANG_.invokeStatic(core.clj:145)
   at metabase.core$init_BANG_.invoke(core.clj:140)
   at metabase.core$start_normally.invokeStatic(core.clj:157)
   at metabase.core$start_normally.invoke(core.clj:151)
   at metabase.core$_main.invokeStatic(core.clj:190)
   at metabase.core$_main.doInvoke(core.clj:184)
   at clojure.lang.RestFn.invoke(RestFn.java:397)
   at clojure.lang.AFn.applyToHelper(AFn.java:152)
   at clojure.lang.RestFn.applyTo(RestFn.java:132)
   at metabase.core.main(Unknown Source)
Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!
   at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:118)
   at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:692)
   at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:140)
   at clojure.java.jdbc$get_connection.invokeStatic(jdbc.clj:372)
   at clojure.java.jdbc$get_connection.invoke(jdbc.clj:274)
   at clojure.java.jdbc$db_query_with_resultset_STAR_.invokeStatic(jdbc.clj:1111)
   at clojure.java.jdbc$db_query_with_resultset_STAR_.invoke(jdbc.clj:1093)
   at clojure.java.jdbc$query.invokeStatic(jdbc.clj:1182)
   at clojure.java.jdbc$query.invoke(jdbc.clj:1144)
   at clojure.java.jdbc$query.invokeStatic(jdbc.clj:1160)
   at clojure.java.jdbc$query.invoke(jdbc.clj:1144)
   at metabase.driver.sql_jdbc.connection$can_connect_with_spec_QMARK_.invokeStatic(connection.clj:266)
   at metabase.driver.sql_jdbc.connection$can_connect_with_spec_QMARK_.invoke(connection.clj:263)
   at metabase.db.setup$fn__35465$verify_db_connection__35470$fn__35471$fn__35472.invoke(setup.clj:97)
   ... 23 more
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
   at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1507)
   at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:644)
   at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:554)
   at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutAndMarkConnectionInUse(C3P0PooledConnectionPool.java:758)
   at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:685)
   ... 35 more
Caused by: java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=172.17.0.2)(port=3306)(type=master) : Socket fail to connect to host:172.17.0.2, port:3306. Connection refused (Connection refused)
   at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:73)
   at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:197)
   at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1394)
   at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:635)
   at org.mariadb.jdbc.MariaDbConnection.newConnection(MariaDbConnection.java:150)
   at org.mariadb.jdbc.Driver.connect(Driver.java:89)
   at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
   at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
   at metabase.db.data_source.DataSource.getConnection(data_source.clj:25)
   at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:161)
   at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:147)
   at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:202)
   at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1176)
   at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1163)
   at com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44)
   at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1908)
   at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)
Caused by: java.sql.SQLNonTransientConnectionException: Socket fail to connect to host:172.17.0.2, port:3306. Connection refused (Connection refused)
   at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:73)
   at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:188)
   at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.createSocket(AbstractConnectProtocol.java:257)
   at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.createConnection(AbstractConnectProtocol.java:524)
   at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1389)
   ... 14 more
Caused by: java.net.ConnectException: Connection refused (Connection refused)
   at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
   at java.base/java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
   at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
   at java.base/java.net.AbstractPlainSocketImpl.connect(Unknown Source)
   at java.base/java.net.SocksSocketImpl.connect(Unknown Source)
   at java.base/java.net.Socket.connect(Unknown Source)
   at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.createSocket(AbstractConnectProtocol.java:252)
   ... 16 more
2022-11-18 11:58:19,774 INFO metabase.core :: Metabase Shutting Down ...
2022-11-18 11:58:19,776 INFO metabase.server :: Shutting Down Embedded Jetty Webserver
2022-11-18 11:58:19,784 INFO metabase.core :: Metabase Shutdown COMPLETE

I don't understand why it can't connect when it's exactly the same data....

@Anthony71 I would recommend using the same environment variables, so you don't make typos.
Both the database and host are different. metabase_db != metabase_bdd

I'm guessing that your Metabase container does not have network access to the MySQL container.
https://docs.docker.com/config/containers/container-networking/

Thanks I got it @flamber !
On the other hand metabase is reset and did not keep my dashboards or my users ... how to get them back?

@Anthony71 Then you are not pointing to the correct application database (or haven't migrated the correct H2 to MySQL).
When you start Metabase, then you define where Metabase should find all it's information: https://www.metabase.com/docs/latest/installation-and-operation/configuring-application-database