Mysql 5.5.40实现一主多从 One-Master muil-slave

我们知道 Mysql读和写在性能方面的开销区别是较大的,一般来说 服务器顶着20%写的压力,另外80%的压力来自读,当然这也得看实际业务情况。

这篇文章准备配置一主三从,其实多少从没什么关系,一主多从其实是一主一从的延伸,因为从库之间是没有任何通信的,具体使用哪种方式看带宽负载和具体流量。

Mysql的主从replication原理其实就是Master不断地写二进制日志,Slave去读取日志,按照里面的SQL记录去执行!如下图:

Mysql主从配置是与生俱来的功能,只需做简单配置即可,好了,废话少说,开始吧!

我的环境是这样,四台机器都在Vmware上,都使用桥接,用dhcp直接获取动态IP

Master:192.168.83.61

Slave1:192.168.83.87

Slave2:192.168.83.88

Slave3:192.168.83.89

四台机器的Mysql版本都是Mysql 5.5.40

第一,配置Master

vi /etc/my.cnf

server-id = 61
log-bin=mysql-bin
binlog-do-db=test //需要同步的数据库
binlog-ignore-db=mysql //被忽略的数据库
binlog-ignore-db=information-schema //被忽略的数据库

在master上为三台slave添加一个同步账号

mysql> grant replication slave1 on *.* to 'slave1'@'192.168.83.87' identified by 'slave1';

//在slave1上登陆成功

mysql> grant replication slave on *.* to 'slave2'@'192.168.83.88' identified by 'slave2';

//在slave2上登陆成功

<pre name="code" class="plain">mysql> grant replication slave on *.* to 'slave3'@'192.168.83.89' identified by 'slave3';

//在slave3上登陆成功

保存后重启Mysql服务

service mysqld restart

然后在mysql命令行模式下用

mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000001
Position: 106
Binlog_Do_DB: test
Binlog_Ignore_DB: mysql,information-schema
1 row in set (0.00 sec)

第二,在三台Slave上添加配置:

vi /etc/my.cnf

replicate-do-db=test //同步的数据库

replicate-ignore-db=mysql //被忽略的数据库

replicate-ignore-db=information-schema //被忽略的数据库

server-id看默认有没有配置 一般是用的 如果没有加上 一般用IP后断命名

注意最重要的一点 配置主库信息,mysql 5.1开始废弃了再my.cnf的这种写法

master-host=192.168.83.61

master-user= slave1

master-password=slave1

master-port=3306

所以5.1之后的版本都应该这样写:

change master to master_host='192.168.83.61', master_user='slave1', master_password='slave1';

然后重启mysql服务

mysql命令行模式下:

mysql>start slave;
mysql>show slave status\G;

如果这两个变量是yes的话 说明主从是在正常运行的

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Slave_IO_Running:连接到主库,并读取主库的日志到本地,生成本地日志文件

Slave_SQL_Running:读取本地日志文件,并执行日志里的SQL命令。

向主库插入数据 发现三个从库都更新了,that‘s it!

时间: 2024-10-18 07:56:14

Mysql 5.5.40实现一主多从 One-Master muil-slave的相关文章

Mac下安装MySQL 5.6.40

Mac下安装MySQL 5.6.40 - 干勾鱼的CSDN博客 - CSDN博客 原创 Mac下安装MySQL 5.6.40 2018-06-18 10:34:03 我是干勾鱼 阅读数 5927 分类专栏: MYSQL MYSQL常见问题解析 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/dongdong9223/article/details/80722654 转载请注明出处:http

MySQL 主主报错: Fatal error: The slave I/O thread stops because master and slave have

Mysql 主主启动错误处理 error 信息: Slave_IO_State: Master_Host: 192.168.6.87 Master_User: replication Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000003 Read_Master_Log_Pos: 106 Relay_Log_File: mysqld-relay-bin.000002 Relay_Log_Pos: 4 Relay_

mysql主从配置&&基于keepalived的主备切换

mysql互为主从设置 && 主备切换配置 需求说明: 1.公司架构一直是一台单独的mysql在线上跑,虽然一直没有出现什么宕机事件,但是出于一个高可用的考虑,提出主从备份.主备切换的需求: 2.实现这个需求的前一段时间只是在做数据库备份的时候实现了主从热备,为了实现主备切换功能,继续操作上述需求: 实验环境: master1:10.1.156.3:3306 master2:10.1.156.5:3306 my.cnf配置文件关于主从这块的修改: master1: server-id =

MySQL数据库使某个不是主键的字段唯一

在使用MySQL数据的过程中有时候我们需要某个不是主键的字段不重复,这个时候就要用到SQL的UNIQUE约束了. 下面摘抄自w3school里的一段介绍: UNIQUE 约束唯一标识数据库表中的每条记录. UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证. PRIMARY KEY 拥有自动定义的 UNIQUE 约束. 请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束. 下面在 "Persons" 表创建时在

mysql数据库主从同步之双主配置----互为主从

Mysql数据库复制原理: 整体上来说,复制有3个步骤: (1)master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events): (2)slave将master的binary log events拷贝到它的中继日志(relay log): (3)slave重做中继日志中的事件,将改变反映它自己的数据. 下图描述了复制的过程: 该过程的第一部分就是master记录二进制日志.在每个事务更新数据完成之前,master在二进制日志记录这些

mysql数据库表的自增主键号不规律,重新排列

mysql数据库表的自增主键ID乱了,需要重新排序. 原理:删除原有的自增ID,重新建立新的自增ID. 1.删除原有主键: ALTER TABLE `table_name` DROP `id`; 2.添加新主键字段: ALTER TABLE `table_name` ADD `id` MEDIUMINT( 8 ) NOT NULL FIRST; 3.设置新主键: ALTER TABLE `table_name` MODIFY COLUMN `id` MEDIUMINT( 8 ) NOT NULL

[MGR——Mysql的组复制之单主模式 ]详细搭建部署过程

1,关于MySQL Group Replication 基于组的复制(Group-basedReplication)是一种被使用在容错系统中的技术.Replication-group(复制组)是由能够相互通信的多个服务器(节点)组成的. 在通信层,Groupreplication实现了一系列的机制:比如原子消息(atomicmessage delivery)和全序化消息(totalorderingof messages). 这些原子化,抽象化的机制,为实现更先进的数据库复制方案提供了强有力的支持

mysql数据库单表只有一个主键自增id字段,ibatis实现id自增

mysql数据库单表只有一个主键自增id字段,ibatis实现id自增 <insert id="autoid">        insert into user_id values(null)        <selectKey resultClass="int">SELECT @@IDENTITY As id</selectKey>    </insert>

Mysql集群讲解(四) 一主多从环境搭建

Mysql集群讲解(四) 一主多从环境搭建: A:环境配置(#号后内容记得删除) 配置主从MySQL配置文件my.cnf 主(3307)里面加入 log-bin=mysql-bin     #表示启用二进制日志 server-id=3307        #表示server编号,编号要唯一 从(3308)里面加入 server-id=3308        #表示server编号,编号要唯一 从(3309)里面加入 server-id=3309        #表示server编号,编号要唯一