mysql负载均衡高可用中间件mysql router配置

MySQL Router是一个轻量级的中间件,提供了应用程序与后端数据库的透明路由,是mysql用来实现负载均衡和高可用功能。同时router也提供了使用fabric 高可用的方式。

我们先去mysql官网下载mysql router

配置mysql router

01.
tar -zxvf mysql-router-8.0.11-el6-x86-64bit.tar.gz
02.
mv mysql-router-8.0.11-el6-x86-64bit /usr/local/mysql-router

配置日志目录和配置文件目录

01.
cd /usr/local/mysql-router
02.
mkdir -p logs
03.
mkdir -p etc

复制配置模版

01.
cp share/doc/mysqlrouter/sample_mysqlrouter.ini ./etc/mysqlrouter.ini


配置项内容如下:

01.
[DEFAULT]
02.
logging_folder = /usr/local/mysql-router/logs
03.
plugin_folder = /usr/local/mysql-router/lib/mysqlrouter
04.
config_folder = /usr/local/mysql-router/etc
05.
runtime_folder = /usr/local/mysql-router/run
06.
[logger]
07.
level = INFO
08.
[routing:read_write]
09.
bind_address = 192.168.128.140
10.
bind_port = 7001
11.
mode = read-write
12.
destinations = 192.168.128.131:3306 #读写库,多个读写库用逗号隔开
13.
max_connections = 65535
14.
max_connect_errors = 100
15.
client_connect_timeout = 9
16.
[routing:read_only]
17.
bind_address = 192.168.128.140
18.
bind_port = 7002
19.
mode = read-only
20.
destinations = 192.168.128.132:3306,192.168.128.133:3306 #读库,多个只读库用逗号隔开
21.
max_connections = 65535
22.
max_connect_errors = 100
23.
client_connect_timeout = 9
24.
[keepalive]
25.
interval = 60


启动mysql router

01.
cd /usr/local/mysql-router/bin
02.
./mysqlrouter  -c  /usr/local/mysqlrouter/etc/mysqlrouter.ini  &


注:参数说明

01.
bind_address  指定mysql router绑定的服务器
02.
bind_port    指定绑定的端口
03.
destinations  指定后端mysql server 列表 (ip:port 格式,使用逗号分隔)
04.
mode       读写模式(read-write, read_only)


还有一点需要注意,要实现同时现在mysql的读写分离和负载均衡需要在框架上进行拆分读写操作,因为mysql router路由实现读写分离只有需要配置两条路由,一条用来读写,一条用来只读的负载均衡,这样会有两个监听的连接端口,一般框架都自带读写分离模式,分别对应两个开放的监听端口来各自操作,单纯的实现读写分离还是建议使用mysql-proxy实现。

mysql-proxy的配置请查看这里:https://sulao.cn/post/338

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/511

评论列表