当前位置: 首页 > news >正文

浅谈MySQL路由

华子目录

  • `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.lryc.cn/news/497516.html

相关文章:

  • matlab中disp,fprintf,sprintf,display,dlmwrite输出函数之间的区别
  • 30.100ASK_T113-PRO 用QT编写视频播放器(一)
  • Linux-GPIO应用编程
  • opencvocr识别手机摄像头拍摄的指定区域文字,文字符合规则就语音报警
  • 微服务即时通讯系统(5)用户管理子服务,网关子服务
  • postgreSQL安装后启动有The application server could not be contacted问题
  • 架构05-架构安全性
  • 虚幻引擎---材质篇
  • NPM镜像详解
  • 从智能合约到去中心化AI:Web3的技术蓝图
  • STM32进阶 定时器3 通用定时器 案例1:LED呼吸灯——PWM脉冲
  • 开源即时通讯与闭源即时通讯该怎么选择,其优势是什么?
  • 930[water]
  • 2024论文翻译 | Multi-Review Fusion-in-Context
  • (78)MPSK基带调制通信系统瑞利平坦衰落信道传输性能的MATLAB仿真
  • 【机器学习】机器学习的基本分类-监督学习-决策树-CART(Classification and Regression Tree)
  • 【金猿CIO展】复旦大学附属中山医院计算机网络中心副主任张俊钦:推进数据安全风险评估,防范化解数据安全风险,筑牢医疗数据安全防线...
  • 工业机器视觉-基于深度学习的水表表盘读数识别
  • 基于ZooKeeper搭建Hadoop高可用集群
  • 力扣88题:合并两个有序数组
  • python 笔记之线程同步和死锁
  • SpringBoot小知识(4):高级配置知识与bean的绑定
  • Python毕业设计选题:基于大数据的淘宝电子产品数据分析的设计与实现-django+spark+spider
  • Lua面向对象实现
  • OpenCV的圆形检测‌HoughCircles
  • iOS视图控制器的生命周期及各阶段的作用
  • 四轮阿克曼(前轮转向、后轮驱动)车子仿真控制
  • Blender均匀放缩模型
  • Python基于 Opencv+wxPython 的人脸识别上课考勤系统,附源码
  • 【AI工具】强大的AI编辑器Cursor详细使用教程