MySQL: MaxScale架构解析与高可用集群部署实战之插件架构·权限配置·读写分离·监控体系

【MySQL专题】03、性能优化之读写分离(MaxScale) 在我们了解了MySQL的主从复制的性能优化之后,紧接着《【MySQL专题】02、性能优化之主从复制》中,我们提及的读写分离,来进行读操作和写操作分散到不同的服务器结构中,同时希望对多个从服务器能提供负载均衡,读写分离和负载均衡是MySQL集群的常规需求,然后MySQL的兄弟公司MariaDB 公司就开发了一种插件式结构,允许用户开发适合自己的插件,这个中间件叫:MaxScale。下面我们就来开始了解MaxScale。 1、MaxScale 概述 MariaDB MaxScale是一种数据... 阅读详情

MaxScale架构与插件体系


MaxScale是由MariaDB公司开发的插件式数据库中间件,提供高可用性、负载均衡及可扩展性支持
核心功能:数据库负载均衡 | 读写分离 | 自动故障转移

其插件体系分为五类:

1 )认证插件 (Authentication Plugin)

  • 验证用户连接时从后端数据库读取mysql.user表信息并缓存
  • 缓存未命中时自动向后端数据库更新用户数据
  • 关键流程:连接请求 → 缓存验证 → 实时更新 → 二次验证

2 )协议插件 (Protocol Plugin)

  • MySQL客户端协议插件:使应用程序将MaxScale识别为标准MySQL服务器(仅需修改连接地址)
  • MySQL服务端协议插件:用于MaxScale连接后端数据库

3 )路由插件 (Router Plugin)

  • readconnroute:实现多服务器读写负载均衡
  • readwritesplit:核心读写分离模块(主写从读)

4 )监控插件 (Monitor Plugin)

  • 实时检测后端数据库状态,确保请求路由至健康节点
  • 支持主从延迟监控(示例参数:max_slave_replication_lag=60)

5 )日志过滤插件 (Filter Plugin)

  • 提供基础SQL防火墙功能
  • 支持SQL语句过滤、改写及容错处理

高可用环境部署实战

环境拓扑:

节点IP 地址角色
节点1192.168.3.100从库 (Slave)
节点2192.168.3.101主库 (Master)
节点3192.168.3.102从库 + MaxScale

生产建议:MaxScale 应部署在独立服务器,避免与数据库争抢资源

注:生产环境建议MaxScale独立部署,此处受限于资源与Slave共用节点3
建议:生产环境应将MaxScale部署在独立服务器

安装与配置流程


1 ) 安装步骤

# 1. 下载安装包(需MariaDB账号)
wget https://downloads.mariadb.com/MaxScale/... # 替换为实际URL
 
# 2. 安装依赖库 
yum install libaio libaio-devel 
 
# 3. RPM安装 
rpm -ivh maxscale-*.rpm 

2 ) 数据库权限初始化

-- 创建监控账号(需REPLICATION权限) 主库执行
CREATE USER 'maxscale_monitor'@'192.168.3.%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'maxscale_monitor'@'192.168.3.%';
 
-- 创建路由账号(需MySQL库读取权限) 主库执行
CREATE USER 'maxscale_router'@'192.168.3.%' IDENTIFIED BY '123456';
GRANT SELECT ON mysql.* TO 'maxscale_router'@'192.168.3.%';
# GRANT SELECT ON mysql.user TO 'maxscale_router'@'192.168.3.%';

3 ) 密码加密(可选)

maxkeys # 生成加密密钥 
maxpasswd 123456 # 输出加密字符串 → 用于配置文件
# 输出:96F3C8DE755EF4F4 (替换配置文件明文密码)

4 ) 核心配置文件 (/etc/maxscale.cnf)

[maxscale]
threads=4  # 工作线程数 (建议≤CPU核心数)
 
# 服务器定义
[server1]
type=server
address=192.168.3.100
port=3306 
protocol=MySQLBackend
 
[server2]
type=server 
address=192.168.3.101 
port=3306
protocol=MySQLBackend
 
[server3]
type=server
address=192.168.3.102
port=3306
protocol=MySQLBackend
 
# 监控模块
[MySQL-Monitor]
type=monitor 
module=mysqlmon 
servers=server1,server2,server3 
user=maxscale_monitor 
passwd=123456  # 或使用加密字符串 
monitor_interval=1000  # 监控频率(毫秒)
 
