实现环境
1、一台MaxScale服务器,两台MySQL8.0数据库服务器并实现主从同步。配置如下:
- MaxScale:代理服务器,IP地址为192.168.8.60。
- Master:主服务器,IP地址为192.168.8.61。
- Slave:从服务器,IP地址为192.168.8.62。
读写分离配置
一、在Master主库创建三个账号(从库自动创建)。
1、创建监控用户账号并赋予查看主从状态权限。

2、创建路由用户账号并赋予select权限。

3、创建maxscale用户账号并赋予权限。

二、编辑配置文件/etc/maxscale.cnf,配置MaxScale主从复制集群。
1、maxscale:MaxScale核心参数配置。
- threads:线程数。可根据CPU内核数量配置,auto为自动配置。

2、server1、server2 ...:后端数据库配置,从1开始递增编号。
- type:类型。server为服务器。
- address:后端数据库服务器IP。
- port:后端数据库服务器端口。
- protocol:协议。MaxScale与后端数据库的通信协议。

3、mysql−monitor:MaxScale的监控配置。
- type:类型。monitor为监控。
- module:启用的模块。
- servers:监控的目标服务器。
- user、password:登录后端数据库的账号密码。
- monitor_interval:监控信息的收集频率(毫秒)。

4、Read-Write-Service:读写服务配置。
- type:类型。service为服务。
- router:启用的路由模块。
- servers:代理的目标服务器。
- user、password:登录后端数据库的账号密码。

5、Read−Write−Listener:读写服务监听器。
- type:类型。listener为监听器。
- service:对应服务。与上文定义的服务名称相同。
- protocol:协议。MaxScale与后端数据库的通信协议。
- port:监听端口。

访问测试
一、登录MaxScale:mysql −h maxscale地址 −P maxscale端口 −u 登录用户 −p登录密码。

二、通过MaxScale进行写入测试。
1、创建数据库、数据表并插入数据。

2、在MaxScale和后端数据库查看数据。
2.1、在MaxScale查看数据。

2.2、登录后台的主从数据库查看数据。

二、通过MaxScale进行数据读取。
1、为了区分主从库,修改从库上的用户ID。

2、再一次在MaxScale上读取数据,显示数据为从库数据。
