MariaDB
MariaDB Start Guide
Remember: We use the same driver extension to connect for both MariaDB and MySQL, so some of the settings and documentation refer to
mysql
orMySQL
.
1. Connections
Connection example:
{
"name": "MariaDB",
"server": "localhost",
"driver": "MariaDB",
"port": 3306,
"database": "test_db",
"username": "root",
"askForPassword": false,
"password": "root",
"connectionTimeout": 15
}
Using a socket file example:
{
"name": "MariaDB",
"driver": "MariaDB",
"database": "test_db",
"username": "root",
"askForPassword": false,
"password": "root",
"connectionTimeout": 15,
"socketPath": "/path/to/mysqld.sock"
}
1.1 Specific Options
MariaDB driver specific options can be passed using mysqlOptions
settings.
{
"name": "MariaDB",
"server": "localhost",
"driver": "MariaDB",
"port": 5433,
"database": "test_db",
"username": "root",
"askForPassword": false,
"password": "root",
"connectionTimeout": 15,
"mysqlOptions": {
... // options See section 2. mysqlOptions
}
}
2. mysqlOptions
We have two options of connectors for MariaDB. You can choose which one to use by change the setting mysqlOptions.authProtocol
. The allowed values are default
and xprotocol
, we use default
by default since is the most often used.
Extra options can be used as defined in the connectors documentation.
- For default protocol
- For xprotocol
They will be passed to the pool constructor directly. See https://github.com/mtxr/vscode-sqltools/blob/master/packages/core/driver/mysql/index.ts .
Know Errors and How to Fix
MariaDB 8 and ER_NOT_SUPPORTED_AUTH_MODE
Potential solutions:
- Ensure you’ve set
authProtocol
toxprotocol
- Use the correct port. Typically, add a trailing
0
to theport
used by thedefault
protocol.
Example configuration:
{
"sqltools.connections": [
{
"askForPassword": true,
"connectionTimeout": 30,
"driver": "MariaDB",
"name": "LocalHost",
"port": 33060,
"server": "127.0.0.1",
"username": "root",
"mysqlOptions": {
"authProtocol": "xprotocol"
}
}
]
}