Mysql数据库优化一:集群(读写分离)之主从服务器的安装与配置
Mysql数据库的集群(读写分离),说白了就是将读操作和写操作分开在不同的服务器上实现,以达到提高效率的目的。
大致原理如下:
数据库中的所有操作都是有日志记录的(前提是要打开这个日志记录功能)
1.master,主服务器(进行写操作的服务器)的所有记录都保存到二进制日志(binary log)中,这些记录叫做二进制日志事件(binary log events);
2.slave,从服务器(进行读操作的服务器)将mater的binart log拷贝到自己的中继日志(relay log),然后根据中继日志对自己的数据进行修改;
3.将读的请求发给slave,写的请求发给master,这样就实现了读写分离。技术选型 myproxy
实现过程:
一,设置主服务器,并开启日志;
1),找到自己的mysql的配置文件,我的系统是win764位,mysql安装在C盘下面,具体位置请看下图 ,

2),修改my.ini的配置。这里的服务器是主服务器,必须打开mysql的日志操作记录,注意:修改配置需要权限,如果没有权限请鼠标右键属性后为自己的账户配置权限。

修改port端口号:默认为3306,我在这里修改为3388,作为主服务器之用。
添加图中红色方框的圈起来的部分,#后面是注释部分,可以不写。
log="这里是日志存放的路径地址和文件名" ,如图中所示,我的日志存在mysql的ini的同级目录,名字叫mysql.log,mysql.log是操作日志,可以通过文本软件打开后查看进行了什么操作;
log-bin=mysql-bin 的意思是开启二进制日志,从服务器通过拷贝这个日志到自己的日志中,然后再进行数据的更新,才能实现主从服务器数据的一致;
server-id=1 就是为该服务器配置一个服务器id,要确保其他服务器没有占用该id,我在这里设置的为1,从服务器设置为10;
3),配置修改完成后保存,重启服务就可以了,然后为从服务器创建一个账户,以便从服务器来链接主服务器读取数据。

注意:开启和关闭服务都要使用管理员权限打开cmd后进行操作,不然是是会失败的;还有,mysql服务的名字也许不一样,可以通过在查看服务来确认。

服务重启完成后,创建从服务器的账户:

参数说明:
*.* :表示对所有表的所有操作
sirius:slave连接master使用的账号
IDENTIFIED BY 'admin' :slave连接master使用的密码
192.168.77.128:slave IP
执行成功后,可以到创建的账户是存在的

4),查询主服务器的状态,记录 File 和 Position的值,在从服务器端使用;

