MySQL 数据库主从复制

news2024/11/14 19:33:37

参考视频教程: https://www.bilibili.com/video/BV13a411q753?p=172
参考博客: https://blog.csdn.net/main_Scanner01/article/details/124259050

1. 介绍

1.1 要点

主库(master): 负责增删改
从库(slave) : 负责查询
主从库关系: 一对多

1.2 步骤

● master将改变记录到_进制日志(binary log )
● slave将master的binary log拷贝到它的中继日志(relay log )
● slave重 做中继日志中的事件,将改变应用到自己的数据库中

1.3 前提条件

提前准备好两台服务器(至少两台),分别安装Mysql并启动服务成功
● 主库Master 192.168.150.128
● 从库Slave 192.168.150.130
如果没有安装MySQL可以访问以下链接:
Linux安装MySQL: https://blog.csdn.net/qq_45056135/article/details/128171450
Win安装MySQL : https://blog.csdn.net/qq_45056135/article/details/127201960

1.4 常用命令

查看mysql服务状态

systemctl status mysqld

启动mysql服务

systemctl start mysqld

重启mysql服务

systemctl restart mysqld

2. 主机配置

2.1 修改配置文件/etc/my.cnf

修改配置文件/etc/my.cnf

vim /etc/my.cnf

在[mysqld]后添加内容(:wq!保存后退出)

log-bin=mysql-bin
server-id=128

说明: 128是主机的ip为也可以设置为其他的, 唯一即可(主机和从机id不能一样)
添加后如下所示:
在这里插入图片描述

2.2 重启MySQL服务

修改配置文件后重启MySQL服务

systemctl restart mysqld

2.3 赋予从机权限

  1. 进入MySQL数据库
mysql -uroot -proot
  1. 执行下面SQL赋予从机权限
GRANT REPLICATION SLAVE ON *.* to 'xiaoming'@'%' identified by 'Root@123456';

在这里插入图片描述

注:上面SQL的作用是创建一一个用户xiaoming, 密码为Root@123456, 并且给xiaoming用户授予REPLICATION SLAVE权限。常用于建立复制时所需要用到的用户权限,也就是slave必须被master授权具有该权限的用户,才能通过该用户复制。

2.4 记录文件名和指针位置

同样要先登录登录Mysql数据库

mysql -uroot -proot

执行下面SQL,记录下结果中File和Position的值

show master status;

如下所示: mysql-bin.000006 和 441
在这里插入图片描述

3. 从机配置

登录从机

3.1 修改配置文件/etc/my.cnf

在这里插入图片描述
修改配置文件:

vim /etc/my.cnf

在[mysqld]后添加内容(:wq!保存后退出)

server-id=130

说明: 130是从机的ip为也可以设置为其他的, 唯一即可(别和主机的id一样)
添加后内容如下所示
在这里插入图片描述

3.2 重启MySQL服务

systemctl restart mysqld

3.3 配置文件连接

  1. 同样要先登录登录Mysql数据库
mysql -uroot -proot
  1. 执行下面SQL 用于连接主机

文件连接

change master to 
master_host='192.168.150.128',
master_user='xiaoming',
master_password='Root@123456',
master_log_file= 'mysql-bin.000006',master_log_pos=441;

上面SQL语句各个参数说明

CHANGE MASTER TO
MASTER_HOST='主机的IP地址',
MASTER_USER='主机用户名',
MASTER_PASSWORD='主机用户名的密码',
MASTER_LOG_FILE='mysql-bin.具体数字',
MASTER_LOG_POS=具体值;

情况1: 执行之后出现如下错误:(说明之前已经开了Slave 我们关闭即可)

在这里插入图片描述
关闭Slave:

stop slave;

重新执行一遍:

change master to 
master_host='192.168.150.128',
master_user='xiaoming',
master_password='Root@123456',
master_log_file= 'mysql-bin.000006',master_log_pos=441;

然后在开启Slave

start slave;

情况2: 执行成功

如下表示执行成功:
在这里插入图片描述
开启Slave

start slave;

3.4 检查是否成功配置

方法1:

查看从数据库的状态

show slave status;

如下所示两个Yes表示配置成功
在这里插入图片描述

方法2:

执行命令

show slave status\G

如下所示两个Yes表示配置成功
在这里插入图片描述

其他问题

Slave_IO_Running: NO
Slave_SQL_Running: Yes的情况我之前碰到这种情况是因为3.3配置错了, 这种情况一般是你没有配置对文件, 多看看空格, -等特殊字符。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

宝塔部署node项目

宝塔linux:是一个linux运维面板,方便管理服务器。 安装服务器默认宝塔面板 使用步骤 到防火墙页面开启8888端口: 点击进入防火墙远程登录服务器。复制面板安全入口查询命令,获取面板安全入口。sudo /etc/init.d/bt default | gr…

快速入门Docker

目录 Docker简介 Dokcer环境配置 Docker HelloWorld运行原理解析 阿里云镜像仓库 常用命令 基本命令 镜像命令 容器命令 Docker简介 Docker 是基于Go语言实现的一个开源项目,通过对应组建的封装,分发,部署,运行等生命周期的管…

如何创建多语言WordPress网站[专家建议]

如果您想有效地接触广泛的国际受众,那么您应该考虑制作一个多语言WordPress网站。您知道吗,61.1% 的网站是英文的,但全球只有 25.9% 的用户实际上可以在线使用这种语言。 多语言功能意味着创建站点的两个或多个语言实例,在大多数…

