MariaDB
MariaDB can be automatically configured for your dev environment by Devbox via the built-in MariaDB Plugin. This plugin will activate automatically when you install MariaDB using devbox add mariadb
, or when you use a versioned Nix package like devbox add mariadb_1010
Adding MariaDB to your Shell
devbox add mariadb
, or in your devbox.json
add
"packages": [
"mariadb@latest"
]
You can manually add the MariaDB Plugin to your devbox.json
by adding it to your include
list:
"include": [
"plugin:mariadb"
]
This will install the latest version of MariaDB. You can find other installable versions of MariaDB by running devbox search mariadb
. You can also view the available versions on Nixhub
MariaDB Plugin Support
Devbox will automatically create the following configuration when you run devbox add mariadb
. You can view the full configuration by running devbox info mariadb
Services
- mariadb
You can use devbox services up|stop mariadb
to start or stop the MariaDB Server.
Environment Variables
MYSQL_BASEDIR=.devbox/nix/profile/default
MYSQL_HOME=./.devbox/virtenv/mariadb/run
MYSQL_DATADIR=./.devbox/virtenv/mariadb/data
MYSQL_UNIX_PORT=./.devbox/virtenv/mariadb/run/mysql.sock
MYSQL_PID_FILE=./.devbox/mariadb/run/mysql.pid
Files
The plugin will also create the following helper files in your project's .devbox/virtenv
folder:
- mariadb/flake.nix
- mariadb/setup_db.sh
- mariadb/process-compose.yaml
These files are used to setup your database and service, and should not be modified
Notes
- This plugin wraps mysqld and mysql_install_db to work in your local project. For more information, see the
flake.nix
created in your.devbox/virtenv/mariadb
folder. - This plugin will create a new database for your project in MYSQL_DATADIR if one doesn't exist on shell init.
- You can use
mysqld
to manually start the server, andmysqladmin -u root shutdown
to manually stop it .sock
filepath can only be maximum 100 characters long. You can point to a different path by setting theMYSQL_UNIX_PORT
env variable in yourdevbox.json
as follows:
"env": {
"MYSQL_UNIX_PORT": "/<some-other-path>/mysql.sock"
}
Disabling the MariaDB Plugin
You can disable the MariaDB plugin by running devbox add mariadb --disable-plugin
, or by setting the disable_plugin
field in your devbox.json
:
{
"packages": {
"mariadb": {
"version": "latest",
"disable_plugin": true
}
}
}