我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql主从集群配置

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql主从集群配置

mysql主从集群配置


先编辑master配置:

vim /etc/my.cnf

mysql主从集群配置

(加上红框部分。#server id部分:每个都有独一无二的id作为区分,这id可以用服务器ip后三位。#binary log:日志。#statement row mixed:三种监听方式)

其中三种情况:监听语句变化,还是磁盘变化,还是混合模式?

然后编辑slave的/etc/my.cnf:

mysql主从集群配置

(设置id,建立中继日志)

然后分别启动主和从:service mysqld start

接下来,主和从要建立联系:

登录mysql: 

mysql -uroot -p

master建立授权帐号(这个帐号允许你复制master的二进制日志。一个replication client帐号,一个replication slave帐号):

mysql主从集群配置

(授权一个客户端帐号、一个从帐号。*.*:作用于所有库和表上,不像mongodb能单选某库某表。to 帐号repl,指定它发挥作用的ip:@192.168.%.%,即前缀是192.168都可以用。identitied by 'repl':指定密码为repl)

到目前为止,主服务器的日志、帐号、从服务器的relaylog好了,只需要通知从服务器连过来:

mysql主从集群配置(master_log_file是当前master所用的二进制文件。master_log_pos是当前master的position。下面有查看方法)

见识下二进制日志:

mysql主从集群配置

目前用的最新的二进制日志是:

mysql主从集群配置(mater机器)

看看当前master机器的状态:

mysql主从集群配置(确实当前用的是mysql-bin.000003,position 278的意思是:我主服务器已经写到278位置了,你从服务器注意哈)

操作slave:

mysql主从集群配置(reset slave:重置slave。然后设置对应master的相关信息)

查看slave的情况:show slave status \G

mysql主从集群配置

启动slave:

mysql主从集群配置

再查看状态就好了(第一行变成了waiting  for master to send event):

mysql主从集群配置

接下来,不管在master是新建库、表,各种增删改查,在slave中都会看到相应的变化





典型问题:

有一业务场景,经过测试,读写比为1:20,请根据读写比,合理设置优化方案.

 

读写比:

写数据/读数据的比例,

Insert/update/delelte     /  select

 

不管具体技术,从"读写分离"的概念出发来推导一下基本的要素.


mysql主从集群配置

通俗的说:读服务器就是指写服务器的数据镜像.

 

从服务端看:要有N台从服务器和主服务器保持数据一致.

从客户端看:比如有一条insert语句和一条select 语句,

则要区分读/写语句,并且分别请求从/主服务器.

 

 


服务器端读写分离的具体技术

1:数据库集群技术

集群由3个概念

1:sql节点  sql node

2:数据节点 data node

3:管理节点 ndb managerment

 

Sql语句发送"1sql节点", "1sql"节点发往"2数据节点",再由3管理节点完成数据节点的之间的同步.

 

集群技术相对复杂,至少有3种节点,4台服务器才能完成.

 

 

2:数据库复制 replication

mysql主从集群配置


数据库复制 replication 的实现原理

1:主服务器凡运行语句,都产生一个二进制日志 binlog

2:从服务器不断读取主服务器的binlog

3:从主服务读取到的binlog,转换为自身可执行的relaylog,

4:执行relaylog

 

 

实现步骤:

1:首先确保主服务器打开二进制日志功能.

这样,主服务器一旦有数据变化,立即产生二进制日志.

 

2:从服务器也需要开启二进制日志和relay日志功能.

这样可以从主服务器读取binlog,并产生relaylog

 

3:在主服务器建立一个从服务器的账号,并授予数得上权限.

 

4: 指定从服务对应的主服务器,开启从服务器.

 

 

具体实施

本人虚拟机下有两台linux,IP为199 200

1: 200做从服务器

2: 199mysql,做为主服务器.

3: 保证主从3306端口互通.

4: 配置主服务器,打开binlog

mysql主从集群配置

#给服务器起一个唯一的id

server-id=1

 #开启二进制日志

log-bin=mysql-bin

#指定日志格式

binlog-format=mixd/row/statement
重启mysql

mysql主从集群配置

已经能够充当master服务器


5: 配置从服务器打开binlog和relaylog

mysql主从集群配置

mysql主从集群配置

重启从服务器

 

6: 在主服务器上创建相应的复制账号

mysql主从集群配置

7: 在从服务器通过语句指定要复制的主服务器(注意,可以一主多从,不可一从多主).

mysql主从集群配置

8:启动从服务器功能

->start slave;

mysql主从集群配置

8: 测试.

 

 


常用语句:

show master status ; 查看master的状态, 尤其是当前的日志及位置

show slave stattus; 查看slave的状态.

reset slave ;  重置slave状态.

start slave ; 启动slave 状态(开始监听msater的变化)

stop slave; 暂停slave状态;









查看mysql帐号:

mysql主从集群配置

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql主从集群配置

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Mysql实现主从配置和多主多从配置

我们现在模拟的是主从(1台主机、一台从机),其主从同步的原理,就是对bin-log二进制文件的同步,将这个文件的内容从主机同步到从机。 一、配置文件的修改1、主机配置文件修改配置我们首先需要mysql主机(192.168.254.130)的
2022-05-30

如何配置hadoop集群主节点

配置Hadoop集群的主节点需要完成以下步骤:确保所有节点都已安装Hadoop,并且已经完成了基本的配置。在主节点上编辑Hadoop的配置文件,通常是hadoop-env.sh、core-site.xml、hdfs-site.xml、ma
如何配置hadoop集群主节点
2024-04-03

mysql主从和集群的区别是什么

MySQL主从复制和集群是两种不同的架构方式。主从复制是指在MySQL数据库中,将一个主数据库的数据同步到多个从数据库中。主数据库处理写操作,并将写操作记录在二进制日志中,从数据库通过复制主数据库的二进制日志来同步数据。主从复制能够实现读写
2023-09-28

探秘MySQL主从复制的集群部署:从安装到配置的一步一步指南

探秘MySQL主从复制的集群部署:从安装到配置的一步一步指南在大规模的互联网应用中,数据的高可用性和灵活性是非常重要的。MySQL主从复制是一种常用的解决方案,它可以实现数据的备份、负载均衡和容灾恢复。本文将详细介绍如何搭建一个MySQL主
2023-10-22

Mysql如何实现主从配置和多主多从配置

这篇文章主要介绍了Mysql如何实现主从配置和多主多从配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我们现在模拟的是主从(1台主机、一台从机),其主从同步的原理,就是对b
2023-06-15

编程热搜

目录