浅谈MySQL路由

news2024/12/13 2:51:08

华子目录

  • `mysql-router`介绍
  • 下载`mysql-router`
  • 安装`mysql-router`
  • 实验

mysql-router介绍

在这里插入图片描述

  • mysql-router是一个对应用程序透明的InnoDB Cluster连接路由服务,提供负载均衡、应用连接故障转移客户端路由
  • 利用路由器连接路由特性,用户可以编写应用程序连接到路由器,并令路由器使用相应路由策略来处理连接,使其连接正确MySQL数据库服务器

下载mysql-router

  • 网址:https://downloads.mysql.com/archives/router/

在这里插入图片描述

安装mysql-router

  • 只需要在一台主机安装即可,这里我装在node1
[root@mysql-node1 ~]# rpm -ivh mysql-router-community-8.4.0-1.el7.x86_64.rpm
  • 查看软件包的相关文件
[root@mysql-node1 ~]# rpm -ql mysql-router-community
/etc/logrotate.d/mysqlrouter
/etc/mysqlrouter
/etc/mysqlrouter/mysqlrouter.conf
/usr/bin/mysqlrouter

实验

  • node1上关闭MySQL服务,作为mysql-router器
[root@mysql-node1 ~]# /etc/init.d/mysqld stop
  • node2node3上开启MySQL,提供MySQL服务
[root@mysql-node2 ~]# /etc/init.d/mysql.server start

[root@mysql-node3 ~]# /etc/init.d/mysqld start
  • 修改mysql-router上的配置文件 /etc/mysqlrouter/mysqlrouter.conf
[root@mysql-node1 ~]# vim /etc/mysqlrouter/mysqlrouter.conf
......
......
......
[routing:ro]
bind_address = 0.0.0.0  #监听的流量为所有访问的ip地址
bind_port = 7111   #指定了路由服务监听的端口号是7001。任何发送到该机器7001端口的流量都将被路由服务处理
destinations = 172.25.254.20:3306,172.25.254.30:3306  #流量将被路由到的目的地列表
routing_strategy = round-robin  #路由策略为轮询

[routing:rw]
bind_address = 0.0.0.0
bind_port = 7112
destinations = 172.25.254.20:3306,172.25.254.30:3306
routing_strategy = first-available  #哪个MySQL服务器器先响应,就发给谁
  • 启动mysqlrouter服务
[root@mysql-node1 ~]# systemctl start mysqlrouter

[root@mysql-node1 ~]# netstat -antlupe | grep mysqlrouter
tcp        0      0 0.0.0.0:7111            0.0.0.0:*               LISTEN      988        117488     4944/mysqlrouter
tcp        0      0 0.0.0.0:7112            0.0.0.0:*               LISTEN      988        117489     4944/mysqlrouter
  • node2node3上建立测试用户
#node2上
mysql> create user root@"%" identified by "123456";

mysql> grant all on *.* to root@"%";
#node3上
mysql> create user root@"%" identified by "123456";

mysql> grant all on *.* to root@"%";
  • 测试
#7111端口使用的是轮询算法
[root@mysql-node1 ~]# mysql -uroot -p -h 172.25.254.10 -P 7111
Enter password:
mysql> select @@server_id;
+-------------+
| @@server_id |
+-------------+
|          20 |  #我们发现登录是的node2
+-------------+

mysql> quit
Bye
[root@mysql-node1 ~]# mysql -uroot -p -h 172.25.254.10 -P 7111
Enter password:
mysql> select @@server_id;
+-------------+
| @@server_id |
+-------------+
|          30 |  #我们发现登录的是node3
+-------------+
  • mysql router 并不能限制数据库的读写,仅访问分流
  • mysql中的用户可以同名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2253918.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python语法基础---正则表达式

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 我们这个文章所讲述的,也是数据分析的基础文章,正则表达式 首先,我们在开始之前,引出一个问题。也是我们接下来想要解决的问题。…

AMEYA360 | 杭晶电子:晶振在AR/VR中的应用

晶振在AR/VR设备中扮演重要角色,为其核心电子系统提供稳定的时钟信号,确保设备的高性能运行。 以下是晶振在AR/VR应用中的具体作用: 01、图像处理与同步 1、晶振为图形处理单元(GPU)和显示芯片提供精准的时钟信号,支持高速图像渲染…

如何将python项目导出为docker镜像

如何将python项目导出为docker镜像 前提条件步骤 1: 创建并准备 Python 项目步骤 2: 创建 `setup.py`步骤 3: 打包项目步骤 4: 创建 Dockerfile步骤 5: 构建 Docker 镜像步骤 6: 运行 Docker 容器步骤 7: 保存修改并继续开发总结要将修改后的Python代码导出为 .tar.gz 格式,并…

预训练模型与ChatGPT:自然语言处理的革新与前景

目录 一、ChatGPT整体背景认知 (一)ChatGPT引起关注的原因 (二)与其他公司的竞争情况 二、NLP学习范式的发展 (一)规则和机器学习时期 (二)基于神经网络的监督学习时期 &…

