maxScale 解决读压力大的问题
1. 认证插件
提供数据库登录认证的功能
2. 协议插件
负责 maxscale和外部系统间接口的协议,包括客户端到maxscale的接口,以及maxscale 到后端数据库的接口
3. 路由插件
readconnroute 用来解决多台读服务器的负载均衡
readwritesplit 用来实现读写分离
4. 监控插件
用于对后端数据库进行实时监控,以便将前端请求发送到正确的(即正常的可以对外提供服务的)数据库中
5. 过滤和日志插件
提供了简单的数据库防火墙功能,可以对某些sql进行过滤和改写,可以进行一些简单的sql容错和语句的自动转换

=======================================================================

结构

maxscale  节点  192.168.182.131
master    db:  192.168.182.128
slave     db:   192.168.182.129
slave     db:   192.168.182.131

第一步:  安装 maxscale

wget https://downloads.mariadb.com/MaxScale/2.2.0/centos/7server/x86_64/maxscale-2.2.0-1.centos.7.x86_64.rpm
yum install gnutls libaio.x86_64 libaio-devel.x86_64 novacom-server.x86_64 libedit -y
rpm -ivh maxscale-2.2.0-1.centos.7.x86_64.rpm

第二步: 在 master 128 服务器中为 MaxScale 创建两个用户,用于监控模块和路由模块

1. 为监控模块创建mysql账号
mysql> create user scalemon@'192.168.182.%' identified by '123456';
mysql> grant replication slave,replication client on *.* to scalemon@'192.168.182.%';

2. 为路由模块创建mysql账号
用来读取mysql系统库下的表,获取后端数据库的权限
mysql> create user scaleroute@'192.168.182.%' identified by '123456';
mysql> grant select on  mysql.* to scaleroute@'192.168.182.%';

第三步: 配置文件中的密码都是经过maxscale进行加密后的,可以防止密码泄露,具体的操作步骤为

which maxkeys
maxkeys /var/lib/maxscale/
maxpasswd  /var/lib/maxscale/    123456

得到密码:66FE1F175EFAB5111B5639F254C301CE

第四步:修改 /etc/maxscale.cnf 配置文件

[maxscale]
threads=1

[server1]
type=server
address=192.168.182.128
port=3306
protocol=MySQLBackend

[server2]
type=server
address=192.168.182.129
port=3306
protocol=MySQLBackend

[server3]
type=server
address=192.168.182.131
port=3306
protocol=MySQLBackend

[MySQL Monitor]
type=monitor
module=mysqlmon
servers=server1,server2,server3
user=scalemon
passwd=867E4F171CFFEAA62AEF9376A95308BE
monitor_interval=10000

[Read-Write Service]
type=service
router=readwritesplit
servers=server1,server2,server3
user=scaleroute
passwd=867E4F171CFFEAA62AEF9376A95308BE
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

第五步:启动maxscale服务

maxscale -f /etc/maxscale.cnf

日志文件:/var/log/maxscale/maxscale.log

查看 MaxScale 的响应端口是否已经就绪

netstat -ntelp

maxscale的端口 4006

第六步:查看maxscale服务状态

maxadmin -S /tmp/maxadmin.sock

# 查看后端服务器列表
maxscale> list servers

第七步:

在128(主库)上创建一个测试账号
mysql> grant all on *.* to scott@'%' identified by 'tiger';

在maxscale节点连接数据库
[root@monitor ~]# mysql -uscott -ptiger -h192.168.182.131 -P4006
注意这里的-h连接的maxscale节点,-P是maxscale的端口,如果maxscale与mysql client不在同一台机器,还需要关闭maxscale上的防火墙

