热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysqlrouter失败_MySQL8.0常见问题——MySQLRouter篇

1,MySQLRouter是什么?MySQLRouter是一款轻量级的中间件,是构建MySQL高可用性(HA)解决方案的一部分。可以将客户

c7cbff163dca3981d293df554ed62927.png

1,MySQL Router 是什么?

MySQL Router 是一款轻量级的中间件,是构建MySQL高可用性(HA)解决方案的一部分。可以将客户端的连接智能路由到MySQL服务器,以此简化应用程序开发,从而提高性能和可靠性。MySQL Router是为了配合 InnoDB Cluster而打造的一款产品。当客户端的应用程序需要处理故障转移时,它们需要了解InnoDB Cluster的拓扑,并且需要知道哪个MySQL实例是主实例。虽然应用程序可以实现这种逻辑,但是MySQL Router可以提供这种功能。

2,MySQL Router 是如何知道InnoDB Cluster的拓扑?

MySQL Router保存在线MySQL服务器的缓存列表(配置的InnoDB集群的拓扑和状态)。当MySQL Router初次启动时,列表从路由器的配置文件加载。

为了保持缓存内容更新,MySQL Router会开启一个连接,用于从InnoDB Cluster中一台服务器的Performance Schema里面查询元数据和实时状态。当集群发生变化时(例如,服务器宕机),元数据也会实时发生变化。当MySQL Router 检测到无法连接服务器时,MySQL Router会选择缓存列表里一台新的服务器进行连接。

3,连接是如何被路由的?

使用MySQL Router后,应用程序将不会像以往一样直接连接MySQL数据库,而是需要连接MySQL Router,重新定向到可用的MySQL服务器。当连接失败后,应用程序需要设计为能够发起重新连接。换句话说,如果从MySQL Router到MySQL服务器的连接被中断,应用程序将遇到连接失败。但是一个新的连接尝试会触发Router找到并连接到另一个MySQL服务器。

4,MySQL Router的工作流程有哪些?

a.MySQL客户端或连接器连接到MySQL Router。

b.Router检查可用的MySQL服务器。

c.Router打开到适当MySQL服务器的连接。

d.Router在应用程序和MySQL服务器之间转发数据包

e.如果连接的MySQL服务器失败,Router将断开应用程序的连接。应用程序可以重试连接到Router,Router将选择另外一个可用的MySQL服务器。

5,MySQL Router应该部署在哪里?

推荐将MySQL Router与应用程序部署在一起,理由是应用程序通过MySQL连接器(JDBC,ODBC等)连接MySQL Router时,如果是部署在本地的Linux服务器上面,可以使用sockets通信,如果部署在不同服务器上还需要多一次的网络连接。

6,可以在同一个系统上部署多个MySQL Router实例吗?

可以,通过--directory dir_path指定路径,可以在同一个系统上部署多个MySQL Router。

7,MySQL Router会检查数据包吗?

不会。

8,使用MySQL Router会影响性能吗?

会有影响。无论采用哪种中间件,都会产生一定的开销,并受到工作负载的严重影响。8.0版本的性能测试显示,简单的重定向连接路由,与直接连接的速度相差约1%。

9,MySQL Router可以绑定多个IP地址吗?

不可以。bind_address只能绑定一个IP地址,但是使用bind_addres = 0.0.0.0可以接受本机的所有端口。

10,MySQL Router可以支持多少个并发连接?

早期版本限制在500个连接,2.1.5或8.0.4之后的版本可以超过5000,取决于操作系统的poll()限制。

11,MySQL Router的版本 2.1.X 和8.X有什么区别?

MySQL Router 2.1支持MySQL InnoDB Cluster,并增加了一些新特性,

MySQL Router 8.0扩展了MySQL Router2.1,但是版本号与MySQL服务器一致。换句话说,Router 2.1.5 被 8.0.3替换了(连同MySQL服务器8.0.3)。这两个分支完全兼容。



推荐阅读
  • 网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 个人搭建好lnmp后访问php页面自动下载,也就是无法解析php文件最后查出没有于php建立通信导致location~\.php${fastcgi_pass12 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
    2OpenvSwitch架构2.1OVS整体架构ovs-vswitchd:守护程序,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换flow-basedswitchin ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 解决浏览器打开网页后提示“dns_probe_possible 怎么解决”的方法
    在使用浏览器进行网上冲浪的时候遇到故障是一件很常见的事情,很多用户都遇到过系统提示:dns_probe_possible。从提示中可以看出和DNS是有一定的关系的,经过小编测试之后 ... [详细]
  • 域名解析系统DNS
    文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名 ... [详细]
  • python3+tkinter实践历程(四)——模仿CRT完成基于socket通信与tkinter的TCP串口客户端
    python3tkinter实践历程(四)——基于socket通信与tkinter的TCP串口客户端(仿CRT)文章目录系列文章目录分享背景制作背景最终功能工具截图展示代码详解系列 ... [详细]
  • vue使用
    关键词: ... [详细]
  •   1、确认自己的线路是否连接正确腾达a9设置。 ... [详细]
author-avatar
手机用户2502937345
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有