Выполнить bootstrap MySQL Router для InnoDB Cluster
MySQLRouter и проксиКоманда
# Generates config from metadata and creates the router account; --user is required when run as root
mysqlrouter --bootstrap icadmin@db1:3306 --directory /etc/mysqlrouter/prod --account routeruser --account-create if-not-exists --name router01 --conf-bind-address 0.0.0.0 --user mysqlrouter
/etc/mysqlrouter/prod/start.sh
# Ports: 6446 RW, 6447 RO, 6450 RW split (classic); 6448 / 6449 X protocol
mysql -h app-host -P 6446 -u app -p -e "SELECT @@hostname"
mysql -h app-host -P 6447 -u app -p -e "SELECT @@hostname"
mysqlsh icadmin@db1:3306 -- cluster list-routersЧто делает
Регистрирует Router в метаданных кластера и генерирует учётную запись и конфигурацию; приложение обращается к текущему primary через порт RW, а к secondary — по кругу (round-robin) через порт RO.
Когда использовать
При размещении прозрачного слоя failover перед InnoDB Cluster / ClusterSet / ReplicaSet; обычно по одному Router на сервер приложений.
Внимание
Router не хранит состояние; размещение рядом с приложением исключает единую точку отказа, а один центральный Router — нет. Учётная запись bootstrap используется только при bootstrap; Router читает метаданные своей учётной записью (routeruser). Об изменениях топологии он узнаёт через кэш метаданных без повторного bootstrap. Порт с разделением RW (6450) отправляет чтения внутри транзакции на primary, а остальные — на secondary; будьте осторожны с приложениями, ожидающими read-your-writes. Версия Router не должна быть старше серверов MySQL в кластере.