Skip to content

MySQL Protocol Support

HeliosDB serves the MySQL wire protocol (v10), so existing MySQL applications can migrate and connect with their usual drivers.

Overview

PropertyValue
ProtocolMySQL Wire Protocol v10
Port3306
StateSupported
Compatibility80%+
Test Coverage80%+

Quick Start

Python (mysql-connector-python)

import mysql.connector
conn = mysql.connector.connect(
host="localhost",
port=3306,
user="admin",
password="password",
database="heliosdb"
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
for row in cursor.fetchall():
print(row)
conn.close()

Node.js (mysql2)

const mysql = require('mysql2/promise');
const connection = await mysql.createConnection({
host: 'localhost',
port: 3306,
user: 'admin',
password: 'password',
database: 'heliosdb'
});
const [rows] = await connection.execute('SELECT * FROM users');
console.log(rows);
await connection.end();

Java (JDBC)

import java.sql.*;
String url = "jdbc:mysql://localhost:3306/heliosdb";
Connection conn = DriverManager.getConnection(url, "admin", "password");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM users");
while (rs.next()) {
System.out.println(rs.getString("name"));
}
conn.close();

Key Features

  • Full MySQL wire protocol v10 support
  • Authentication handshakes: mysql_native_password, caching_sha2_password (role names are checked; password verification is not implemented yet, so keep the listener on a trusted network)
  • Prepared statements with parameter binding
  • Multi-statement queries
  • Transaction support (ACID)
  • All standard data types

Documentation