mysql读写分离

2023-05-16

读写分离

master:192.168.2.77
slave:192.168.2.74
mysqlrouter:192.168.2.105

1,提前在官网上下载好mysqlrouter安装包,再在Linux上安装mysqlrouter

[root@localhost ~]# rpm -ivh mysql-router-community-8.0.23-1.el7.x86_64.rpm 

2.修改mysqlrouter的配置文件

[root@localhost ~]# vim /etc/mysqlrouter/mysqlrouter.conf

[routing:read_write]
bind_address = 192.168.2.105 #mysqlrouter的IP地址
bind_port = 7001
mode = read-write
destinations = 192.168.2.77:3306 #master的IP地址
max_connections = 65535
max_connect_errors = 100
client_connect_timeout = 2

[routing:read_only]
bind_address = 192.168.2.105#mysqlrouter的IP地址
bind_port = 7002
mode = read-only
destinations = 192.168.2.74:3306 #slave的IP地址
max_connections = 65535
max_connect_errors = 100
client_connect_timeout = 2

#配置文件里不能加注释,会报错

3.刷新

[root@localhost ~]# service mysqlrouter restart
Redirecting to /bin/systemctl restart mysqlrouter.service
[root@localhost ~]# netstat -anplut|grep mysql
tcp        0      0 192.168.2.105:7001      0.0.0.0:*               LISTEN      3332/mysqlrouter    
tcp        0      0 192.168.2.105:7002      0.0.0.0:*               LISTEN      3332/mysqlrouter    
tcp6       0      0 :::3306                 :::*                    LISTEN      2949/mysqld

4.master里新建用户验证
4.1验证[read_only]

#新建用户yangyang,授予可读权限
root@(none) 21:13  mysql>create user 'yangyang'@'%' identified by '123456';
Query OK, 0 rows affected (0.50 sec)
root@(none) 21:15  mysql>grant select on *.* to 'yangyang'@'%';
Query OK, 0 rows affected (0.06 sec)

#关闭防火墙后再使用sqlyog连过去
[root@localhost ~]# service firewalld stop
Redirecting to /bin/systemctl stop firewalld.service

#使用yangyang用户连接,执行建表语句(写),报错
在这里插入图片描述

在这里插入图片描述

4.2验证[write_read]

#新建用户yeye,授予全部权限
root@(none) 21:14  mysql>create user 'yeye'@'%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)
root@(none) 21:16  mysql>grant all on *.* to 'yeye'@'%';
Query OK, 0 rows affected (0.00 sec)

使用yeye用户连接,执行建表语句(写),成功
在这里插入图片描述

在这里插入图片描述
验证发现:
7001端口虽然是[write_read],但如果连接该端口的用户没有可写权限,也是不能建表
7002端口是[read_only]只能读,但如果新用户有所有权限,也可以建表

所以,mysqlrouter里面的端口只是负责转发。通过连mysqlrouter机器,连的是哪个端口就转发到哪台机器上去。真正能控制权限的是用户。
在做读写分离的时候要注意用户的权限分配。如果slave上的用户有写的权力,该用户在slave上建表后,master上没有这个表,就会导致数据不一致。(读的用户尽量只连读的端口)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql读写分离 的相关文章