# 读写分离模块 
[Read-Write-Service]
type=service
router=readwritesplit 
servers=server1,server2,server3 
user=maxscale_router 
passwd=123456 
max_slave_connections=100%  # 从库利用率   使用所有可用Slave
max_slave_replication_lag=60  # 最大延迟秒数 (秒) 排除延迟>60s的Slave 
 
# 监听端口 
[Read-Write-Listener]
type=listener
service=Read-Write-Service
protocol=MySQLClient 
address=0.0.0.0
port=4006  # 避免与MySQL端口3306冲突 

服务启动与验证


1 ) 启动与管理

maxscale -f /etc/maxscale.cnf  # 启动服务

# 检查端口:
netstat -tuln | grep -E '4006|6603'  # 4006为读写服务端口,6603为管理端口 


maxctrl -u admin -p mariadb  # 默认账号密码
# maxadmin -u admin -p mariadb    # 登录管理台(默认密码mariadb)旧版

2 )集群状态检查

使用场景对比

命令适用场景功能范围
maxctrl list serversMaxScale 集群管理查看代理层管理的数据库节点状态
SHOW SERVERS数据库内部(如 TiDB/Oracle)显示数据库实例的服务器元数据
maxctrl list servers

输出示例:

┌─────────┬───────────────┬───────┬─────────────┬─────────────────┬──────────┐
│ Server  │ Address       │ Port  │ Connections │ State           │ GTID     │ 
├─────────┼───────────────┼───────┼─────────────┼─────────────────┼──────────┤
│ server1 │ 192.168.3.100 │ 3306  │ 0           │ Slave, Running  │ 0-3000-5 │
│ server2 │ 192.168.3.101 │ 3306  │ 0           │ Master, Running │ 0-3000-8 │
│ server3 │ 192.168.3.102 │ 3306  │ 0           │ Slave, Running  │ 0-3000-5 │
└─────────┴───────────────┴───────┴─────────────┴─────────────────┴──────────┘ 

或

> show servers 
Server  | Address         | Status  | Role    
--------+-----------------+---------+---------
server1 | 192.168.3.100  | Running | Slave  
server2 | 192.168.3.101  | Running | Master 
server3 | 192.168.3.102  | Running | Slave  
 
> show dbusers Read-Write-Service  # 查看缓存用户

3 ) 读写分离测试

使用MySQL客户端连接MaxScale端口4006:

mysql -h 192.168.3.102 -P 4006 -u app_user -p

执行写操作路由至Master(192.168.3.101),读操作负载均衡至Slave节点

读写分离测试:

-- 客户端连接MaxScale(端口4006)
INSERT INTO orders (...) VALUES (...);  -- 写操作路由至主库 
SELECT * FROM orders;  -- 读操作负载均衡到从库 

高可用架构全景


1 )拓扑图1

MHA故障切换机制
MHA故障切换机制
MySQL Client
MaxScale 192.168.3.102
Master 192.168.3.101
Slave 192.168.3.100
Slave 192.168.3.102
  • MaxScale:承担读写分离与负载均衡
  • MHA:实现主库故障自动切换
  • 协同机制:MaxScale实时感知MHA切换后的主从关系变化

2 )拓扑图2

主从复制
主从复制
应用
MaxScale
主库 192.168.3.101
从库 192.168.3.100
从库 192.168.3.102
MHA Manager

故障转移:MHA监控主库状态,主库宕机时自动切换新主,MaxScale自动适配新拓扑

3 )拓扑图3

双层级容错设计:

  1. 流量层 (MaxScale)

    • 自动读写分离
    • 从库负载均衡
    • SQL 防火墙
  2. 数据层 (MHA)

    • 主库故障秒级切换
    • 从库自动晋升
    • 虚拟 IP 漂移
监控
控制
控制
应用客户端
MaxScale:4006
主库 192.168.3.101
从库 192.168.3.100
从库 192.168.3.102
MHA Manager

4 )拓扑图4

监控
故障切换
Client
MaxScale (读写分离)
主库 (192.168.3.101)
从库 (192.168.3.100)
从库 (192.168.3.102)
MHA Manager
  • 读写分离:客户端通过 MaxScale(端口 4006)访问数据库,写操作路由至主库,读操作负载均衡至从库。
  • 故障转移:由 MHA (Master High Availability) 监控主库状态,触发主从切换后,MaxScale 自动感知新主库