红日靶场vulnstack (五)

前言 好久没打靶机了,今天有空搞了个玩一下,红日5比前面的都简单。 靶机环境 win7:192.168.80.150(外)、192.168.138.136(内) winserver28(DC):192.168.138.138 环境搭建就不说了,和之前写…

5G CPE组成及功能介绍(二)

5G CPE 组成及功能介绍 5G CPE 将5G信号转换为Wi-Fi或有线信号, 其由5G基带芯片、主控处理器、WIFI、电源、天线、结构等多个部件组成。5G基带: 这是5G CPE中最核心的组件,负责接收和解码来自5G基站的信号,然后将这些数据转换成用户设备可以使用的格式。采用了先进的5G芯片…

Vue Web开发(一)

1. 环境配置 1.1. 开发工具下载 1.1.1. HbuilderX 官网地址:https://uniapp.dcloud.net.cn/ 1.1.2. Visual Studio Code 官网地址:https://code.visualstudio.com/Download 1.1.3. Node环境 官网地址:https://nodejs.cn/   正常软件安装…

四、自然语言处理_02RNN基础知识笔记

1、RNN的定义 RNN(Recurrent Neural Network,循环神经网络)是一种专门用于处理序列数据的神经网络架构,它与传统的前馈神经网络(Feedforward Neural Network)不同,主要区别在于它能够处理输入数…

速通SpringBoot+vue全栈开发教程

本人的环境配置: idea 2019 java(jdk8) apache-maven 3.6.1 tomcat 8.5.5 mysql 8.0.12 navicat 16 一、SpringBoot快速上手——创建一个springboot项目 进去之后报红 在设置里面修改maven的配置,改成自己下载的maven的地址 还因…

【开源代码】图像水印移除-依赖python-tensorflow

下载源码 git clone https://github.com/zuruoke/watermark-removal创建conda环境 conda create -n tensorflow_gpu python=3.7 conda activate tensorflow_gpu conda install tensorflow-gpu==1.15

MySQL导入.sql文件后数据库乱码问题

问题分析: 当导入.sql文件后,发现数据库中的备注出现乱码,通常是由于一下原因导致: 字符集不匹配:.sql文件、MySQL服务器、客户端连接使用的字符集不一致。备注内容编码问题:备注内容本身的编码格式与数据…

Qt 2D绘图之五:图形视图框架的结构、坐标系统和框架间的事件处理与传播

参考文章链接: Qt 2D绘图之五:图形视图框架的结构和坐标系统 Qt 2D绘图之六:图形视图框架的事件处理与传播 图形视图框架的结构 在前面讲的基本绘图中,我们可以自己绘制各种图形,并且控制它们。但是,如果需要同时绘制很多个相同或不同的图形,并且要控制它们的移动、…

大模型面试题:P-tuning、Prompt-tuning和Prefix-tuning区别是什么?

我整理了1000道算法面试题,可以在下面的地方获取,面试题还是有点多的 P-tuning、Prompt-tuning和Prefix-tuning区别是什么? prefix-tuning对比P-tuning:Prefix-Tuning是将额外的embedding加在开头,看起来更像模仿Inst…

数据结构初阶之顺序表的介绍与动态顺序表的实现

一、线性表 线性表(linear list)是由 n 个具有相同特性的数据元素组成的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构,也就说是连续…

学习日志020---qt信号与槽

作业 import sysfrom PySide6.QtWidgets import QApplication, QWidget,QPushButton,QLineEditfrom Form import Ui_Form from second import Ui_second from PySide6.QtCore import Qtclass MyWidget(QWidget,Ui_Form):def __init__(self):super().__init__()self.setupUi(se…

大语言模型技术相关知识-笔记整理

系列文章目录 这个系列攒了很久。主要是前段之间面试大语言模型方面的实习(被拷打太多次了),然后每天根据面试官的问题进行扩展和补充的这个笔记。内容来源主要来自视频、个人理解以及官方文档中的记录。方便后面的回顾。 文章目录 系列文章…

9.13[debug]

这个错误表明 Git 尝试通过 HTTPS 协议连接到 Gitee 上的仓库时,实际上却尝试连接到了本地的 127.0.0.1(即 localhost)的 7890 端口,这通常是因为 HTTP 代理配置错误或全局 Git 配置中的代理设置不正确 如果这些命令返回了代理设…

Android笔记(三十四):onCreate执行Handler.post在onResume后才能执行?

背景 偶然发现一个点,就是在onCreate执行Handler.post在onResume后才执行,以下是测试代码 多次运行的结果一致,为什么execute runnable不是在onCreate和onResume之间执行的呢,带着疑问撸了一遍Activity启动流程 关键源码分析 …

Python基于 Opencv+wxPython 的人脸识别上课考勤系统,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

Alogrithm:费式数列

1. 说明 Fibonacci 为1200年代的欧洲数学家,在他的著作中曾经提到:「若有一只免子每个月生一只小免子,一个月后小免子也开始生产。起初只有一只免子,一个月后就有两只免子,二个月后有三只免子,三个月后有五…