随机推荐

  • selinux is active unexpected inconsistency RUN fsck MANUALLY

    启动centos6 5时报错 xff0c 错误主要是 xff1a selinux is active unexpected inconsistency RUN fsck MANUALLY 原因是因为意外关机如断电 xff0c 或者虚拟机中强
  • Linux永久修改主机名

    hostnamectl set hostname xxx
  • 去除重复字母(Java实现)

    题目 去除重复字母 给你一个字符串 s xff0c 请你去除字符串中重复的字母 xff0c 使得每个字母只出现一次 需保证 返回结果的字典序最小 xff08 要求不能打乱其他字符的相对位置 xff09 示例1 输入 xff1a s 61 b
  • JDK介绍(笔记学习)

    JDK介绍 1 JRE和JDK xff08 记忆 xff09 JDK 称为Java开发工具 xff0c 包含了JRE和开发工具 JRE Java运行环境 xff0c 包含了JVM和Java的核心类库 xff08 Java API xff09
  • Collections类(笔记)

    1 Collections的常用功能 重点 import java util Collections java util Collections是集合工具类 xff0c 用来对集合进行操作 常用方法如下 xff1a public stati
  • 计算机网络原理学习笔记第一篇

    计算机网络的出现 世界上第一台电子计算机问世于1946年 xff0c 由于当时造价昂贵 体积极大等原因 xff0c 因此计算机的数量极少 计算机系统是高度集中的 xff0c 它的所有设备都安装在单独的机房中 xff0c 为了提高计算机的利用
  • mac下Tomcat启动成功后浏览器输入localhost:8080拒绝连接的解决办法

    今天根据大佬们的安装教程将Tomcat安装并成功启动 xff0c 而在浏览器中输入localhost xff1a 8080后却出现了 localhost拒绝了我们的连接请求 的字样 xff0c 网上的解决方案五花八门 xff0c 水平也是参
  • Linux中的软件管理

    Linux中的软件管理 yum源头 定义 xff1a yum源是一个软件集合地 xff0c 只需要搜索并安装你想要的软件 yum的全称是Yellowdog Updater Modified xff0c 是一个shell前端软件包管理器 xf
  • Spring拦截器HandlerInterceptor和HandlerInterceptorAdapter

    参考 https blog csdn net zhibo lv article details 81699360 https www cnblogs com jing99 p 11147152 html HandlerInterceptor
  • Java多线程超详解

    引言 随着计算机的配置越来越高 xff0c 我们需要将进程进一步优化 xff0c 细分为线程 xff0c 充分提高图形化界面的多线程的开发 这就要求对线程的掌握很彻底 那么话不多说 xff0c 今天本帅将记录自己线程的学习 程序 xff0c
  • 如何在Ubuntu 20.04上使用UFW设置防火墙

    介绍 Introduction UFW or Uncomplicated Firewall is a simplified firewall management interface that hides the complexity of
  • 人工智能主要分支

    人工智能主要分支 1 主要分支介绍 通讯 感知与行动是现代人工智能的三个关键能力 xff0c 在这里我们将根据这些能力 应用对这三个技术领域进行介绍 xff1a 计算机视觉 CV 人脸识别 自然语言处理 NLP 语音识别 语义识别 在 NL
  • 解决文件上传过大报错The field file exceeds its maximum permitted size of 1048576 bytes.问题

    报错内容如下 只需要在相应的yml配置文件spring下增加相关配置即可
  • 我有一个IT梦

    介绍 作为一名大二的学生 xff0c 接触计算机基础技术近乎俩年 xff0c 俩年来我愈加发觉计算机是一门发展力很强的学科 它多式多样 xff0c 更像是一种挑战 xff0c 对于好强的我来说 xff0c 越来越着迷计算机的世界 纵然未知的
  • Nginx安装教程

    前言 xff1a 同步文章图片有问题想看带有图片版的请移步 xff1a https www yuque com docs share 3fbd7d5a 639c 4ca8 8500 00071b7cb23d BvpWF 本篇文章涉及ngin
  • Kali-Linux-2020.1 设置中文,汉化。

    Kali Linux 2020 1 设置中文 xff0c 汉化 Kali Linux团队在Twitter上宣布 xff1a 新的一年是进行重大改变的好时机 xff0c 因此 xff0c 我们宣布在 即将发布的2020 1版本中 xff0c
  • PowerShell压缩和解压ZIP文件

    压缩 Compress Archive Path D File DestinationPath E File zip 解压 Expand Archive Path E File zip DestinationPath D File
  • python实现基本算法之归并排序(Merge sort)

    基本算法之归并排序 Merge sort 基本算法 04 归并排序 Merge sort 算法 往期请看选择排序 xff0c 插入排序 xff0c 归并排序 xff0c 快速排序等等都发布的 xff01 欢迎大家批评指正 xff01 文章目
  • mysql 异步复制VS半同步复制

    MySQL数据复制原理 异步复制 xff1a 默认情况下 xff0c MySQL的复制是异步复制 xff0c 主服务器及其从服务器是独立的 异步复制可以提供最佳的性能 xff0c 主服务器将更新的数据写入二进制日志 xff08 Binlog
  • mysql读写分离

    读写分离 master xff1a 192 span class token punctuation span 168 span class token punctuation span 2 span class token punctua