mysql-router设置,mysql router 中间件 配置

mysql router 解决高可用,读写分离,负载均衡

1 首先配置好主从同步

2 下载mysql-router

wget https://dev.mysql.com/get/Downloads/MySQL-Router/mysql-router-8.0.18-linux-glibc2.12-x86_64.tar.xz

tar -Jxvf mysql-router-8.0.18-linux-glibc2.12-x86_64.tar.xz

3 修改配置文件

比如解压的目录是

/usr/local/mysql-router/

cp /usr/local/mysql-router/share/doc/mysqlrouter/sample_mysqlrouter.conf /etc/mysql-route/mysqlrouter.conf

[DEFAULT]

# 日志存放目录

logging_folder = /data/log/mysql-route

# 插件存放目录

plugin_folder = /usr/local/mysql-router/lib/mysqlrouter

# 配置文件存放目录

config_folder = /etc/mysql-route

# 运行目录

runtime_folder = /var/run

[logger]

# 日志运行级别

level = debug

# 主节点故障转移配置

[routing:basic_failover]

# 写节点地址

bind_address=10.10.81.134

# 写节点端口

bind_port = 7001

# 模式,读写

mode = read-write

# 主节点地址:默认情况下第一台主数据库为写主库,当第一台主数据库DOWN机后,第二台数据库被提升为主库

destinations = 10.10.50.60:3306,10.10.117.231:3306

# 从节点负载均衡配置

[routing:balancing]

# 绑定的IP地址

bind_address=10.10.81.134

# 监听的端口

bind_port = 7002

# 连接超时时间

connect_timeout = 3

# 最大连接数

max_connections = 1024

# 后端服务器地址

destinations = 10.10.117.231:3306

# 模式:读还是写

mode = read-only

[keepalive]

interval = 60

要注意的点:

1)目录首先先建好,

2)bind_address绑定的ip地址要是内网的(ifconfig),配置公网地址会启动失败。

3) mode项不是看上去理解的字面意思,mode=read-write,代表,同时只有一个可用,一开始是首个可用,如果首个挂了之后,请求自动落到第二个服务端,后面及时第一个恢复好了,也不会有请求给第一次个了

mode=reqd-only时,是请求负载轮询给配置的服务端,当其中一个服务端挂了,请求就不再给这个恢复端,但是当这个服务又好了之后,他会有心跳去检查,查到坏的服务端好了之后,这个服务又会重新加入到轮询

4) 唯一一个缺点是,mysql-router不能判断sql语句是写操作还是读操作,所以,一般是配置两个端口,业务端自己来判断比如写的的端口调用7001,读的端口调7002.

启动:

/usr/local/mysql-router/bin/mysqlrouter -c /etc/mysql-route/mysqlrouter.conf &

通过日志来检查是否检测成功

tail -f /data/log/mysql-route/mysqlrouter.log

如果成功会有keepalive日志,和连接日志

c8833b8d5b11736ff30a85f7b4326ac8.png

下面介绍怎么测试:

你就可以用本前主机

mysql -h ip地址 -uroot -P7001 -p

ip地址就是mysql-router配置文件设置的bind_address项地址,再输入密码

这个时候你可以看log日志,中间件给你转发是哪个真实mysql服务端,

quit退出,再重新请求,是不是会给你转发到另外一台mysql服务端。

把主服务器mysql stop,再多次连接,是不是不会转发到停止的这台来了,

重放启动停止的服务器,在read_only时,是不是又会使用此台服务器.

mysql-router目前没有停止命令,需要用kill命令杀死进程,再运行

原文:https://www.cnblogs.com/liming-php/p/14023338.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值