博客
关于我
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/

你可能感兴趣的文章
mysqldump 参数--lock-tables浅析
查看>>
mysqldump 导出中文乱码
查看>>
mysqldump 导出数据库中每张表的前n条
查看>>
mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
查看>>
Mysqldump参数大全(参数来源于mysql5.5.19源码)
查看>>
mysqldump备份时忽略某些表
查看>>
mysqldump实现数据备份及灾难恢复
查看>>
mysqldump数据库备份无法进行操作只能查询 --single-transaction
查看>>
mysqldump的一些用法
查看>>
mysqli
查看>>
MySQLIntegrityConstraintViolationException异常处理
查看>>
mysqlreport分析工具详解
查看>>
MySQLSyntaxErrorException: Unknown error 1146和SQLSyntaxErrorException: Unknown error 1146
查看>>
Mysql_Postgresql中_geometry数据操作_st_astext_GeomFromEWKT函数_在java中转换geometry的16进制数据---PostgreSQL工作笔记007
查看>>
mysql_real_connect 参数注意
查看>>
mysql_secure_installation初始化数据库报Access denied
查看>>
MySQL_西安11月销售昨日未上架的产品_20161212
查看>>
Mysql——深入浅出InnoDB底层原理
查看>>
MySQL“被动”性能优化汇总
查看>>
MySQL、HBase 和 Elasticsearch:特点与区别详解
查看>>