使用Maxscale实现mysql读写分离
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,MaxScale 是 MariaDB 的产品之一,可以很方便的实现读写分离方案;并且提供了读写分离的负载均衡和高可用性保障。一、安装配置前提:先配置好mysql的主从,Maxscale会自动的根据主从
千家信息网最后更新 2025年02月22日使用Maxscale实现mysql读写分离
MaxScale 是 MariaDB 的产品之一,可以很方便的实现读写分离方案;并且提供了读写分离的负载均衡和高可用性保障。
一、安装配置
前提:先配置好mysql的主从,Maxscale会自动的根据主从复制信息来判断Master和slave
注:不能配置mysql互为主从,如果互为主从,两台都会被认为slave,在这种情况下,写请求会被拒绝,只接受读请求。
1.1.安装
官网下载对应的rpm包,
wget https://downloads.mariadb.com/MaxScale/2.0.3/centos/6server/x86_64/maxscale-2.0.3-1.centos.6.x86_64.rpmrpm -ivh maxscale-2.0.3-1.centos.6.x86_64.rpm
maxscale的配置文件为:/etc/maxscale.conf,配置文件由多个配置模块组成
vi /etc/maxscale.conf#全局配置:[maxscale]threads=autolog_info=1log_notice=1log_warning=1#后端mysql定义[server1]type=serveraddress=192.168.10.1port=3306protocol=MySQLBackend[server2]type=serveraddress=192.168.10.2port=3306protocol=MySQLBackend#监控配置[MySQL Monitor] type=monitormodule=mysqlmon #监控模块默认使用mysqlmon,当然还有其他可选择的模块servers=server1,server2user=admin #admin监控后端mysql的复制状况,必须具有REPLICATION CLIENT权限 passwd=123456monitor_interval=10000#触发器定义 注意,以下两句的上下顺序不能变,不然无法生效script=/opt/mysql_monitor.sh #定义事件触发脚本执行events=master_down #事件触发器当master down时,执行上面的脚本,maxscale内置了很 多的events#读写分离service[Read-Write Service] type=servicerouter=readwritesplit #读写分离路由模式servers=server1,server2user=maxscale #该用户从后端mysql获取用户信息,对客户端进行身份验证,必须具有mysql.user table的select权限 passwd=maxscalemax_slave_connections=100% max_slave_replication_lag=3600000 #当slave的数据落后master小于3600秒时仍然可用connection_timeout=300 router_options=master_failure_mode=error_on_write #允许master down掉,slave仍然可读#router_options=master_accept_reads=true #允许master接受读请求[Read-Write Listener] type=listenerservice=Read-Write Serviceprotocol=MySQLClientport=3306#管理服务配置 [MaxAdmin Service]type=servicerouter=cli#管理服务监听[MaxAdmin Listener]type=listenerservice=MaxAdmin Serviceprotocol=maxscaledsocket=default
二、管理
Maxscale提供了maxadmin命令用于查看管理
[root@server ~]# maxadmin list -Unknown or missing option for the list command. Valid sub-commands are: clients List all the client connections to MaxScale dcbs List all the DCBs active within MaxScale filters List all the filters defined within MaxScale listeners List all the listeners defined within MaxScale modules List all currently loaded modules monitors List all monitors services List all the services defined within MaxScale servers List all the servers defined within MaxScale sessions List all the active sessions within MaxScale threads List the status of the polling threads in MaxScale
[root@server ~]# maxadmin list serversServers.-------------------+-----------------+-------+-------------+--------------------Server | Address | Port | Connections | Status -------------------+-----------------+-------+-------------+--------------------server1 | 192.168.10.1 | 3306 | 0 | Master, Runningserver2 | 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
配置
模块
主从
可用性
监控
管理
脚本
事件
信息
文件
权限
用户
管理服务
触发器
服务
均衡
上下
上文
产品
全局
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
自己开个服务器机房需要什么条件
简历数据库系统
网络安全伴我行1000字
计算机网络安全演讲
单选按钮的返回值写入数据库
番茄红包软件开发
erp使用什么数据库
大同展厅互动软件开发
深圳管理软件开发哪家便宜
计算机网络技术员的专业课程
医院网络安全三级等保招标
dbcp显示数据库数据
数据库 性能要求
网络安全创意绘画
btso 数据库
加强金融网络安全人才队伍建设
廉江互联网科技学校
北京软件开发费用是多少
体感鼠标软件开发费用
互联网基金会网络安全
南昌铁路局网络技术处
网络技术版提供的公益节点
isi数据库是什么网站
松江区市场软件开发销售方法
广东海鲜冷库软件开发
网络安全技术与产品
数据库采集的基本原则
朋友圈删掉后服务器还有记录吗
河北手机软件开发需求
c 连接sql数据库