第六章 Mysql读写分离

1、读写分离的介绍

​ MySQL读写分离基本原理是让master数据库处理写操作,slave数据库处理读操作。master将写操作的变更同步到各个slave节点。

​ MySQL读写分离能提高系统性能的原因在于:

​ 1、物理服务器增加,机器处理能力提升。拿硬件换性能。

​ 2、主从只负责各自的读和写,极大程度缓解X锁和S锁争用。

​ 3、slave可以配置myiasm引擎,提升查询性能以及节约系统开销。

​ 4、master直接写是并发的,slave通过主库发送来的binlog恢复数据是异步。

​ 5、slave可以单独设置一些参数来提升其读的性能。

​ 6、增加冗余,提高可用性。

2、读写分离的配置

1、硬件配置

master 192.168.85.11 slave 192.168.85.12 proxy 192,168.85.14

2、首先在master和slave上配置主从复制
3、进行proxy的相关配置:

1、下载mysql-proxy

https://downloads.mysql.com/archives/proxy/#downloads

2、上传软件到proxy的机器

直接通过xftp进行上传

3、解压安装包

tar -zxvf mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz

4、修改解压后的目录

mv mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit mysql-proxy

5、进入mysql-proxy的目录

cd mysql-proxy

6、创建目录

mkdir conf mkdir logs

7、添加环境变量

打开/etc/profile文件

vi /etc/profile

在文件的最后面添加一下命令

export PATH=$PATH:/root/mysql-proxy/bin

8、执行命令让环境变量生效

source /etc/profile

9、进入conf目录,创建文件并添加一下内容

vi mysql-proxy.conf 添加内容 [mysql-proxy] user=root proxy-address=192.168.85.14:4040 proxy-backend-addresses=192.168.85.11:3306 proxy-read-only-backend-addresses=192.168.85.12:3306 proxy-lua-script=/root/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua log-file=/root/mysql-proxy/logs/mysql-proxy.log log-level=debug daemon=true

10、开启mysql-proxy

mysql-proxy --defaults-file=/root/mysql-proxy/conf/mysql-proxy.conf

11、查看是否安装成功,打开日志文件

cd /root/mysql-proxy/logs tail -100 mysql-proxy.log

内容如下:表示安装成功

2019-10-11 21:49:41: (debug) max open file-descriptors = 1024 2019-10-11 21:49:41: (message) proxy listening on port 192.168.85.14:4040 2019-10-11 21:49:41: (message) added read/write backend: 192.168.85.11:3306 2019-10-11 21:49:41: (message) added read-only backend: 192.168.85.12:3306 2019-10-11 21:49:41: (debug) now running as user: root (0/0)

```

4、进行连接

mysql的命令行会出现无法连接的情况,所以建议使用客户端

mysql -uroot -p123 -h192.168.85.14 -P 4040 ```

posted on   胡子就不刮  阅读(88)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示