Why is it not recommended to use the default H2 database


Why is it not recommended to use the default H2 database?
What are the main reasons?

Hi! The H2 database is a file based DB which does not allow concurrency and is extremely sensitive to corruption. If you deploy Metabase with that DB in production the file will start to be bigger and bigger and you will need faster and faster disks to read it (as once again, it's reading an entire file rather than reading specific rows on a database that are indexed)

As you can see, it's cool for tests, but not for production

thanks

How to transfer to mysql?
Is there a specific operation command?

@beta I'm sure I have linked to this many times before:
https://www.metabase.com/docs/latest/operations-guide/migrating-from-h2.html

Do you execute this command directly?

export MB_DB_CONNECTION_URI="mysql://localhost:3306/metabase?user=myname&password=mypassword"
java -jar metabase.jar

@beta See the beginning of this page, which explains how to set environment variables for the different console types (our docs only contains Unix-style examples):
https://www.metabase.com/docs/latest/operations-guide/environment-variables.html

thanks