数据库主从复制

一、主从复制概述

1、介绍:

主从复制是指将主数据库的 DDL 和 DML 操作写入到二进制日志中,将二进制日志传送到从库服务器,然后在从库上对这些日志重新执行(重做),从而使得从库和主库的数据保持同步。

MySQL支持一台主库同时向多台从库进行复制,从库同时也可以作为其他从服务器的主库(链状复制)。

2、优点:

MySQL 复制的优点主要包含以下三个方面:

① 主库出现问题,可以快速切换到从库提供服务。

② 实现读写分离,降低主库的访问压力。

③ 可以在从库中执行备份,以避免备份期间影响主库服务。

3、原理:

① Master 主库在事务提交时,会把数据变更记录在二进制日志文件 Binlog 中。

② 从库的IO线程读取主库Binlog日志中的事务,并写入到从库的中继日志Relay log中。

③ 从库的SQL线程读取中继日志Relay log中的事务,并在从库上执行,从而实现主从同步。

二、主从复制实现

1、环境准备:

准备好两台服务器之后,分别安装MySQL,关闭防火墙,并完成基础的初始化准备(安装、 密码配置等操作)工作。

master:10.1.1.10

slave:10.1.1.20

2、主库配置:

(1) 修改配置文件:

vim /etc/my.cnf

#mysq1 服务ID,用于在主从复制中标识服务器的唯一身份,保证整个集群环境中唯一。取值范围:1-2^32-1,默认为1

server-id=1

#是否只读,1 代表只读,0 代表读写

read-only=0

#忽略的数据,指不需要同步的数据库

#binlog-ignore-db=mysql

#指定同步的数据库

#binlog-do-db=db01

systemctl restart mysqld

(2) 创建远程连接账号并授权:

① 创建远程连接的用户名为itcast,密码为6666,可让任意主机连接。从库可通过此用户名和密码登录主库,获取binlog日志。

CREATE USER 'itcast'@'%' IDENTIFIED WITH mysql_native_password BY'6666' ;

如果报这个错误:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

则要先修改mysql的密码策略:

set global validate_password.policy=0;

set global validate_password.length=4;

② 为'itcast'@'%'用户分配主从复制权限:

GRANT REPLICATION SLAVE ON *.* TO 'itcast'@'%';

(3) 查看二进制日志坐标:

show master status ;

file:事务写到了哪个文件

position:事务写到了文件的哪个位置

从库需要从binlog.000006的663之后开始主从复制。

3、从库配置:

(1) 修改配置文件:

vim /etc/my.cnf

#mysql 服务ID,保证整个集群环境中唯一,取值范围:1 – 2^32-1,和主库不一样即可

server-id=2

#是否只读,1 代表只读, 0 代表读写

read-only=1

systemctl restart mysqld

(2) 设置连接主库的信息:

CHANGE REPLICATION SOURCE TO SOURCE_HOST='10.1.1.10', SOURCE_USER='itcast', SOURCE_PASSWORD='6666', SOURCE_LOG_FILE='binlog.000006', SOURCE_LOG_POS=663;

(3) 开启主从同步:

start replica ; #8.0.22之后

start slave ; #8.0.22之前

(4) 查看主从同步状态:

show replica status\G ; #8.0.22之后

show slave status\G ; #8.0.22之前

4、验证主从同步:

在主库上创建数据库、表,并插入数据:

create database itcast;

use itcast;

create table tb_user(

id int(11) not null,

name varchar(50) not null,

sex varchar(1),

primary key (id)

)engine=innodb default charset=utf8;

insert into tb_user(id,name,sex) values(1,'Tom','1');

insert into tb_user(id,name,sex) values(2,'Trigger','0');

insert into tb_user(id,name,sex) values(3,'Dawn','1');

验证从库是否同步数据:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/638406.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

护眼台灯哪个牌子好?排名靠前的护眼台灯十大排名推荐!

