Getting startedInstall CobaltDB and run your first SQL query in Go.SQL & JSONTables, indexes, parameterized queries, JSON and transactions.ArchitectureUnderstand the query engine, B+ tree storage and write-ahead log.Server & clientsRun the standalone server and connect over the MySQL wire protocol.Production guidePlan TLS, security, backups, observability and deployment boundaries.Performance benchmarksB+ tree and SQL benchmark results, methodology and hardware.FeaturesSQL, transactions, encryption and a pure Go runtime.Brand assetsDownload the CobaltDB SVG logo and icon.
K to open ESC to close
Documentation

Server & clients

Run the standalone server and connect over the MySQL wire protocol.

Build & start locally

Build the standalone server from the repository, bind the MySQL listener to loopback, and set your own admin password.

Local server workflowbash
# Build the server from source
git clone https://github.com/cobaltdb/cobaltdb.git
cd cobaltdb
go build -o cobaltdb-server ./cmd/cobaltdb-server

# Local development: choose a strong admin password
export COBALTDB_ADMIN_PASSWORD='your-strong-password'
./cobaltdb-server -mysql-addr 127.0.0.1:3307 -data ./data

# Connect in another terminal
mysql -h 127.0.0.1 -P 3307 -u admin -p

This example uses a POSIX shell. In PowerShell, set the password with $env:COBALTDB_ADMIN_PASSWORD = 'your-strong-password' before starting the server. On Windows the binary is cobaltdb-server.exe.

Connect from Go

The upstream compatibility suite covers the Go MySQL driver for ping, text queries and prepared statements. Use the driver’s configuration API to keep credentials out of connection-string concatenation.

MySQL driver configurationGo
import (
    "database/sql"
    "os"
    "github.com/go-sql-driver/mysql"
)

cfg := mysql.NewConfig()
cfg.User = "admin"
cfg.Passwd = os.Getenv("COBALTDB_ADMIN_PASSWORD")
cfg.Net = "tcp"
cfg.Addr = "127.0.0.1:3307"

db, err := sql.Open("mysql", cfg.FormatDSN())
if err != nil { log.Fatal(err) }
defer db.Close()
if err := db.PingContext(ctx); err != nil { log.Fatal(err) }

This configuration fragment belongs inside your Go application; install github.com/go-sql-driver/mysql and add your application’s context and logging imports.

Compatibility, explicitly

The tested surface includes handshakes, text queries, result sets, error responses and parameterized prepared statements. CobaltDB does not promise the full behavior of a MySQL server.

Validate your client. Python, Node.js and Java SDK wrappers exist in the repository. Each production driver or ORM needs its own validation; the Go driver baseline is the explicitly covered integration.

Read the current compatibility matrix for verified operations, metadata limitations and unlisted behavior.

Beyond local development

Keep listeners private and configure TLS for non-loopback access. Review server flags with ./cobaltdb-server -help, then follow the production guide and upstream operational runbook.

Source-aligned guide · CobaltDB v0.6.1Suggest an improvement