环境测试:
主数据库服务器:192.168.4.11 主机名:host11
从数据库服务器:192.168.4.22 主机名:host22
读写分离服务器: 192.168.4.77 主机名:host77
在读写分离服务器上进行配置,配置步骤如下: (host77)
- 安装软件
- 修改配置文件
- 配置数据库服务器
- 启动服务
- 查看服务状态
- 查看监控信息
具体操作如下:
]# rpm -ivh maxscale-2.1.2-1.rhel.7.x86_64.rpm //安装软件
]# ls /etc/maxscale.cnf //主配置文件
]# ls /var/log/maxscale/ //日志目录
修改配置文件:
]# vim /etc/maxscale.cnf
[maxscale] //服务线程数量
threads=auto
[server1] //第1台数据库服务器
type=server
address=192.168.4.11
port=3306
protocol=MySQLBackend
[server2] //第2台数据库服务器
type=server
address=192.168.4.22
port=3306
protocol=MySQLBackend
[MySQL Monitor] //指定监控数据库服务器server1 和 server2
type=monitor
module=mysqlmon
servers=server1, server2
user=maxscalemon //监控用户
passwd=123qqq...A //密码
monitor_interval=10000
[Read-Write Service] //定义读写分离服务
type=service
router=readwritesplit
servers=server1, server2
user=maxscalerouter //路由用户
passwd=123qqq...A //密码
max_slave_connections=100%
[MaxAdmin Service] //定义管理服务
type=service
router=cli
[Read-Write Listener] //定义读写分离服务端口
type=listener
service=Read-Write Service
protocol=MySQLClient
port=4006 //端口号
[MaxAdmin Listener] //定义管理服务端口
type=listener
service=MaxAdmin Service
protocol=maxscaled
socket=default
port=4016 //端口号
:wq
配置数据库服务器:
创建授权用户,在服务器上添加: (host11)
]# mysql -uroot -p123qqq…A
mysql> grant replication slave, replication client on 库名.表名 to maxscalemon@"%“identified by “123qqq…A”; //创建监控用户
mysql> grant select on mysql.* to maxscalerouter@”%" identified by “123qqq…A”; //创建路由用户
在从服务器上查看授权和用户(host22)
]# mysql -uroot -p123qqq…A -e 'select user,host from mysql.user where user like “maxscale%” ’
启动maxsacle服务: (host77)
]# maxscale -f /etc/maxscale.cnf
查看服务信息(进程 和 端口)
]# ps -C maxscale
]# netstat -utnlp | grep maxscale
在maxscale服务本机访问管理服务,查看监控信息
]# maxadmin -uadmin -pmariadb -P4016