护眼台灯哪个牌子好?目前,书客、松下、飞利浦等品牌备受关注。急需护眼的朋友,先不必焦虑。护眼台灯的选择,同样需要细致考虑,不是简单地亮起来就足够护眼。因为不当的光线可能对眼睛造成微妙而长远的伤害,…

怎样快速打造二级分销小程序

乔拓云是一个专门开发小程序模板的平台,致力于帮助商家快速上线自己的小程序。通过套用乔拓云提供的精美模板,商家无需具备专业的技术背景,也能轻松打造出功能齐全、美观大方的小程序。 在乔拓云的官网,商家可以免费注册账号并登录…

火力发电资质升级,河南企业申报周期一览

河南企业申报火力发电资质从丙级升级到乙级的周期,通常是一个涉及多个环节和因素的复杂过程。因此,具体的申报周期会因企业的实际情况、申报材料的准备情况、审批部门的工作效率等多种因素而有所差异。 一般来说,整个升级周期可能包含以下步骤…

【团体程序设计天梯赛】L2-052 吉利矩阵

思路: 直接回溯枚举每一个位置填的数,二维肯定是不方便的,我们转成一维,下标x从0到n*n-1。二维数组下标从0到n-1,在一维中下标为x的点在二维中对应行是x/n,列是x%n。 每个数最小能填的是0,最大…

米家风扇拆解大全方案展示

随着科技的飞速进步,小家电设备逐渐向着智能化、便捷化的方向发展。在这个过程中,Type-C接口以其高效、易用的特点,正日益成为小家电领域的主流充电接口。然而,由于Type-C接口的种类繁多,设备在识别和使用不同充电方式…

2024年3月电风扇家电线上电商(京东天猫淘宝)销售数据排行榜

鲸参谋监测的线上电商(京东天猫淘宝)平台3月份的电风扇家电销售数据已出炉! 根据鲸参谋数据显示,今年3月份,电风扇市场呈现出稳步增长态势。在线上电商平台上电风扇总销量累计约226万件,环比上个月上涨了2…

C++相关概念和易错语法(8)(匿名对象、构造+拷贝构造优化、构造析构顺序)

1.匿名对象 当我们实例化对象后,有的对象可能只使用一次,之后就没用了。这个时候我们往往要主动去析构它,否则会占着浪费空间。但是如果遇到大量的这种情况,我们并不想每次都去创建对象、调用、析构,这样会写出很多重…

QT Webengine开发过程报错qml: Render process exited with code 159 (killed)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、解决方法二、补充说明总结 前言 基于QT的Webengine开发过程中,QT的官方示例quicknanobrowser也无法成功运行,程序运行后&#xff0…

TypeError: Cannot read property ‘forceUpdate‘ of undefined

今天给大家展示一个 我自己在写项目的时候遇到的保存 其实很简单就是没有修改addid 把自己的小程序appid填上去就好了 学习记录笔记!

决策树原理及应用

目录 一、决策树概述 1.1决策树的组成 1.2构建决策树 1.3决策树的剪枝 1.4决策树的优点和缺点 二、决策树在计算机视觉中的应用 三、基于决策树的图像分类实例 一、决策树概述 决策树是一种非常流行的机器学习算法,它用树状图的形式来表示决策过程。决策树可…

FastJson2中FastJsonHttpMessageConverter找不到类问题

问题描述 如果你最近也在升级FastJson到FastJson2版本,而跟我一样也遇到了FastJsonHttpMessageConverter找不到类问题以及FastJsonConfig找不到问题,那么恭喜你,看完本文,安装完fastjson2、fastjson2-extension、fastjson2-exte…

舒适护眼模式:苹果手机字体大小怎么设置?

在现代社会,人们对于手机的使用已经不再局限于通讯和娱乐,也逐渐成为了我们生活和工作中不可或缺的一部分。然而,长时间使用手机可能会对我们的视力造成一定程度的影响。 为了更好地保护视力健康,苹果手机提供了舒适护眼的模式&a…