1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > maxscale mysql 主从_使用Maxscale实现mysql读写分离

maxscale mysql 主从_使用Maxscale实现mysql读写分离

时间:2018-06-11 04:27:09

相关推荐

maxscale mysql 主从_使用Maxscale实现mysql读写分离

MaxScale是 MariaDB 的产品之一,可以很方便的实现读写分离方案;并且提供了读写分离的负载均衡和高可用性保障。

一、安装配置

前提:先配置好mysql的主从,Maxscale会自动的根据主从复制信息来判断Master和slave

注:不能配置mysql互为主从,如果互为主从,两台都会被认为slave,在这种情况下,写请求会被拒绝,只接受读请求。

1.1.安装

官网下载对应的rpm包,wget/MaxScale/2.0.3/centos/6server/x86_64/maxscale-2.0.3-1.centos.6.x86_64.rpm

rpm-ivhmaxscale-2.0.3-1.centos.6.x86_64.rpm

maxscale的配置文件为:/etc/maxscale.conf,配置文件由多个配置模块组成vi/etc/maxscale.conf

#全局配置:

[maxscale]

threads=auto

log_info=1

log_notice=1

log_warning=1

#后端mysql定义

[server1]

type=server

address=192.168.10.1

port=3306

protocol=MySQLBackend

[server2]

type=server

address=192.168.10.2

port=3306

protocol=MySQLBackend

#监控配置

[MySQLMonitor]

type=monitor

module=mysqlmon#监控模块默认使用mysqlmon,当然还有其他可选择的模块

servers=server1,server2

user=admin#admin监控后端mysql的复制状况,必须具有REPLICATIONCLIENT权限

passwd=123456

monitor_interval=10000

#触发器定义注意,以下两句的上下顺序不能变,不然无法生效

script=/opt/mysql_monitor.sh#定义事件触发脚本执行

events=master_down#事件触发器当masterdown时,执行上面的脚本,maxscale内置了很

多的events

#读写分离service

[Read-WriteService]

type=service

router=readwritesplit#读写分离路由模式

servers=server1,server2

user=maxscale#该用户从后端mysql获取用户信息,对客户端进行身份验证,必须具有mysql.usertable的select权限

passwd=maxscale

max_slave_connections=100%

max_slave_replication_lag=3600000#当slave的数据落后master小于3600秒时仍然可用

connection_timeout=300

router_options=master_failure_mode=error_on_write#允许masterdown掉,slave仍然可读

#router_options=master_accept_reads=true#允许master接受读请求

[Read-WriteListener]

type=listener

service=Read-WriteService

protocol=MySQLClient

port=3306

#管理服务配置

[MaxAdminService]

type=service

router=cli

#管理服务监听

[MaxAdminListener]

type=listener

service=MaxAdminService

protocol=maxscaled

socket=default

二、管理

Maxscale提供了maxadmin命令用于查看管理[root@server~]#maxadminlist-

Unknownormissingoptionforthelistcommand.Validsub-commandsare:

clientsListalltheclientconnectionstoMaxScale

dcbsListalltheDCBsactivewithinMaxScale

filtersListallthefiltersdefinedwithinMaxScale

listenersListallthelistenersdefinedwithinMaxScale

modulesListallcurrentlyloadedmodules

monitorsListallmonitors

servicesListalltheservicesdefinedwithinMaxScale

serversListalltheserversdefinedwithinMaxScale

sessionsListalltheactivesessionswithinMaxScale

threadsListthestatusofthepollingthreadsinMaxScale[root@server~]#maxadminlistservers

Servers.

-------------------+-----------------+-------+-------------+--------------------

Server|Address|Port|Connections|Status

-------------------+-----------------+-------+-------------+--------------------

server1|192.168.10.1|3306|0|Master,Running

server2|192.168.10.2|3306|0|Slave,Running

-------------------+-----------------+-------+-------------+--------------------

三、高可用性

Maxscale默认只提供读的高可用性,要实现写的高可用性,可以使用两种途径:

1.需要使用Multi-MasterMonitor监控模块,不同于上文使用的mysqlmon模块,该模块是通过read_only参数来选举Master和Slave,结合脚本可以实现在Master fail的时候,取消slave的read_only属性,将slave提升为Master

2.使用高可用软件MMM

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。