• 欢迎访问VPS岛网站,国外VPS,国内VPS,国外服务器,国内服务器,服务器主机,测评及优惠码,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站 QQ群

MySQL如何配置读写分离?

mysql技术 mb5fdcae3079e89 13次浏览 已收录 0个评论

既然上一篇提到了(MySQL 单表上亿,怎么优化分页查询?),那我们就接着 MySQL 继续往下聊。

顺带补充一句,刷完的题目,我都会更正、整理到博客(个人订阅号不支持下文中的博客地址跳转)与小程序:

https://www.javanav.com

Java面试题小程序

为了验证面试者是否使用过某些技术,面试官最喜欢问的一句就是,你们项目中是怎么配的?

而在实际开发中,大部分精力都集中在如何实现业务功能,如何修复 BUG,如何解决线上的疑难杂症。配置的问题,只要环境统一、软件版本统一、配置文件统一,配一遍踩过所有会遇到的坑,记个文档,后面按照这个文档来就行了,或者制作发布包、镜像等。数据库的配置一般都涉及不到开发人员。

你平时没留意,但你不会不代表别人不会,就好比高考你不会的题目总有很多人能做出来。我觉得这种题目,有空自己来一遍,记个笔记,往后都门清了。

MySQL 最常用的集群部署方式是主从架构,可以 1 主多从,主库写,从库读,用这种方式来做读写分离。也可以主主架构,两边都可以读写,但需要业务代码控制数据冲突问题。MGRMySQL Group Replication),是分布式架构,支持多点写入,但性能不如上述两者,且对网络要求较高。


所以常用的读写分离基于主从架构实现的较多


那么主从架构的 MySQL 如何配置呢?

为了解答这个问题,我下载了 64 位 windows MySQL 最新版的 server,8.0.21,进行了安装。

step1、安装流程:

  • 官网下载安装包

  • 解压

  • 创建安装初始化配置文件,my.ini,放在安装包与 bin 目录平级

  • 管理员 CMD 执行 mysqld –initialize –console

  • 解决报错,下载 vcruntime140_1.dll 文件放到 System32 目录

  • 继续安装,成功之后生成 root 账号的临时密码

  • 安装服务 mysqld –install

  • 启动服务 net start mysql

  • 登陆修改 root 密码

第二台电脑也是如此配置。详细我记录在了博客里:

https://javanav.com/article/e7675c2d2a0d4c03aca25a32b60cbabb.html

这样两台电脑的 MySQL 服务安装就搞定了。

step2、配置主从

  • 主库在 my.ini 中新增库 id 与 log-bin 配置

  • 重启主库

  • 为从库创建同步账号、授权

  • 从库在 my.ini 中新增库 id、log-bin、relay-log 配置

  • 重启从库

  • 修改从库由主库同步的配置信息

  • 开启 slave


详细配置见:

https://javanav.com/article/08d7b58e8b4d47b38a3773926a93f36c.html


配置到这里,向主库新建表,增删改数据,都会自动同步到从库。但是回答到这里,只说了配置的一半,就是 MySQL 的主从配置,只得了 50 分


面试官这时候还会追问,项目中是如何配置读写分离的呢?


项目中一般不会自己去控制增删改的 SQL 获取主库的连接进行操作,查询的 SQL 获取从库的连接进行操作。都是通过中间件更优雅地实现读写分离,如何拿到剩下的 50 分,下篇文章继续折腾。


VPS岛 的文章和资源来自互联网,仅作为参考资料,如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。丨 转载请注明MySQL如何配置读写分离?
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址