mysql读写分离

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

__EOF__

本文作者等不到的口琴
本文链接https://www.cnblogs.com/Courage129/p/14059076.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   等不到的口琴  阅读(162)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示