Mysql读写分离-Mysql router

原理:MySQL router根据端口来区分读写,把连接读写端口的所有请求发往master,连接只读端口的所有请求以轮询方式发往多个slave,从而实现读写分离

主:   SQL-Master      192.168.200.101/24

从:   SQL-Slave      192.168.200.102/24,192.168.200.103/24

mysql-router 192.168.200.104/24

使用rpm安装mysql-router

rpm -ivh https://dev.mysql.com/get/Downloads/MySQL-Router/mysql-router-2.1.4-1.el7.x86_64.rpm

vim /etc/mysqlrouter/mysqlrouter.conf

[DEFAULT]

logging_folder = /var/log/mysqlrouter/

plugin_folder = /usr/lib64/mysqlrouter

runtime_folder = /var/run/mysqlrouter

config_folder = /etc/mysqlrouter

[logger]

level = info

[keepalive]

interval = 60

[routing:read_write]

bind_address=192.168.200.104 #监听地址

bind_port=7001 #监听端口

destinations=192.168.200.101:3306 #mysql列表

mode=read-write #指定读写

max_connections=1024

max_connect_errors=100

client_connect_timeout=9

[routing:read_only]

bind_address=192.168.200.104

bind_port=7002

destinations=192.168.200.102:3306,192.168.200.103:3306

mode=read-only #指定只读

max_connections=65535

max_connect_errors=100

client_connect_timeout=9

systemctl start mysqlrouter

systemctl enable mysqlrouter

ss -ntlu

tcp    LISTEN     0      128    192.168.200.106:7001                       *:*

tcp    LISTEN     0      128    192.168.200.106:7002                       *:*

主数据库配置:

mysql -u root -p123456

创建用户test设置密码123456

MariaDB [(none)]> grant all on *.* to [email protected]‘127.0.0.1‘ identified by "hello";

MariaDB [(none)]> use mysql;

修改host权限

MariaDB [(none)]> update user set host = ‘%‘ where user = ‘test‘;

MariaDB [mysql]> select user, host from user;

+------+---------------+

| user | host          |

+------+---------------+

| test | %             |

刷新数据库

MariaDB [mysql]> flush privileges;

mysql -utest -p123456 -h192.168.200.104 -P7001

原文地址:https://www.cnblogs.com/liang-yao/p/8455040.html

时间: 2024-10-10 09:44:41

Mysql读写分离-Mysql router的相关文章

LVS+MYCAT+读写分离+MYSQL主备同步部署手册

LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1         编辑my.cnf文件… 2 1.2.2         重启数据库… 2 1.3       锁定主数据库DDL操作… 2 1.4       主备已有数据同步… 2 1.5       停止从服务… 3 1.6       配置备用数据库… 3 1.6.1         编辑my

【转载】LVS+MYCAT+读写分离+MYSQL主备同步部署手册(邢锋)

By leo | 2015/05/13 0 Comment LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1         编辑my.cnf文件… 2 1.2.2         重启数据库… 2 1.3       锁定主数据库DDL操作… 2 1.4       主备已有数据同步… 2 1.5       停止从服务… 3 1.6      

实现MySQL读写分离,MySQL性能调优

实现MySQL读写分离 1.1 问题 本案例要求配置2台MySQL服务器+1台代理服务器,实现MySQL代理的读写分离: 用户只需要访问MySQL代理服务器,而实际的SQL查询.写入操作交给后台的2台MySQL服务器来完成 其中Master服务器允许SQL查询.写入,Slave服务器只允许SQL查询 1.2 方案 使用4台RHEL 7.2虚拟机,如图-1所示.其中192.168.4.10.192.168.4.20分别作为MySQL主.从服务器,是整个服务的后端:另一台 192.168.4.100

Database基础(六):实现MySQL读写分离、MySQL性能调优

一.实现MySQL读写分离 目标: 本案例要求配置2台MySQL服务器+1台代理服务器,实现MySQL代理的读写分离: 用户只需要访问MySQL代理服务器,而实际的SQL查询.写入操作交给后台的2台MySQL服务器来完成 其中Master服务器允许SQL查询.写入,Slave服务器只允许SQL查询 方案: 使用4台RHEL 7.2虚拟机,如下图所示.其中192.168.4.10.192.168.4.20分别作为MySQL主.从服务器,是整个服务的后端:另一台 192.168.4.100作为MyS

实现MySQL读写分离 部署集群基础环境(有图)

实现MySQL读写分离 部署集群基础环境 1 实现MySQL读写分离1.1 问题 本案例要求配置2台MySQL服务器+1台代理服务器,实现MySQL代理的读写分离: 用户只需要访问MySQL代理服务器,而实际的SQL查询.写入操作交给后台的2台MySQL服务器来完成 其中Master服务器允许SQL查询.写入,Slave服务器只允许SQL查询 1.2 方案 使用4台RHEL 7.2虚拟机,如图-1所示.其中192.168.4.10.192.168.4.20分别作为MySQL主.从服务器,是整个服

29_MySQL读写分离 MySQL多实例 、MySQL性能调优

版本:5.7.28 mysql51:192.168.4.51 主mysql52:192.168.4.52 从mysql50:192.168.4.50 客户机 1.实现MySQL读写分离搭建一主一从结构配置maxscale代理服务器测试分离配置 1.1 搭建一主一从结构192.168.4.51 主192.168.4.52 从测试OK 1.2 实现mysql读写分离1.2.1 配置数据读写分离服务器:192.168.4.50]# wget https://downloads.mariadb.com/

mysql读写分离的三种实现方式

1 程序修改mysql操作类可以参考PHP实现的Mysql读写分离,阿权开始的本项目,以php程序解决此需求.优点:直接和数据库通信,简单快捷的读写分离和随机的方式实现的负载均衡,权限独立分配缺点:自己维护更新,增减服务器在代码处理 2 amoeba参考官网:http://amoeba.meidusa.com/优点:直接实现读写分离和负载均衡,不用修改代码,有很灵活的数据解决方案缺点:自己分配账户,和后端数据库权限管理独立,权限处理不够灵活 3 mysql-proxy参考 mysql-proxy

mysql读写分离

mysql读写分离  静态分离:直接将服务器地址写入程序  动态分离:通过代理服务器对数据进行读写操作,由代理服务器判定读写操作,在主服务器上写数据,在          从服务器上读数据.    1.使用mysql-proxy实现读写分离  # ./mysql-proxy --proxy-backend-addresses=10.0.5.150:3306 --proxy-read-only-backend-addresses=10.0.5.151:3306 --proxy-lua-script

MySQL学习笔记之十:使用mysql-proxy实现MySQL读写分离

MySQL读写分离是指让master处理写操作,让slave处理读操作,非常适用于读操作量比较大的场景,可减轻master的压力. 本文使用mysql-proxy实现mysql的读写分离,mysql-proxy实际上是作为后端mysql主从服务器的代理,它直接接受客户端的请求,对SQL语句进行分析,判断出是读操作还是写操作,然后分发至对应的mysql服务器上.对于多节点slave集群,还可以起到负载均衡的效果. 一.准备实验环境 MySQL的主从复制架构搭建详见http://9124573.bl