使用maxscale解决读压力大的问题相关推荐

  1. 网吧服务器掉硬盘,网吧服务器磁盘压力大的解决过程

    问题现象 网吧反馈最近网吧用机械盘的那个游戏盘压力波动非常大,而且很容易到很高的一个值,导致客户机运行运打开一个游戏需要好几分钟,网吧只有几个人在玩的时候也会出现. 排查过程: 1,用硬盘哨兵查看磁盘 ...

  2. 一文读懂大数据平台——写给大数据开发初学者的话!

     一文读懂大数据平台--写给大数据开发初学者的话! 文|miao君 导读: 第一章:初识Hadoop 第二章:更高效的WordCount 第三章:把别处的数据搞到Hadoop上 第四章:把Hado ...

  3. ❤️程序员国企太安逸想辞职,又嫌私企大厂压力大996我该如何选择?(高级全栈自动化之路)

    我们的人生 人就是贱! 进了体制,国企嫌太安逸,没激情,一眼能看到二十年后的人生. 进了私企嫌压力大,996太累,没休闲时间.辞职了想做点小生意发现自己根本不是那料,去做一些底层工作嫌不体面,工资低, ...

  4. 压力大,觉得身心俱疲,年轻人该怎么应对?

    理压力来自于个人的学业.工作.人际.情感.家庭.经济.身体等方面,但个体自身的因素极其重要.目前,中国人尤其是年轻人的焦虑情绪持续居高不下.我国各类的精神疾病患者占比高达17.5%,超过60%的人处于 ...

  5. 【第188期】游戏文案策划:薪水低、压力大,升职无望,怎么办?

    我是酱油,这是第188期文章 收到一位想匿名的同学留言: 酱油哥,我已经入行两年,在一个平平无奇的小游戏公司打转.因为职场的高度,也完全限制了我的职场眼界,所以想向你请教一下,游戏文案的职场天花板是什 ...

  6. 大二男生跳楼身亡留遗书称沉迷网游压力大

    感谢L.G.Y的投递 新闻来源:新京报 昨日上午9时许,北京工业大学一名本科二年级男生,从教学楼5楼跳下身亡,该学生生前在个人日志留下遗书,称因学习压力大又沉迷网游不能自拔,向父母道歉. 秦波(化名) ...

  7. 读决战大数据-车品觉

    读决战大数据-车品觉 一前言 (1)'大数据'的意义就在连结,数据公告层就是跨业务群的精华,让所有人能把其他人的数据冗余利用起来,这时'大数据'才算做了起来. (2)整合和配合,数据团队要学会取舍. ...

  8. 17岁小哥,买不到回国机票攻击航司系统至瘫痪,获刑四年!自称女朋友怀孕压力大,...

    点击"开发者技术前线",选择"星标" 让一部分开发者看到未来 明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI "买不到回国机票,就搞瘫航司 ...

  9. CAN通信紊乱解决办法 关于大疆6020电机与2006电机同时挂在CAN2上通信紊乱的解决办法

    大疆C板例程改动 CAN通信紊乱解决办法 关于大疆6020电机与2006电机同时挂在CAN2上通信紊乱的解决办法 C板例程的standard_robot里六个电机都是挂在CAN1总线上,由于6020电 ...

最新文章

  1. 一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现1
  2. html标签一对一绑定的组件,一种原生组件替换HTML标签的轻量级方法尝试
  3. c语言中常见错误总结
  4. C++ 实现无向图的最小生成树Prim算法(附完整代码)
  5. Java程序员的日常—— IOUtils总结
  6. poj1036-dp
  7. BZOJ1941: [Sdoi2010]Hide and Seek
  8. eclipse提交代码至GitHub
  9. oracle如何验证导入完整,关于Oracle 9i导入/导出效果的测试报告
  10. kotlin官方文档中文翻译(二) 基础内容
  11. raw socket 编程实例
  12. Leetcode+牛客网—回文串总结(一)
  13. 原生html5时间组件,amazeui时间组件的实现示例
  14. 数据仓库如何保证数据一致性
  15. 7-4 行为模式解析-摆脱被动和畏缩的行为模式,掌握职场主动权
  16. 微信会员卡管理系统会员充值说明
  17. (转)深度学习中各种图像库的图片读取方式
  18. 被chatGPT割了一块钱韭菜
  19. 关于netty的@Sharable注解含义,你可bie瞎说了
  20. # 智慧社区管理系统-核心信息管理-02物业收费管理

热门文章

  1. C语言sizeof与strlen详解
  2. java 并发开发之AQS
  3. HandyJSON + RealmSwift 坑
  4. 网络视频:“狼真的来了”是反击还是跑?
  5. 揭秘自媒体人最担心的五个问题,句句戳心!
  6. 王者荣耀s10服务器维护,王者荣耀S10:即将被修复的29大bug,有你想知道的吗?...
  7. GeoServer服务迁移出现 EncryptionOperationNotPossibleException 错误的解决方案
  8. 关于Win10\Win11睡眠只关闭桌面的解决方法
  9. 怎么分辨是808鼓_教你怎么简单快速有效的分辨音箱的好坏 (小白必读)
  10. android core apps华为,华为HMS Core 4.0全面上线 让开发者专注于应用创新发