Prerequisites
- A MariaDB database (version 10.2 or later recommended) that is accessible over the network
- The database host, port, name, username, and password
- A VexiData account
Connect MariaDB to VexiData
Gather your connection details
You need five pieces of information to connect. If you set up MariaDB yourself, you’ll already know these. If someone else manages the database, ask your database administrator.
| Parameter | Description | Default |
|---|---|---|
| Host | The hostname or IP address of your MariaDB server | localhost |
| Port | The port MariaDB is listening on | 3306 |
| Database | The name of the database you want to query | — |
| Username | A MariaDB user with access to the database | root |
| Password | The password for that user | — |
Allow VexiData through your firewall (if applicable)
If your MariaDB server is behind a firewall or only accepts connections from specific IPs, add VexiData’s IP addresses:
139.59.53.167165.22.217.42
- Cloud VMs (AWS EC2, DigitalOcean Droplets, GCP Compute) — Security Groups or firewall rules
- Self-hosted servers — Your OS firewall (e.g.,
ufw,iptables) - Managed databases — See the provider-specific guides linked above
If your database is only accessible from
localhost or a private network, you’ll need to either expose it to the internet or set up an SSH tunnel. VexiData requires a direct TCP connection to your database.Verify MariaDB accepts remote connections
By default, MariaDB may only listen on If the
localhost. If your database is on a remote server, make sure it’s configured to accept external connections:- In your MariaDB configuration file (
my.cnformy.ini), set:
- Restart MariaDB for the change to take effect.
-
Verify your MariaDB user is allowed to connect from remote hosts. Users created with
'localhost'can only connect locally:
host column shows localhost or 127.0.0.1, you’ll need to create a user that allows remote access (see the read-only user section below).Managed database services (AWS RDS, Google Cloud SQL, etc.) handle this automatically. You only need this step for self-hosted MariaDB.
Add the connection in VexiData
- Go to Data Sources in VexiData
- Click MariaDB to open the connection form
- Fill in the details:
| Field | Value |
|---|---|
| Display Name | A name to identify this connection (e.g., “Production DB”) |
| Host | Your server’s hostname or IP address |
| Port | 3306 (or your custom port) |
| Database | Your database name |
| Username | Your MariaDB username |
| Password | Your MariaDB password |
Creating a read-only user (recommended)
For security, we recommend connecting VexiData with a dedicated read-only user instead of your admin or application user. This ensures VexiData can only read data, never modify it.Troubleshooting
Connection timed out
Connection timed out
This means VexiData can’t reach your server. Check:
- Your firewall allows inbound connections on port
3306from VexiData’s IPs bind-addressin your MariaDB config is set to0.0.0.0(not127.0.0.1)- Your server has a public IP or hostname that resolves correctly
- If on a cloud VM, the Security Group / firewall rules allow traffic on port
3306
Authentication failed
Authentication failed
- Verify the username and password are correct
- Check that the MariaDB user allows connections from remote hosts. Run
SELECT user, host FROM mysql.user;to see allowed hosts — if it showslocalhost, the user can’t connect remotely - Create a user with
'%'as the host to allow connections from any IP:CREATE USER 'user'@'%' IDENTIFIED BY 'password';
Access denied for database
Access denied for database
- The MariaDB user might not have permissions on the specified database. Grant access with:
GRANT SELECT ON your_database.* TO 'user'@'%'; - Run
SHOW GRANTS FOR 'your_user'@'%';to verify current permissions
No tables visible after connecting
No tables visible after connecting
- Check that your user has
SELECTpermissions on the tables in the database - Verify you entered the correct database name — MariaDB database names are case-sensitive on Linux
- Run
SHOW TABLES;in the MariaDB CLI to confirm tables exist in the database
SSL connection errors
SSL connection errors
- If your server requires SSL, VexiData will attempt SSL automatically
- For self-hosted servers, ensure MariaDB SSL is properly configured with valid certificates
- Check that
require_secure_transportis set correctly in your MariaDB config