MySQL 路由器发行说明
MySQL 路由器需要一个配置文件。尽管路由器会在预定的默认路径列表中搜索配置文件,但通常的做法是使用 --config
选项传入配置文件来启动路由器。
配置 MySQL 路由器在主机重启时自动启动的过程与 MySQL 服务器所需步骤类似,这在 自动启动和停止 MySQL 中有描述。
例如,当使用 systemd 时
Press CTRL+C to copy$> sudo systemctl start mysqlrouter.service $> sudo systemctl enable mysqlrouter.service
示例日志输出
启动 MySQL 路由器会生成多个日志条目,例如在连接到沙盒化的 InnoDB 集群时
Press CTRL+C to copy$> mysqlrouter --config=/path/to/file/my_router.conf ^C $> less /path/to/log/mysqlrouter.log 2019-04-07 16:30:49 INFO [0x7000022fc000] [routing:devCluster_default_ro] started: listening on 0.0.0.0:6447; read-only 2019-04-07 16:30:49 INFO [0x70000237f000] [routing:devCluster_default_rw] started: listening on 0.0.0.0:6446; read-write 2019-04-07 16:30:49 INFO [0x700002402000] [routing:devCluster_default_x_ro] started: listening on 0.0.0.0:64470; read-only 2019-04-07 16:30:49 INFO [0x700002485000] [routing:devCluster_default_x_rw] started: listening on 0.0.0.0:64460; read-write 2019-04-07 16:30:49 INFO [0x700002279000] Starting Metadata Cache 2019-04-07 16:30:49 INFO [0x700002279000] Connections using ssl_mode 'PREFERRED' 2019-04-07 16:30:49 INFO [0x700002279000] Connected with metadata server running on 127.0.0.1:3310 2019-04-07 16:30:49 INFO [0x700002279000] Changes detected in cluster 'devCluster' after metadata refresh 2019-04-07 16:30:49 INFO [0x700002279000] Metadata for cluster 'devCluster' has 1 replicasets: 2019-04-07 16:30:49 INFO [0x700002279000] 'default' (3 members, single-master) 2019-04-07 16:30:49 INFO [0x700002714000] Connected with metadata server running on 127.0.0.1:3310
日志显示 MySQL 路由器正在监听四个端口,列出了按名称排列的活动路由策略、InnoDB 集群信息等等。
例如,第一行列出了名为 routing:devCluster_default_ro
的活动路由策略,它正在监听端口 6447
,其模式为 只读
。MySQL 路由器配置文件中的相应部分看起来类似于
Press CTRL+C to copy[routing:devCluster_default_ro] bind_address=0.0.0.0 bind_port=6447 destinations=metadata-cache://devCluster/default?role=SECONDARY protocol=classic
请注意名称和端口是如何直接从配置文件中获取的。通过这种方式,您可以快速确定哪些路由策略处于活动状态。如果运行多个 MySQL 路由器实例,或者加载了多个配置文件,这将特别有用。
在 Windows 上,MySQL 路由器可以安装、删除或启动服务。默认情况下,服务名称为 MySQLRouter。有关其他信息,请参阅 --service
和 Windows 服务的相关命令行选项。
示例启动和停止脚本
使用 --directory
选项引导 MySQL 路由器会生成用于启动和停止 MySQL 路由器的 bash 脚本,这些脚本看起来类似于以下内容
Press CTRL+C to copy// *** start.sh *********************** // #!/bin/bash basedir=/opt/myrouter ROUTER_PID=$basedir/mysqlrouter.pid /usr/bin/mysqlrouter -c $basedir/mysqlrouter.conf & disown %- // *** stop.sh *********************** // if [ -f /opt/myrouter/mysqlrouter.pid ]; then kill -HUP `cat /opt/myrouter/mysqlrouter.pid` rm -f /opt/myrouter/mysqlrouter.pid fi