图没有截好,这里的File是mysql-bin.0000003,这个数字如果是第一次开启二进制日志那么就是1,如果不是就是其他数字;
主服务器端的配置暂时记录到这,从服务器的配置之后更新····················
Mysql数据库优化一:集群(读写分离)之主从服务器的安装与配置的更多相关文章
- MySQL集群读写分离的自定义实现
基于MySQL Router可以实现高可用,读写分离,负载均衡之类的,MySQL Router可以说是非常轻量级的一个中间件了.看了一下MySQL Router的原理,其实并不复杂,原理也并不难理解, ...
- docker+mysql集群+读写分离+mycat管理+垂直分库+负载均衡
依然如此,只要大家跟着我的步骤一步步来,100%是可以测试成功的 centos6.8已不再维护,可能很多人的虚拟机中无法使用yum命令下载docker, 但是阿里源还是可以用的 因为他的centos- ...
- MySQL集群系列2:通过keepalived实现双主集群读写分离
在上一节基础上,通过添加keepalived实现读写分离. 首先关闭防火墙 安装keepalived keepalived 2台机器都要安装 rpm .el6.x86_64/ 注意上面要替换成你的内核 ...
- [mysql终极优化]之主从复制与读写分离详细设置教程
读写分离与主从复制是提升mysql性能的重要及必要手段,大中型管理系统或网站必用之. 一.什么是读写分离与主从复制 先看图 如上图所示,当web server1/2/3要写入数据时,则向mysql d ...
- 十四、linux-MySQL的数据库集群读写分离及高可用性、备份等
一.数据库集群及高可用性 二.mysql实现读写分离 mysql实现读写分离有多种方式: 1)代码语言(php\python\java等)层面实现读写分离,找开发进行实现. 2)通过软件工具实现读写分 ...
- Mysql集群读写分离(Amoeba)
Amoeba原理戳这里:Amoeba详细介绍 实验环境 Master.Amoeba--IP:192.168.1.5 Slave---IP:192.168.1.10 安装JDK JDK下载地址:http ...
- 使用mysql-proxy 快速实现mysql 集群 读写分离
目前较为常见的mysql读写分离分为两种: 1. 基于程序代码内部实现:在代码中对select操作分发到从库:其它操作由主库执行:这类方法也是目前生产环境应用最广泛,知名的如DISCUZ X2.优点是 ...
- MySQL数据库高可用集群搭建-PXC集群部署
Percona XtraDB Cluster(下文简称PXC集群)提供了MySQL高可用的一种实现方法.集群是有节点组成的,推荐配置至少3个节点,但是也可以运行在2个节点上. PXC原理描述: 分布式 ...
- Dubbo入门到精通学习笔记(二十):MyCat在MySQL主从复制的基础上实现读写分离、MyCat 集群部署(HAProxy + MyCat)、MyCat 高可用负载均衡集群Keepalived
文章目录 MyCat在MySQL主从复制的基础上实现读写分离 一.环境 二.依赖课程 三.MyCat 介绍 ( MyCat 官网:http://mycat.org.cn/ ) 四.MyCat 的安装 ...
随机推荐
- 关于IP网段划分
IP地址分类(A类 B类 C类 D类 E类) IP地址由四段组成,每个字段是一个字节,8位,最大值是255,, IP地址由两部分组成,即网络地址和主机地址.网络地址表示其属于互联网的哪一个网络 ...
- Oracle数据库 获取CLOB字段存储的xml格式字符串指定节点的值
参照: Oracle存储过程中使用游标来批量解析CLOB字段里面的xml字符串 背景:在写存储过程时,需要获取表单提交的信息.表单信息是以xml格式的字符串存储在colb类型的字段dataxml中,如 ...
- 万恶之源-与python的初识
1.计算机基础知识 1.cpu: 人类的大脑 运算和处理问题 2.内存: 临时存储数据 断电就消失了 3.硬盘: 永久 存储数据 4.操作系统:是一个软件 控制每个硬件之间数据交互 2 ...
- vue computed计算属性 watch监听
计算属性 computed:{ 变量:function(){ return 计算好的值 } } 这时候计算好的值 就付给了你的变量 在实例中可以this.使用 注意 声明的变量的data中不可以重复声 ...
- 【笔记】vue+springboot前后端分离实现token登录验证和状态保存的简单实现方案
简单实现 token可用于登录验证和权限管理. 大致步骤分为: 前端登录,post用户名和密码到后端. 后端验证用户名和密码,若通过,生成一个token返回给前端. 前端拿到token用vuex和lo ...
- Tensorflow的基本使用
基本使用 使用 TensorFlow, 你必须明白 TensorFlow: • 使用图 (graph) 来表示计算任务. • 在被称之为 会话(Session)的上下文 (context) 中执行图. ...
- 依赖注入利器 - Dagger ‡
转载请标明出处:http://blog.csdn.net/shensky711/article/details/53715960 本文出自: [HansChen的博客] 概述 声明需要注入的对象 如何 ...
- android clipChildren 的使用与遇到的困难
案例 在一次我写画板模块的时候,布局比较普通,但是需要子元素溢出父元素.其中一小块布局如下所示: 红色部分需要溢出,这个时候我想到了clipChildren. clipChildren 就是说我可以不 ...
- Redis系列(四):Redis持久化和主从复制原理
一.持久化 所谓的持久化就是把内存中的数据写到磁盘中去,防止服务宕机后内存数据丢失.Redis4.0之前提供了两种持久化方式:RDB(默认) 和AOF,Redis4.x之后新增了一种混合持久化(本文所 ...
- Rust 入门 (三)_下
这部分我们学习 rust 语言的 变量.数据类型.函数.注释.流程控制 这五个方面的内容.前文介绍了前两个内容,本文介绍后三个内容. 函数 函数在 rust 代码普遍存在,我们也已经见过了它的主函数 ...