Mysql主从同步原理及配置-Linux

从库的io线程会实时依据master.info信息的去主库的binlog日志里面读取更新的内容,将更新的内容取回到自己的中继日志中,同时会更新master.info信息,此时sql线程实时会从中继日志中读取并执行里面的sql语句

Master :记录数据更改操作

– 启用 binlog 日志

– 设置 binlog 日志格式

– 设置 server_id

Slave 运行 2 个线程

– Slave_IO :复制 master 主机 binlog 日志文件里的 SQL 到本机的 relay-log 文件里。

– Slave_SQL :执行本机 relay-log 文件里的 SQL 语句

?

mysql主从复制用途:

实时灾备,用于故障切换

读写分离,提供查询服务

备份,避免影响业务

?

?

1.启用binlog日志

?

vim /etc/my.cnf

server_id=51 //每个数据库必须独立

log-bin=master51

binlog_format="mixed" //指定日志格式

systemctl restart mysqld //重启服务

?

2.用户授权

添加一个用作同步数据的用户

?

replication slave //主从权限

grant replication slave on *.* to rep[email protected]‘192.168.4.52‘ identified by ‘123456‘;

?

3.查看正在使用的binlog日志

?

1.验证授权用户

mysql -h192.168.4.51 -urepliuser -p123456

?

2.设置 server_id

?

vim /etc/my.cnf

server_id=52

systemctl restart mysqld

?

3.指定主库信息

?

4.启动slave进程

mysql> start slave;

?

5.查看从库状态信息

mysql> show slave status\G;

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

?

三、丛库进程介绍:

?

1. mysql> show processlist;//列出程序列表

?

主库中 Binlog Dump 进程负责告诉Nysq数据库有新内容写入binlog日志

从库IO线程:把主库里面的binlog日志的内容提取放到本地中写入中继日志

?

SQL:执行本机中继日志里面的SQL命令

?

2.从库配置文件介绍

/var/lib/mysql

master.info //记录主库信息

relay-log.info 中继日志信息

host52-relay-bin.xxxxx 中继日志

host52-relay-bin.index 中继日志索引

mysql> stop slave; //临时暂停同步

?

3.在从库修改主库信息:

1. 先停服务

mysql>stop salve;

2.修改配置

mysql>change master tom 选项=‘值‘,选项=‘值‘;

3.启动服务器

mysql>start salve;

客户端配置:

1.在主库提供可以访问授权用户

grant all on *.* to [email protected]‘192.168.4.%‘ identified by ‘123456‘;

mysql -h192.168.4.51 -uja -p123456

select @@hostname;

?

二、主从配置常用参数

实现配置指定同步:

主库配置:

/etc/my.conf

binlog_do_db=name //只允许同步的库

binlog_ignore_db=name //设置那些库不允许同步

?

从库配置:

/etc/my.conf

replicate_do_db=

log_slave_updates 记录从库更新,允许链式复制( A-B-C )

relay_log=dbsvr2-relay-bin 指定中继日志文件名

replicate_do_db=mysql 仅复制指定库,其他库将被忽略,此选项可设置多条(省略时复制所有库)

replicate_ignore_db=test不复制哪些库,其他库将被忽略, ignore-db 与 do-db 只需选用其中一种

原文地址:https://www.cnblogs.com/sqlserver-my/p/11013834.html

时间: 2024-10-13 21:32:16

Mysql主从同步原理及配置-Linux的相关文章

