Database guides

Vitess

Updated 2026-08-11 · 2 min read

Horizontally-sharded MySQL. AddisDB connects to vtgate, which speaks the MySQL wire protocol, on port 15306.

Vitess shards MySQL across many servers and puts a query router, vtgate, in front of them. vtgate speaks the MySQL wire protocol, so AddisDB connects with its MySQL driver — on port 15306, vtgate’s default, rather than 3306.

Who it is for

Vitess is for MySQL deployments that have outgrown one machine and need sharding, connection pooling and online schema changes as infrastructure rather than as application code. It is what runs YouTube’s and Slack’s MySQL, and it is the engine underneath PlanetScale.

The concept that matters when you connect is the keyspace. A keyspace is Vitess’s unit of sharding and takes the place of a MySQL database in your connection — what you put in the database field is a keyspace name.

Set up vtgate

  1. Note a vtgate host. vtgate is stateless, so any instance behind your load balancer works.
  2. Confirm the MySQL protocol port. It is 15306 by default — 3306 is often taken by a local MySQL on the same host.
  3. Check how vtgate was started: with -mysql_auth_server_impl none there is no password, and with static it reads a credentials file.
  4. Note the keyspace you want to query.
# vtgate speaks MySQL on 15306
mysql -h vtgate.example.com -P 15306 -u root --database=commerce -e 'SHOW TABLES;'

Connect from AddisDB

  1. New Connection → Vitess. Port prefills to 15306 and username to root.
  2. Enter the vtgate host and the keyspace as the database.
  3. Add a password only if vtgate was started with an auth server that requires one.
  4. Test, then Save.

What AddisDB gives you

Queries, the schema tree, in-grid editing, mock data, the structured create and alter table builders and database-user management all work through vtgate.

Query plans use MySQL’s EXPLAIN FORMAT=JSON, and what comes back is vtgate’s routing plan — which shards a query touches and how results are combined. That is the useful answer for a sharded system, but it is not a per-tablet MySQL plan.

The Live Monitor reads the process list vtgate exposes, showing the connections it is serving rather than the state of individual tablets.