Skip to content

MySQL Server Configuration

This guide explains how to configure your MySQL server for use with DBConvert Streams. For CDC-specific configuration, please refer to the MySQL CDC Configuration Guide.

Server Requirements

DBConvert Streams supports the following MySQL-compatible databases:

  • MySQL (version 8.0 and later)
  • MariaDB
  • Percona
  • SingleStore DB (formerly MemSQL)
  • TiDB
  • Vitess

Basic Configuration

Required Privileges

The database user needs different privileges depending on the mode:

Grant basic privileges example:

sql
-- For Convert mode
GRANT SELECT ON database_name.* TO 'user'@'%';

Security Configuration

SSL/TLS Setup

For secure connections, configure SSL/TLS in your connection settings:

  1. Ensure you have SSL certificates:

    • Server certificate
    • Server private key
    • CA certificate (if using a certificate authority)
  2. Configure MySQL server:

ini
[mysqld]
ssl-ca=/path/to/ca.pem
ssl-cert=/path/to/server-cert.pem
ssl-key=/path/to/server-key.pem
require_secure_transport=ON  # Forces SSL/TLS for all connections

Connection Configuration

When creating a connection in DBConvert Streams, specify SSL settings:

json
{
    "name": "mysql-secure-source",
    "type": "mysql",
    "host": "your-mysql-server",
    "port": 3306,
    "username": "your_user",
    "password": "your_password",
    "database": "your_database",
    "ssl": {
        "mode": "verify-ca",
        "ca": "/path/to/ca.pem",
        "cert": "/path/to/client-cert.pem",
        "key": "/path/to/client-key.pem"
    }
}

SSL modes available:

  • disabled: No SSL (default)
  • preferred: Use SSL if available
  • required: Always use SSL
  • verify-ca: Verify server certificate
  • verify-full: Verify server certificate and hostname

Network Configuration

Allow Remote Connections

To allow DBConvert Streams to connect to your MySQL server:

  1. Configure MySQL to listen on all interfaces:
ini
[mysqld]
bind-address = 0.0.0.0
  1. Or specify DBConvert Streams' IP address:
ini
[mysqld]
bind-address = <DBS-IP-ADDRESS>

Firewall Configuration

Ensure your firewall allows connections to MySQL's port (default 3306):

bash
# For UFW (Ubuntu)
sudo ufw allow from DBS-IP-ADDRESS to any port 3306

# For iptables
sudo iptables -A INPUT -p tcp -s DBS-IP-ADDRESS --dport 3306 -j ACCEPT

Performance Optimization

For optimal performance with DBConvert Streams:

ini
[mysqld]
# Increase buffer sizes for better performance
innodb_buffer_pool_size = 4G
innodb_log_buffer_size = 256M

# General performance settings
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
innodb_file_per_table = 1

Monitoring

Monitor your MySQL server's performance:

sql
-- Check server status variables
SHOW GLOBAL STATUS;

-- Monitor current connections
SHOW PROCESSLIST;

-- Check system variables
SHOW VARIABLES;

Cloud Configurations

For cloud-specific setup instructions, refer to:

TIP

If you plan to use Change Data Capture (CDC) mode, make sure to also read the MySQL CDC Configuration Guide for additional required setup.

DBConvert Streams - event driven replication for databases