Skip to content

MySQL Protocol Configuration

Complete configuration reference for MySQL protocol support in HeliosDB.

Server Configuration

Basic Settings

[mysql]
# Enable MySQL protocol
enabled = true

# Port to listen on
port = 3306

# Bind address
bind_address = "0.0.0.0"

# Maximum connections
max_connections = 1000

# Connection timeout (seconds)
connection_timeout = 30

Authentication

[mysql.auth]
# Authentication method: mysql_native_password, caching_sha2_password
method = "caching_sha2_password"

# Enable SSL/TLS
ssl_enabled = true

# SSL certificate path
ssl_cert = "/path/to/server.crt"

# SSL key path
ssl_key = "/path/to/server.key"

# Require SSL for all connections
ssl_required = false

Performance Tuning

[mysql.performance]
# Maximum packet size (bytes)
max_packet_size = 16777216

# Thread pool size
thread_pool_size = 16

# Query timeout (seconds)
query_timeout = 300

# Enable query caching
query_cache_enabled = true

# Query cache size (MB)
query_cache_size = 256

Compatibility Settings

[mysql.compatibility]
# SQL mode (compatible with MySQL sql_mode)
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

# Default storage engine mapping
default_engine = "HeliosDB"

# Character set
character_set = "utf8mb4"

# Collation
collation = "utf8mb4_unicode_ci"

# Enable lower_case_table_names
lower_case_table_names = 0

Connection String Format

mysql://[user[:password]@]host[:port]/database[?options]

Connection Options

Option Description Default
connect_timeout Connection timeout in seconds 10
read_timeout Read timeout in seconds 30
write_timeout Write timeout in seconds 30
ssl-mode SSL mode (DISABLED, PREFERRED, REQUIRED) PREFERRED
charset Character set utf8mb4

Example Connection Strings

# Basic connection
mysql://admin:password@localhost:3306/heliosdb

# With SSL
mysql://admin:password@localhost:3306/heliosdb?ssl-mode=REQUIRED

# With timeout options
mysql://admin:password@localhost:3306/heliosdb?connect_timeout=5&read_timeout=60

Environment Variables

Variable Description Default
HELIOSDB_MYSQL_PORT MySQL protocol port 3306
HELIOSDB_MYSQL_ENABLED Enable MySQL protocol true
HELIOSDB_MYSQL_MAX_CONNECTIONS Max connections 1000
HELIOSDB_MYSQL_SSL_ENABLED Enable SSL false

Driver Compatibility

Driver Language Status Notes
mysql-connector-python Python Tested Full support
PyMySQL Python Tested Full support
mysql2 Node.js Tested Full support
MySQL Connector/J Java Tested JDBC compatible
go-sql-driver/mysql Go Tested Full support
MySqlConnector .NET Tested Full support

Last Updated: January 2026