技术细节强化

  1. 主从延迟控制:通过max_slave_replication_lag自动剔除高延迟Slave
  2. 连接池管理:max_slave_connections=100%确保所有从库资源充分利用
  3. 加密安全:生产环境必须使用maxpasswd加密密码
  4. 端口策略:默认3306端口冲突时,改用4006等高位端口

路由策略优化: 若需强制读主库,SQL添加注释:
sql SELECT /* maxscale route to master */ * FROM users;

5 )拓扑图 5

客户端
MaxScale
Master: 192.168.3.101
Slave: 192.168.3.100
Slave: 192.168.3.102
MHA Manager
  • 功能协同:
    • MaxScale:处理读写分离与负载均衡
    • MHA(Master High Availability):监控主节点故障,触发主从切换
    • 联动效果:客户端无感知故障转移,MaxScale自动路由至新Master

NestJS工程示例


1 ) 连接MaxScale示例

// database.providers.ts
import { createPool } from 'mysql2/promise';
 
export const databaseProviders = [
  {
    provide: 'DATABASE_POOL',
    useFactory: async () => {
      return createPool({
        host: '192.168.3.102', // MaxScale 节点 
        port: 4006,            // MaxScale监听端口 
        user: 'app_user',
        password: 'securepass',
        database: 'main_db',
        connectionLimit: 10,
        waitForConnections: true
      });
    }
  }
];
 
// user.repository.ts
@Injectable()
export class UserRepository {
  constructor(@Inject('DATABASE_POOL') private pool: Pool) {}
 
  async getUsers(): Promise<User[]> {
    const [rows] = await this.pool.query(
      `SELECT id, name FROM users WHERE active = ?`,
      [1]
    );
    return rows as User[];
  }
 
  async createUser(user: UserDTO): Promise<ResultSetHeader> {
    const [result] = await this.pool.query(
      `INSERT INTO users (name, email) VALUES (?, ?)`,
      [user.name, user.email]
    );
    return result;
  }
}

2 )其他方式

// app.module.ts 
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';

@Module({
 imports: [
   TypeOrmModule.forRoot({
     type: 'mysql',
     host: '192.168.3.102', // MaxScale节点IP 
     port: 4006,           // MaxScale监听端口 
     username: 'app_user',
     password: 'secure_password',
     database: 'my_db',
     autoLoadEntities: true,
   }),
 ],
})
export class AppModule {}

SQL 操作补充

主从延迟监控(MaxScale 管理端)

SELECT host, port, replication_lag FROM mysql_servers;  
-- 输出示例:
-- host           | port | replication_lag 
-- 192.168.3.100 | 3306 | 0 
-- 192.168.3.102 | 3306 | 120  # 延迟 120 秒(将被自动隔离)

连接负载测试

mysqlslap --host=192.168.3.102 --port=4006 --user=test --password=pass \  
          --concurrency=100 --iterations=10 --query="SELECT * FROM orders;"

关键优化项

  1. 连接保持:配置 wait_timeout 避免连接过早断开
  2. 故障转移:应用层重试逻辑 + 连接池健康检查
  3. 监控集成:通过 MaxScale REST API 获取实时指标
    curl http://admin:mariadb@192.168.3.102:8989/v1/servers
    
  4. 安全加固:
    • 限制 MaxScale 管理端口(6603)访问
    • 定期轮换加密密钥

架构优势:通过 MaxScale 与 MHA 协同,实现读写流量自动调度与故障秒级切换,数据库不可用时间降至 10 秒内

关键总结

  1. MaxScale通过插件化架构实现灵活扩展,核心价值在于读写分离与负载均衡
  2. 配置需关注监控频率、路由策略及延迟容忍阈值
  3. 生产环境务必独立部署MaxScale节点并使用加密密码
  4. 读写分离由 readwritesplit 插件实现,读负载均衡由路由策略控制
  5. 监控模块通过 mysqlmon 实时检测节点状态与主从延迟
  6. 生产环境需独立部署 MaxScale 并启用密码加密
  7. 结合MHA可实现故障自动转移,形成完整高可用方案
MaxScale深度体验:除了MariaDB‘亲儿子’光环,它到底香不香? 本文深度评测了MariaDB官方中间件MaxScale的核心架构、高可用性能及与ProxySQL的对比表现。通过真实环境测试,揭示其模块化设计、GTID深度协同等优势,以及在复杂路由场景下的独特价值,为数据库架构师提供选型决策依据。 阅读详情

相关推荐

MySQL 5.7 生产级安装与配置指南:CentOS/Ubuntu 实战详解

