MySQL路由器使用不需要特定的库或接口。除了管理MySQL路由器实例,编写应用程序像MySQL路由器是一个典型的MySQL实例。
唯一的区别在使用MySQL路由器是如何使连接到MySQL服务器。使用一个MySQL连接的应用程序在启动时不测试连接错误必须被更新。这是因为MySQL路由器重定向连接时,连接尝试,不读包或执行一个分析。如果一个MySQL服务器失败,路由器将连接错误返回给应用程序。
由于这些原因,应用程序应该被写入测试连接错误,如果遇到,重试连接。如果这种技术或类似的工作在您的应用程序中使用MySQL路由器将不需要任何额外的努力。
下面给出了一个更好地理解为什么您可能想要使用MySQL路由器和从应用程序是如何使用的观点。
对MySQL的路由器有几个可能的场景,包括:
作为一名开发人员,我希望我的应用程序连接到服务连接,默认情况下,当前主要的集群复制。
作为一名管理员,我想设置多个服务MySQL路由器不同端口监听每一个高度可用的副本集。
作为一名管理员,我希望能够在端口3306上运行一个连接路由服务是用户或应用程序更加透明。
作为一名管理员,我想配置模式为每个连接路由服务,所以我可以指定是否返回一个小学或中学。
使用MySQL路由器的工作流程如下:
MySQL客户端或MySQL连接器连接到路由器,例如,端口6446。
路由器检查一个可用的MySQL服务器。
路由器打开一个连接到一个合适的MySQL服务器。
应用程序之间来回路由器转发数据包,和MySQL服务器
路由器应用程序断开连接,如果连接MySQL服务器失败。应用程序可以然后重试连接到路由器,路由器然后选择一个不同的和可用的MySQL服务器。
应用程序连接到MySQL路由器,路由器将应用程序连接到一个可用的MySQL服务器。
这个例子表明,连接透明地连接到InnoDB集群实例之一。因为这个例子使用沙箱InnoDB集群所有实例在同一主机上运行,我们检查港口
状态变量,看看哪个MySQL实例连接。
做一个连接到MySQL路由器使用MySQL客户端,例如:
$ >根- h 127.0.0.1 mysql - u - p 6446 - p
这些端口号取决于您的配置,但比较港口这个例子:
mysql >选择@@port;+ - - - - - - - - - - + | @@port | + - - - - - - - - - - + | 3310 | + - - - - - - - - - - + 1行组(0.00秒)
总而言之,客户端(应用程序)连接到端口6446,但是被连接到一个MySQL实例在端口3310上。
以下是建议使用MySQL路由器。
安装和运行MySQL路由器在同一个主机上的应用程序。原因的列表,请参阅第三章,部署MySQL路由器。
结合路由器使用localhost
bind_port = 127.0.0.1: <口>
在配置文件中。另外,在Linux上,禁用TCP连接(见——conf-skip-tcp
)和限制这种仅使用Unix套接字连接(见——conf-use-sockets
)。