mysql主从同步原理,配置,同步延迟处理

Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysql instance(我们称之 Slave).在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在 Master 端. 要实现 MySQL 的 Replication ,首先必须打开 Master 端的Binary Log(mysql-bin.xx

MySQL主从同步原理讲述

关于mysql主从同步,相信大家都不陌生,随着系统应用访问量逐渐增大,单台数据库读写访问压力也随之增大,当读写访问达到一定瓶颈时,将数据库的读写效率骤然下降,甚至不可用:为了解决此类问题,通常会采用mysql集群,当主库宕机后,集群会自动将一个从库升级为主库,继续对外提供服务:那么主库和从库之间的数据是如何同步的呢? 为了减轻主库的压力,应该在系统应用层面做读写分离,写操作走主库,读操作走从库,下图为MySQL官网给出的主从复制的原理图,从图中可以简单的了解读写分离及主从同步的过程,分散了数据库

MySQL主从同步--原理及实现(一)

1.什么是mysql主从同步? 当master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库. 2.主从同步有什么好处? 水平扩展数据库的负载能力. 容错,高可用.Failover(失败切换)/High Availability 数据备份. 3.主从同步的原理是什么? 首先我们来了解master-slave的体系结构. 如下图: 不管是delete.update.insert,还是创建函数.存储过程,所有的操作都在master上.当master有操作的时候,slave会快速的

十五大原理之零四:MYSQL主从同步原理

主从同步又可以称为主从复制!本人习惯称为主从复制 一.MySQL主从复制(同步)原理过程详细描述: 1.Slave服务器上执行start salve,开启主从复制开关. 2.此时,Slave服务器的IO线程会通过Master上授权的复制用户权限请求连接Master 服务器,并请求从指定Binlog日志文件的指定位置(日志文件名和位置就是配置主从复制服务时执行change master命令时指定的)之后发生Binlog日志内容: 3.Master服务器接收到来自Slave服务器的IO线程的请求后,

MySQL主从同步(复制)的配置

1.主从复制的原理: *Master,记录数据更改操作 - 启用binlog记录模式 - 允许Slave读取binlog日志 *Slave运行2个同步线程 - Slave_IO:负责连接Master,复制其binlog日志文件到本机的relay-log文件 - Slave_SQL:执行本机relay-log文件里的SQL语句,重现Master的数据操作 2.基本构建思路: 1)初始化现有库:将主库导入从库,确保数据一致性 2)配置Master,主服务器:调整运行参数,授权一个同步用户 3)配置S

mysql主从同步原理-luodidiao-51CTO博客

为什么要做主从复制?1.在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作. 2.做数据的热备 3.架构的扩展.业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能. 基本构建思路–确保数据相同:从库必须要有主库上的数据–配置主服务器:启用binlog日志,授权用

mysql主从同步读写分离配置

#mysql主库配置添加: #缓存用户表及索引数据的最主要缓存空间,一般建议50%~80%,但应该以mysql服务器实际情况来定,如果跑着其他 #的应用服务或者有MyISAM表,则需要先减去系统+应用+MyISAM引擎需要的内存,再得出innodb_buffer_pool_size的 #实际值,具体情况具体分析. innodb_buffer_pool_size = 4096M #打开bin-log日志,以供slave机器读取同步日志. log-bin=/mnt/mysql/log/mysql-b

MYSQL主从同步原理解析!

大神请绕行! 一.为什么要主从同步? 我们会对数据库进行大量的读写操作,而如果数据库非常庞大的话,对我们的主机压力非常大,我们想到了一个解决的办法:两台服务器,一台只用来读取操作,一台只用来写入操作. 二.用途: 实时灾备,用于故障切换: 读写分离,提供查询服务: 备份,避免影响业务. 三.实战演练 主从部署必要条件: 主库开启binlog日志(设置log-bin参数) 主从server-id不同 从库服务器能连通主库 1.一主一从 (1)实战环境 两台服务器(centos7): 主服务器IP:

Linux下MySQL主从同步复制详细配置

注:主服务器:192.168.100.245      从服务器:192.168.100.246 一.检查系统是否安装MySQL服务 1.1 rpm -qa |grep -i mysql 二.安装MySQL服务器 2.1 rpm -ivh MySQL-server-5.5.16-1.rhel4.i386.rpm MySQL-client-5.5.16-1.rhel4.i386.rpm MySQL-devel-5.5.16-1.rhel4.i386.rpm 三.启动MySQL服务 3.1 serv