MySQL Router is part of InnoDB cluster, and is lightweight middleware that provides transparent routing between your application and back-end MySQL Servers. It can be used for a wide variety of use cases, such as providing high availability and scalability by effectively routing database traffic to appropriate back-end MySQL Servers. The pluggable architecture also enables developers to extend MySQL Router for custom use cases.
- MySQL Router 8.0 (tag:
latest
,8.0
) (mysql-router/8.0/Dockerfile)
Images are updated when new MySQL Server maintenance releases and development milestones are published. Please note that non-GA releases are for preview purposes only and should not be used in production setups.
The image currently uses the following mandatory variables:
Variable | Description |
---|---|
MYSQL_HOST | MySQL host to connect to |
MYSQL_PORT | Port to use |
MYSQL_USER | User to connect with |
MYSQL_PASSWORD | Password to connect with |
Running in a container requires a working InnoDB cluster.
The image uses the following optional variables:
Variable | Description |
---|---|
MYSQL_INNODB_CLUSTER_MEMBERS | The number of cluster instances to wait for |
If supplied the run script waits for the given mysql host to be up, the InnoDB cluster to have MYSQL_INNODB_CLUSTER_MEMBERS members and then uses the given server for its bootstrap mode Bootstrapping.
The image can be run via:
docker run -e MYSQL_HOST=localhost -e MYSQL_PORT=3306 -e MYSQL_USER=mysql -e MYSQL_PASSWORD=mysql -e MYSQL_INNODB_CLUSTER_MEMBERS=3 -ti mysql/mysql-router
It can be verified by typing:
docker ps
The following output should be displayed:
4954b1c80be1 mysql-router:8.0 "/run.sh mysqlrouter" About a minute ago Up About a minute (healthy) 6447/tcp, 64460/tcp, 0.0.0.0:6446->6446/tcp, 64470/tcp innodbcluster_mysql-router_1