关系型数据库是数据持久化存储的核心组件,其通过结构化查询语言(SQL)进行数据操作与管理,采用表结构存储数据并维护数据间的关联关系。在众多开源数据库中,MySQL凭借其开源、高性能、高可靠性和丰富的生态,成为Web应用、企业系统中最广泛使用的数据库之一。对于追求极致稳定性的生产环境,MySQL 5.7版本因其久经考验的稳定性和广泛的生态兼容性,至今仍是许多核心业务系统的首选。本文聚焦于**MySQL 5.7**在主流Linux发行版上的部署实践,详细对比了通过**包管理器安装**与二进制包安装的优劣,并提供

weixin_30847865的博客 419

安装maxscale实现MariaDB高可用及读写分离

一 介绍 MariaDB MaxScale是一个数据库代理,它将数据库语句转发到一个或多个数据库服务器。它扩展了MariaDB服务器的高可用性、可伸缩性和安全性,同时通过将其与底层数据库基础设施分离来简化应用程序开发。 MariaDB MaxScale旨在向应用程序透明地提供负载平衡和高可用性功能。MariaDB MaxScale有一个可伸缩和灵活的体系结构,带有支持不同协议和路由方法的插件组件。 MaxScale可以实现读写分离及负载均衡。 当主库故障后,maxscale可以实现数据库自动故障转移

雅冰石的专栏 6892

MySQL CVE-2018-6389漏洞剖析:资源耗尽攻击原理与纵深防护实战

数据库安全不仅涉及SQL注入和数据泄露,资源耗尽型攻击同样构成严重威胁。这类攻击通过消耗目标系统的关键计算资源(如CPU),导致服务拒绝,其原理往往隐藏在协议实现细节中。以MySQL的挑战-应答认证机制为例,客户端在握手阶段提供的参数会触发服务器端的哈希计算,若实现存在缺陷,恶意构造的超长参数可诱导服务器执行复杂度极高的运算,从而单线程同步地耗尽CPU核心。这种攻击技术价值在于其极低的利用成本与极高的破坏性,无需有效凭证即可瘫痪服务,常被用于DDoS攻击或作为复杂攻击链的干扰环节。应用场景广泛,从传统IDC

fanjava 369

MaxScale 实现 MySQL 读写分离与负载均衡

Re: MaxScale 实现 MySQL 读写分离与负载均衡====================================# MaxScale作用 配置好了MySQL的主从复制结构后,能够实现读写分离,把读操作分散到slave服务器中,并且对多个slave服务器能实现负载均衡(本节演示暂时不包括:高可用 HA)。 读写分离和负载均衡是 MySQL 集群的基础需求,MaxScale 就可以帮着我们方便的实现这些功能。 # MaxScale 的基础构成 MaxScale 是MySQL的兄弟公司(MySQL Proxy & MySQL Router) MariaDB 开发的,现在已经发展得非常成熟。MaxScale 是插件式结构,允许用户开发适合自己的插件。 # MaxScale 的主要路由插件功能(演示重点)        决定如何把客户端的请求转发给后端数据库服务器,读写分离和负载均衡的功能就是由这个模块实现的。   

MaxScale:实现MySQL读写分离与负载均衡的中间件利器

1.MaxScale 是干什么的? 配置好了MySQL的主从复制结构后,我们希望实现读写分离,把读操作分散到从服务器中,并且对多个从服务器能实现负载均衡。 读写分离和负载均衡 是MySQL集群的基础需求,MaxScale 就可以帮着我们方便的实现这些功能。 2.MaxScale 的基础构成 MaxScale 是MySQL的兄弟公司 MariaDB 开发的,现在已经发展得非常成熟。MaxScale 是插件式结构,允许用户开发适合自己的插件。 MaxScale 目前提供的插件功能分为5类: 认证插件

Bertram的博客 2544

【信息科学与工程学】计算机科学与自动化——第一百九十八篇 高并发高可用的知识点01

以上补充约 110 行,涵盖分布式协调、服务网格细节、数据库高级特性、性能分析工具、混沌工程、安全渗透、合规审计、研发效能、新兴技术、架构模式、实用工具及经典论文。涵盖数据库索引与锁、NoSQL、前端性能、安全攻防、压测工具深入、监控深入、云原生存储、服务治理扩展、代码质量、DevOps 文化、行业标准、软技能及未来趋势。好的,继续补充更多高并发、高可用、高可靠的知识与技术,涵盖更深层的数据库内部机制、分布式事务、服务治理、运维自动化、安全与前沿技术等领域。

