This is a read-only copy of the MariaDB Knowledgebase generated on 2024-12-22. For the latest, interactive version please visit https://mariadb.com/kb/.

Configuring the MariaDB Jupyter Kernel

Config File Location

The kernel can be configured via a JSON file called mariadb_config.json.

The kernel will look for this config file in one of these two locations:

  1. If the JUPYTER_CONFIG_DIR environment variable is defined (non-empty), mariadb_kernel will try to read $JUPYTER_CONFIG_DIR/mariadb_config.json
  2. If the environment variable is empty, the kernel will try to read $HOME/.jupyter/mariadb_config.json

Config Example

Here’s an example file containing some of the available options that you can pass to the kernel:

cat ~/.jupyter/mariadb_config.json
{
    "user": "root",
    "host": "localhost",
    "port": "3306",
    "password": "securepassword",
    "start_server": "True",
    "client_bin": "/usr/bin/mariadb",
    "server_bin": "/usr/bin/mariadbd"
}

By default the kernel starts a MariaDB server running at localhost, on port 3306 and connects to this instance using the user root with no password. The kernel also assumes that MariaDB Server is installed and its binaries are in PATH. You can change any of these options to fit your use-case. This also means you can run a notebook locally with a MariaDB kernel, and make the kernel connect to a server running in the cloud for instance.

The kernel, using the default configuration, looks for the mysql and mysqld binaries in your PATH. You can point (for example if you have a local MariaDB built from sources) the kernel to an exact location for these two binaries using the client_bin and server_bin options.

The start_server option tells the kernel to start a MariaDB Server instance for you, when the kernel is loaded, if it detects no running server given the configurations passed.

The Full List of JSON Options

If you suspect the documentation might not be up to date, you can check the complete list of available options at this link.

OptionDefaultExplanation
user“root”Kernel passes `--user=root` to the MariaDB client
host“localhost”Kernel passes `--host=localhost` to the MariaDB client
socket"/tmp/mariadb_kernel/mysqld.sock"If socket authentication is enabled in MariaDB, you can configure this option to tell the kernel that it can use socket authentication for connecting to the server. `--socket` is passed to the MariaDB client and if the server is started by the kernel, the kernel passes the option to the MariaDB server as well
port“3306”Kernel passes `--port=3306` to the MariaDB client
password“”Kernel passes `--password=”your_pass”` to the MariaDB client
server_datadir"/tmp/mariadb_kernel/datadir"Valid only if `start_server=True`. Tells the kernel the location of the datadir for the started server
server_pid"/tmp/mariadb_kernel/mysqld.pid"Valid only if `start_server=True`. Tells the kernel the location of the PID file for the started server
start_server“True”Start a server if no server running is detected for this config
client_bin“mysql”The name or path for the MariaDB client binary
server_bin“mysqld”The name or path for the MariaDB server binary
db_init_bin“mysql_install_db”Valid only if `start_server=True`. The name or path for the `mysql_install_db` binary. The kernel uses this tool to set up the MariaDB Server instance that it starts for you
extra_server_config["--no-defaults", "--skip_log_error"]Valid only if `start_server=True`. Extra arguments to pass to the MariaDB Server instance that the kernel starts for you
extra_db_init_config["--auth-root-authentication-method=normal"]Valid only if `start_server=True`. Extra arguments to pass the `mysql_install_db` script when the kernel sets up the server
debug"False"Enables debug logging which provides lots of internals information
code_completion"True"Enables SQL autocompletion and code introspection
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.