Skip to content

Latest commit

 

History

History
78 lines (55 loc) · 2.12 KB

File metadata and controls

78 lines (55 loc) · 2.12 KB

Connecting Go and Vitess with ADBC

Instructions

Tip

If you already have a Vitess instance running, skip the steps to set up and clean up Vitess.

Prerequisites

  1. Install Go

  2. Install dbc

Set up Vitess

  1. Install Docker

  2. Start a Vitess instance:

    docker run -d --rm --name=vttestserver \
        -p 33574:33574 \
        -p 33575:33575 \
        -p 33577:33577 \
        -e PORT=33574 \
        -e KEYSPACES=test,unsharded \
        -e NUM_SHARDS=2,1 \
        -e MYSQL_MAX_CONNECTIONS=70000 \
        -e MYSQL_BIND_HOST=0.0.0.0 \
        -e VTCOMBO_BIND_HOST=0.0.0.0 \
        vitess/vttestserver:mysql80

    Wait a few moments before continuing to the next step to allow the Vitess container to fully initialize.

Connect to Vitess

  1. Install the MySQL ADBC driver:

    dbc install mysql
  2. Customize the Go program main.go as needed

    • Change the connection arguments in the NewDatabase() call
    • If you changed which database you're connecting to, also change the SQL SELECT statement in stmt.SetSqlQuery()
  3. Run the Go program:

    go mod tidy
    go run main.go

Clean up

Stop the Docker container running Vitess:

docker stop vttestserver