weixin_49199313的博客 736

MySQL数据读写分离(MaxScale)上干货!!!

怎么验证存储数据insert 访问 就是存储在了主机服务器host61上?把host62 配置为slave数据库服务器。

欢迎来到我的博客 969

IAR9.X半主模式异常解析:为何硬件复位后仍陷调试状态?

本文深入解析了IAR 9.X半主模式异常问题,探讨了硬件复位后MCU仍陷调试状态的原因及解决方案。通过分析半主模式工作机制,提供了禁用半主功能、重写低级IO函数等具体方法,并给出了版本兼容性处理和调试与量产配置分离的优化建议,帮助开发者有效解决复位异常问题。

oo7890的博客 605

MaxScale Read/Write Splitting with MySQL (一)

一、Mysql读写分离几个问题 1.主从复制应用的局限性  首先你要明确为什么做主从复制,因为我们要做主从数据同步,也就是为数据库服务器做实时数据备份,以防宕机.那么它的局限性在哪呢?在读写操作上,我们总是在主服务器上即读又写,一般来说读操作要比写操作多的多,我们不可能总是修改文章内容,大部分时候我们只需要读一读文章即可.  既然读操作远远的次数远远大于写操作,那么为什么我们不专门弄一台机器...

ck784101777的博客 1427

影刀RPA之成绩批量查询系统

自动化登录账号,读取数据表中内容去填写信息去查询,并判断多个数据不同的页面去不同的读取查询结果内容,如考生各项信息与各科成绩,总分和查询时间,采集出来到指定的数据表格中,等待时间并依次循环运行。主要功能。

2201_75330891的博客 1085

3DMax马克杯制作教程

01 在前视图创建一个【圆柱体】,设置参数,长度为32,高度为82;高度分段12、边数为16;如图所示。 02 点击鼠标右键,把圆柱体转换为可编辑多边形,如图所示。 03 在修改面板中,选择【多边形】层级,在视图中选择所示的面,使用缩放工具稍微缩小一点,如图所示。 04 点击【插入设置】,如图所示。 设置插入数量为2.5mm。 05 点击【挤出设置】,如图所示。 ...

youximoxingEDO的博客 3479

Maxscale读写分离实施文档

基于maxscale读写分离,负载均衡实施文档,按照教程一步步操作,不成功来找我!

hzcm1984的博客 1545

打开LWIP_DEBUG的打印信息调试