anaconda安装pytorch

1.需不需要另外创建一个新环境 答案是:可以不需要 所以我的做法是直接在base环境中安装的pytorch 2.python、torch、torchvision版本对应 我的是python3.9,安装的是cuda11.3–torch1.10.1,所以按理来说torchvision为0.11.2 3.离线安装tor…

P4的exercises实现原理

今天介绍一下p4的tutorials-master\utils如何将tutorials-master\exercises下各个小实验的实现,有助于以后自己构建mininet并配置p4交换机,通过本博客可以简单了解: Makefile是如何实现相关的实验的基于p4的mininet如何搭建 1.Makefile干了什…

python-(6-4-3)爬虫---re解析案例

文章目录一 需求二 总体思路1)从网址定位到2022必看热片2)从2022必看热片定位到子页面的链接地址3)请求子页面的链接地址,拿到我们想要的下载地址三 分析步骤1)从网址定位到2022必看热片2)从2022必看热片定…

开关电源环路稳定性分析(05)-传递函数

大家好,这里是大话硬件。 经过前面4篇文章的梳理,估计很多人已经等不及了,什么时候可以开始环路的分析。为了尽快进入到大家关心的部分,这一讲我们正式进入环路分析的第一部分——传递函数。 传递函数,简单的理解就是…

立体车库管理系统

1、立体车库主界面 左侧为菜单栏中间为监视页面上方为实时报警页面,上方第二页为设备指令,第三页为升降机监测,第三页为穿梭车监测2、立体车库设备状态显示 通用状态显示升降机1#2#和穿梭车1#2#3#的缓存指令编号,点击按钮可以清楚…

【设计模式】32.结构型模式-组合模式(Composite)

一、描述 首先,看一个数据结构: 在平时开发过程中,我们的菜单目录、文件夹目录等都有类似如上的实体结构,其中composite代表父级节点,leaf代表叶子节点,composite可以有子节点,但是leaf下没有…

一文读懂ChatGPT模型原理

(本文是ChatGPT原理介绍,但没有任何数学公式,可以放心食用) 前言 这两天,ChatGPT模型真可谓称得上是狂拽酷炫D炸天的存在了。一度登上了知乎热搜,这对科技类话题是非常难的存在。不光是做人工智能、机器学习…

ORB-SLAM2 ---- Tracking::TrackWithMotionModel函数

目录 1.函数作用 2.步骤 3.code 4.函数解释 4.1 更新上一帧的位姿;对于双目或RGB-D相机,还会根据深度值生成临时地图点 4.2 根据之前估计的速度,用恒速模型得到当前帧的初始位姿。 4.3 用上一帧地图点进行投影匹配,如果匹…

JDK版本对应其major.minor version,看这一篇就够啦(附java历史版本下载地址)

文章目录前言JDK版本对应其major versionJDK历史版本下载地址前言 今天博主在学习SpringBoot,启动项目时遇到这样一个问题 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project springbo…

[附源码]JAVA毕业设计企业信息安全评价系统(系统+LW)

[附源码]JAVA毕业设计企业信息安全评价系统(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目…

[附源码]Python计算机毕业设计Django小区疫情事件处理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

Git学习笔记 Git Gitee GitHub GitLab

目录 Git GitHub Gitee码云 GitLab Git 概述 何为版本控制 为什么需要版本控制 集中式版本控制工具 分布式版本控制工具 Git和代码托管中心 Git命令 git init命令 git config git status 查看 git 状态 git rm --cached xx git commit -m “备注” xx git reflo…

PHP代码审计系列(二)

PHP代码审计系列&#xff08;二&#xff09; 本系列将收集多个PHP代码安全审计项目从易到难&#xff0c;并加入个人详细的源码解读。此系列将进行持续更新。 strcmp比较字符串 源码如下 <?php $flag "flag"; if (isset($_GET[a])) { if (strcmp($_GET[a], …

DBCO-PEG3-Maleimide,Mal-PEG3-DBCO,二苯并环辛炔-三聚乙二醇-马来酰亚胺

​ 中英文名&#xff1a; CAS号&#xff1a;N/A| 英文名&#xff1a;DBCO-PEG3-Maleimide&#xff0c;Mal-PEG3-DBCO |中文名&#xff1a;二苯并环辛炔-三聚乙二醇-马来酰亚胺物理参数&#xff1a; CASNumber&#xff1a;N/A Molecular formula&#xff1a;C34H38N4O8 Molecul…

[附源码]计算机毕业设计绿色生鲜Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

一键免密登录云平台!ZStack Cloud 4.5.0等你来解锁……

近日&#xff0c;ZStack Cloud 4.5.0发布&#xff0c;新增支持多种标准单点登录&#xff08;SSO&#xff09;协议。云平台现可对接OIDC/OAuth2/CAS三种协议的统一身份认证系统&#xff0c;使认证系统中的用户可一键免密登录云平台&#xff0c;大大提高了云平台的访问效率和安全…

在 Git Bash 中为 vim 设置 Dracula 配色

因为本人一直习惯了用 Jetbrains 家的产品&#xff0c;而且一直独钟 Dracula 配色&#xff0c;因此想要在 Git Bash 中为 vim 配一款 Dracula 配色。本博客将详细介绍如何为 vim 配置暗系主题 Dracula。 一、安装 Dracula 在 Dracula 的官网其实已经给出了关于如何在 vim 中配…