MaxScale-数据库中间件基本使用

            <h4><strong>系统环境:</strong></h4>
  • CentOS 7.2.1511
  • MaxScale 2.3.2-1
  • MYSQL 5.7.24-27

MaxScale 是MariaDB 发行的一款数据库代理服务,安装配置简单并支持读写分离。

结构图:


安装配置:

下载MaxScale RPM包:

wget \
https://downloads.mariadb.com/MaxScale/2.3.2/centos/7/x86_64/maxscale-2.3.2-1.centos.7.x86_64.rpm

安装RPM包:

yum localinstall maxscale-2.3.2-1.centos.7.x86_64.rpm -y

在数据库创建账号信息:

  • 创建监控账号
CREATE USER 'monitor'@'172.17.0.%' IDENTIFIED BY '123123';
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'monitor'@'172.17.0.%' ;
  • 创建获取数据库用户信息账号
CREATE USER 'maxscale'@'172.17.0.%' IDENTIFIED BY '123123';
GRANT SELECT ON mysql.* TO 'maxscale'@'172.17.0.%' ;

对创建的用户的密码进行加密:

  • 生成加密KEY
maxkeys
chown  maxscale.maxscale /var/lib/maxscale/ -R

信息输出:Generating .secrets file in /var/lib/maxscale.

  • 对密码进行加密并生成加密字符串
maxpasswd  /var/lib/maxscale/ 123123

信息输出:3C3687D0ADB6961B171FACE9AD5F42C8

配置MaxScale 服务:

配置文件信息:/etc/maxscale.cnf

  • 全局配置参数
[maxscale]
#配置线程数,如果设置为auto根据CPU数量来调整;
threads=auto
#连接超时,默认时间为3秒;
auth_connect_timeout=3
#MySQL连接到后端数据库的读取超时,默认时间1秒;
auth_read_timeout=1
#MySQL连接到后端数据库的写入超时,默认时间2秒;
auth_write_timeout=2
#启用此选项可为所有日志文件时间戳添加毫秒精度;
ms_timestamp=0
#默认情况下,启用日志记录到syslog。
syslog = 1
#启用以禁用将消息记录到MaxScale的日志文件。
maxlog = 1
#指定日志目录
logdir=/var/log/
#配置日志级别:[log_warning|log_notice|log_info|log_debug]
log_warning=1
  • 添加数据库节点
#添加节点1(master):172.17.0.56
[server1]
type = server
address = 172.17.0.56
port =  3306
protocol = MySQLBackend
#配置权重为3(可不配置权重)
serv_weight = 3

#添加节点2(slave):172.17.0.57
[server2]
type = server
address = 172.17.0.57
port = 3306
protocol = MySQLBackend
serv_weight = 7
  • 配置maxscale监控信息
[MariaDB-Monitor]
type=monitor
module=mariadbmon
servers=server1,server2
user=monitor
password=3C3687D0ADB6961B171FACE9AD5F42C8
#设置监控的时间间隔,默认单位:毫秒
monitor_interval=1000
  • 配置读写分离模块
[Read-Write-Service]
type=service
router=readwritesplit
servers=server1,server2
user=maxscale
password=3C3687D0ADB6961B171FACE9AD5F42C8
#主从延迟最大秒
max_slave_replication_lag=3
  • 配置管理模块(默认即可)
[MaxAdmin-Service]
type=service
router=cli
  • 配置读写分离监听模块
[Read-Write-Listener]
type=listener
service=Read-Write-Service
protocol=MariaDBClient
port=3306
  • 配置管理端监控模块
[MaxAdmin-Listener]
type=listener
service=MaxAdmin-Service
protocol=maxscaled
socket=default

启动MaxScale 服务:

 systemctl  start  maxscale

MaxScale管理端使用:

maxscale连接方式:

maxadmin    -S  /var/run/maxscale/maxadmin.sock
list servers                        #列出数据库节点节信
list sessions                       #列出连接数据库信息
list clients                        #列出连接的客户端信息
show dbusers "Read-Write Service"   #查看缓存在读写分离模块的数据库用户信息

参考网站:

配置文件下载
MaxScale 官网下载
MaxScale 2.2参考手册

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注