博客
关于我
MySQL数据读写分离(MaxScale)上干货!!!
阅读量:788 次
发布时间:2023-02-12

本文共 1277 字,大约阅读时间需要 4 分钟。

一、概念

MySQL数据读写分离是一种高效的存储架构设计,通过将读写操作分离到不同的服务器,提升系统性能。这种架构要求所有的SELECT操作只能在从服务器上执行,而INSERT、UPDATE等写操作则需要连接主服务器。常用的中间件包括MySQL Proxy、MaxScale和Mycat等。需要注意的是,这种架构仅适用于一主一从或一主多从的拓扑布局。

二、实现读写分离的拓扑图

通过合理的网络拓扑设计实现读写分离,确保主服务器仅负责写操作,所有读操作由从服务器处理。这种架构能够有效分担负载,提升数据库性能。

三、MaxScale相关配置

MaxScale是一个常用的读写分离代理软件,其配置文件位于`/etc/maxscale.cnf`。以下是常用配置项: - **软件包安装**:通过.rpm文件安装MaxScale,例如`maxscale-2.1.2-1.rhel.7.x86_64.rpm`。 - **服务启动**:通过命令`maxscale /etc/maxscale.cnf`启动服务。 - **日志路径**:默认日志文件位于`/var/log/maxscale/maxscale.log`,用于监控和调试。 - **端口配置**: - 读写分离服务使用端口号4006。 - 管理服务使用端口号4016。

四、读写分离的配置流程

1. **配置Mysql服务器一主一从**: - 将host61配置为主服务器,通过设置`Server_id = 61`和`log_bin=master`。 - 执行`systemctl restart mysqld`重启服务。 - 为备用用户授予复制权限: ```bash mysql -uroot –p123 << GRANT REPLICATION SLAVE ON *.* TO repluser@% IDENTIFIED BY "123qqq...A"; SHOW MASTER STATUS; ```
  1. 配置代理服务器

    • 安装并配置MaxScale,确保其能够连接主服务器并管理从服务器。
    • 配置代理端口,例如设置读写分离服务的监听地址和端口。
  2. 启动读写分离服务

    • 使用命令maxscale /etc/maxscale.cnf启动服务。
  3. 客户机测试

    • 确保客户端程序能够正确连接代理服务器,测试读写分离功能是否正常。
  4. 五、实操

    **第一步:配置Mysql服务器一主一从** - 将host61设为主服务器: ```bash vim /etc/my.cnf[mysqld]server_id=61log_bin=master...```- 重启Mysql服务: ```bash systemctl restart mysqld``` - 授权复制权限: ```bash mysql -uroot –p123 << GRANT REPLICATION SLAVE ON *.* TO repluser@"%" IDENTIFIED BY "123qqq...A";SHOW MASTER STATUS;```

转载地址:http://rjdfk.baihongyu.com/

你可能感兴趣的文章
MySQL 证明为什么用limit时,offset很大会影响性能
查看>>
mysql 递归查找父节点_MySQL递归查询树状表的子节点、父节点具体实现
查看>>
mysql 里对root及普通用户赋权及更改密码的一些命令
查看>>
Mysql 重置自增列的开始序号
查看>>
MySQL 高可用性之keepalived+mysql双主
查看>>
mysql5.6.21重置数据库的root密码
查看>>
MySQL5.6忘记root密码(win平台)
查看>>
mysql5.7 for windows_MySQL 5.7 for Windows 解压缩版配置安装
查看>>
MySQL5.7.18主从复制搭建(一主一从)
查看>>
MySQL5.7.19-win64安装启动
查看>>
mysql5.7性能调优my.ini
查看>>
Mysql5.7深入学习 1.MySQL 5.7 中的新增功能
查看>>
Mysql5.7版本单机版my.cnf配置文件
查看>>
mysql5.7的安装和Navicat的安装
查看>>
MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
查看>>
MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看>>
MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
查看>>
mysql8的安装与卸载
查看>>
mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
查看>>
mysqldump 导出中文乱码
查看>>