在lwip 2.1.2的版本,打开的debug 调试的步骤: 1.在debug.h 文件中找到debug打印的定义 默认LWIP_DEBUG这个宏没有定义, 2.在lwipopt.h 文件中或者其他文件定义 一下LWIP_DEBUG这个宏, 3.在opt.h 中可以打开各种宏的调试信息, /* --------------------------------------- ---------- Debugging options ---------- ---------...

haidscs的博客 9881

搭建MaxScale分库分表集群

1) 认证插件提供了登录认证功能,MaxScale 会读取并缓存数据库中 user 表中的信息,当有连接进来时,先从缓存信息中进行验证,如果没有此用户,会从后端数据库中更新信息,再次进行验证2)协议插件包括客户端连接协议,和连接数据库的协议3)路由插件决定如何把客户端的请求转发给后端数据库服务器,读写分离和负载均衡的功能就是由这个模块实现的4)监控插件对各个数据库服务器进行监控,例如发现某个数据库服务器响应很慢,那么就不向其转发请求了5)日志和过滤插件。

wangleshisei的博客 1324

卡诺图化简法

目录 1.学前需要了解知识点 2.卡诺图(karnaugh map) 3.逻辑函数的卡诺图化简法 4.总结 1.学前需要了解知识点 最小项的定义 最小项的表示方法 最小项的相邻性 最小项的定义:一个函数的某个乘积项包含了函数的全部变量,其中每个变量都以原变量或反变量的形式出现,且仅出现一次,则这个乘积项称为该函数的一个标准积项,通常称为最小项。 最小项的表示方法:通常用来表...

hahasusu的专栏 17万+

【华为OD机试真题】65、高矮个子排队 | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS)

题目描述 >现在有一队小朋友,他们高矮不同,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}。 >  我们现在希望小朋友排队,以"高" "矮" "高" "矮" 顺序排列,每一个高位置的小朋友要比相邻的位置高或者相等;每个 "矮" 位置的小朋友要比相邻的位置矮或者相等; >  要求小朋友们移动的距离和最小,第一个从“高"位开始排,输出最小移动距离即可。 >  例如,在示范小队{5,3,1,2,3}中, {5, 1, 3, 2, 3}是排序结果。 > 

KJ.JK 2103

基于MaxScale搭建MariaDB读写分离集群的方法【2024年最新版】

MaxScale是MariaDB数据库的一个中间件,为MariaDB提供代理服务,主要可以实现读写分离和一定的负载均衡功能,其中读写分离可将读操作和写操作分离到不同的数据库服务器上,以提高系统的整体性能和扩展性,而正是读写分离功能,使得MaxScale具备已经的负载均衡特性。

muxia_jhy的博客 2346

FakeNewsGPT4:通过知识增强的大规模视觉语言模型推进多模态假新闻检测

当前,多模态假新闻的大量涌现导致了显著的分布差异,这一现状亟需我们开发具备广泛适用性的检测器。然而,现有假新闻检测器因特定领域内的训练方式,难以有效获取开放世界中的事实信息。这种训练的封闭性限制了传统检测器的能力,特别是在面对跨域假新闻时,其表现往往不尽如人意。具体而言,开放世界中的假新闻在两个方面具有显著的分布差异:一方面,其操纵内容多种多样,新闻的任一部分都可能受到创意策略的操控;另一方面,真实背景复杂多变,不同地区的新闻背景和主题焦点存在显著差异。

qq_52053775的博客 824

使用 MaxScale实现读写分离

一、MaxScale作用MaxScale是maridb开发的一个MySQL数据中间件,配置好MySQL的主从复制架构后,希望实现读写分离,把读操作分散到从服务器中,并且对多个服务器实现负载均衡。MaxScale是插件式结构,允许用户开发适合自己的插件。读写分离和负载均衡是MySQL集群的基础需求,基础架构:二、MaxScale的...

weixin_34015566的博客 945

【微服务】SpringBoot 整合Kafka 项目实战操作详解

SpringBoot 整合Kafka 实战操作详解

congge 5573

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

基于 MaxScale 实现 MySQL 读写分离

MaxScale 通过插件化设计实现了 MySQL 读写分离的灵活配置,尤其在数据一致性控制上表现出色。通过本文的部署步骤,可快速搭建 “1 主 2 从 + MaxScale” 架构,将读压力分流至从库,同时保障数据读取的有效性。实际应用中,需结合业务特性调整延迟阈值和连接参数,平衡性能与一致性,构建高可用的数据库服务。

m0_38048955的博客 701

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

MaxScale读写分离

今天介绍一下关于MaxScale的读写分离操作,掌握读写分离的作用,掌握读写分离的应用场景,掌握MaxScale的部署方式

今天你学Java了吗 763

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

MySQL 主从读写分离实现方案(一)—MariaDB MaxScale实现mysql8读写分离

是maridb开发的一个mysql数据中间件,其配置简单,能够实现读写分离,并且可以根据主从状态实现写库的自动切换,对多个从服务器能实现。

恭喜你发现了我!!!! 1602

技术分享 | MaxScale 实现 MySQL读写分离

作者:李鹏博爱可生 DBA 团队成员,主要负责 MySQL 故障处理和 SQL 审核优化。对技术执着,为客户负责。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。MaxScale 是由 MariaDB 官方出品的一款开源数据库中间件,其插件是插拔式的,而且可以定制化开发属于自己的插件,使用非常的灵活自由,目前官方提供了例如监控、高可用、读写分离、防火墙等插件。

ActionTech的博客 922

MysQL读写分离服务器--maxscale服务

MysQL分离服务器–maxscale服务 构建思路: 1、部署MySQL一主一从结构一主服务器:192.168.1.11-从服务器:192.168.1.12 2、部署MysQL代理服务器192.168.1.13 -装包、修改配置文件、启动服务 3、测试配置-客户端192.168.1.14连接代理服务访问数据 [root@master ~]# mysql -uroot -p mysql> alter user root@"localhost" identified by "qqq123...A"

weixin_60092693的博客 1354

Maxscale实现Mysql的读写分离和GUI配置

maxscale读写分离

weixin_74344274的博客 1083
上一篇: MySQL: 数据库读写分离与负载均衡的实现方式及深度分析
下一篇: MySQL: 数据库索引深度解析:B树与哈希索引的结构、应用与优化策略
Wang's Blog
博客等级 码龄12年 7434粉丝 2421原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值