Getting Started

From zero to a running database in under 5 minutes. Maree-DB speaks MySQL, PostgreSQL, and Redis — your existing applications connect without a single code change.

Prerequisites

Maree-DB ships as a single self-contained binary with no runtime dependencies. You need:

  • Linux x86-64 / ARM64, macOS Apple Silicon / Intel, or Windows (via WSL2)
  • Minimum 512 MB RAM (1 GB recommended for development)
  • A MySQL, PostgreSQL, or Redis-compatible client (any version)

Step 1 — Download & Start

1

Download the binary

Visit the Download page and grab the binary for your platform. Or use the one-liner:

bash
$ curl -fsSL https://mareedb.com/install.sh | sh
Downloading maree-db 1.0.0 for linux-x86_64...
Verifying Ed25519 signature... ok
maree-db installed to /usr/local/bin/maree-db-server
2

Start the server

Run with default settings. Maree-DB creates its data directory on first start.

bash
$ maree-db-server
Maree-DB 1.0.0 — SupportCALL ICT Solutions
Data dir : /var/lib/mareedb
MySQL port : 3306
PG port : 5432
Redis port : 6379
REST port : 8080
Self-verification passed. All 5,574 checks green.
Ready for connections.
Tip: On first start, Maree-DB runs a self-verification suite that confirms all engine components are functioning correctly. This takes about 2 seconds.

Step 2 — Create Your First Table

Connect with any SQL client and run standard SQL. Here we use the built-in CLI:

maree-db-cli
$ maree-db-cli
Connected to Maree-DB 1.0.0 (localhost:3306)
maree> CREATE DATABASE demo;
maree> USE demo;
maree> CREATE TABLE users (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(120) NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT NOW()
);
Query OK. Table created.
maree> INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
Query OK, 1 row affected.
maree> SELECT * FROM users;
id │ name │ email │ created_at
───┼───────┼───────────────────┼────────────────────
1 │ Alice │ alice@example.com │ 2026-05-27 10:00:01
1 row in set.

Step 3 — Connect with a MySQL Client

Maree-DB implements the MySQL 8.0 wire protocol on port 3306. Any MySQL client works without modification.

MySQL client
$ mysql -h 127.0.0.1 -P 3306 -u root demo
Welcome to the MySQL monitor.
mysql> SELECT COUNT(*) FROM users;
+----------+
| COUNT(*) |
+----------+
| 1 |
+----------+
1 row in set.

Application connection strings (MySQL)

  • jdbc:mysql://localhost:3306/demo — Java / JDBC
  • mysql://root@localhost/demo — Node.js (mysql2)
  • mysql+pymysql://root@localhost/demo — Python / SQLAlchemy
  • Server=localhost;Port=3306;Database=demo; — .NET / MySqlConnector

Connect with a PostgreSQL Client

Maree-DB also speaks the PostgreSQL FE/BE protocol v3 on port 5432. Use psql or any Postgres driver directly.

psql
$ psql -h 127.0.0.1 -p 5432 -U root demo
psql (16.0) / Maree-DB 1.0.0
demo=# SELECT version();
Maree-DB 1.0.0 (compatible: PostgreSQL 16.0)

Application connection strings (PostgreSQL)

  • postgresql://root@localhost:5432/demo — libpq / psql / Prisma
  • postgresql+psycopg2://root@localhost:5432/demo — Python / SQLAlchemy
  • Host=localhost;Port=5432;Database=demo; — .NET / Npgsql

Connect with a Redis Client

Maree-DB speaks the Redis Serialisation Protocol (RESP3) on port 6379 for key-value and cache workloads.

redis-cli
$ redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> SET session:user:42 '{"name":"Alice"}'
OK
127.0.0.1:6379> GET session:user:42
"{\"name\":\"Alice\"}"
127.0.0.1:6379> INCR page:home:views
(integer) 1

What's Next?

You now have a fully functional multi-model database. Explore: