MySQL主从复制最全教程(CentOS7 yum)

news2024/11/18 7:30:54

 一、MySQL主从复制介绍

(1)MySQL数据库默认是支持主从复制的,不需要借助于其他的技术,我们只需要在数据库中简单的配置即可

(2)MySQL主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能。就是一台或多台MySQL数据库从另一台MySQL数据库进行日志的复制,然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。MySQL主从复制是MySQL数据库自带功能,无需借助第三方工具。

(3)二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但是不包括数据查询语句。此日志对于灾难时的数据恢复起着极其重要的作用,MySQL的主从复制, 就是通过该binlog实现的。默认MySQL是未开启该日志的。

(4)简单来说就是一台服务器中的mysql数据库根据另一台服务器中的mysql数据库的日志文件进行分析然后执行sql语句进行数据复制。


二、使用yum命令安装MySQL

1、下载命令(必须要先下载wget:  yum install wget)

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

2、yum源安装命令(若不行,可以去其他地方查找切换)

rpm -ivh mysql57-community-release-el7-9.noarch.rpm

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

3、使用yum命令安装mysql

yum -y install mysql-server

4、启动mysql

systemctl start mysqld

5、检查是否安装启动成功

systemctl status mysqld

6、查看默认密码

grep 'temporary password' /var/log/mysqld.log

7、登录

mysql -u root -p

8、修改密码

因为5.7及以上版本的数据库对密码做了强度要求,默认密码的要求必须是大小写字母数字特殊字母的组合且至少要8位长度

ALTER USER 'root'@'localhost' IDENTIFIED BY '新的密码';

9、允许远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

10、如仍然无法访问则需关闭防火墙或者开放3306端口访问权限

firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开放端口

firewall-cmd --zone=public --remove-port=3306/tcp --permanent #关闭端口

firewall-cmd --reload   # 配置立即生效

firewall-cmd --zone=public --list-ports    #查看防火墙所有开放的端口

systemctl stop firewalld.service    #关闭防火墙

 三、主从配置

1.提前准备两台服务器,并且在服务器中安装MySQL,服务器的信息如下:

 

数据库IP地址数据库版本
Master192.168.119.1335.7.25
Slave192.168.119.1345.7.25

2.将数据库启动起来,并且登录:

systemctl start mysqld
mysql -u root -p

3.主库Master配置(192.168.119.133):

        (1)使用exit退出mysql后,修改MySQL数据库的配置文件/etc/my.cnf, 增加后记得:wq!退出

vi /etc/my.cnf

log-bin=mysql-bin
server-id=200

        说明:log-bin=mysql-bin   #[必须]启用二进制日志;server-id=200   #[必须]服务器唯一ID(唯一即可) 

        (2)然后重启mysql:

systemctl restart mysqld

        (3)再次登录mysql,执行如下指令,创建用户并授权:

GRANT REPLICATION SLAVE ON *.* to 'buliangshuai'@'%' identified by 'Root@123456';

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

        (4) 接着执行下面SQL,记录下结果中FilePosition的值:

show master status;

 上面sql的作用是查看Master的状态,执行完此sql后不要再执行任何操作!!!

 4.从库Slave配置(192.168.119.134):

        (1) 修改MySQL数据库的配置文件/etc/my.cnf

vi /etc/my.cnf

server-id=201

         (2)然后重启mysql:

systemctl restart mysqld

        (3) 登录MySQL数据库,设置主库地址及同步位置:

change master to master_host='192.168.119.133',master_user='buliangshuai',master_password='Root@123456',master_log_file='mysql-bin.000002',master_log_pos=445;
 
start slave;

        参数说明:

                A. master_host : 主库的IP地址

                B. master_user : 访问主库进行主从复制的用户名(上面在主库创建的)

                C. master_password : 访问主库进行主从复制的用户名对应的密码

                D. master_log_file : 从哪个日志文件开始同步(上述查询master状态中展示的有)

                E. master_log_pos : 从指定日志文件的哪个位置开始同步(上述查询master状

                 态中展示的有)

         (4) 查看从数据库的状态

show slave status\G;

然后通过状态信息中的 Slave_IO_running 和 Slave_SQL_running 可以看出主从同步是否就绪,如果这两个参数全为Yes,表示主从同步已经配置完成。

四、测试是否同步

 

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

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

相关文章

在Docker里安装FastDFS分布式文件系统详细步骤

安装需要的软件包 yum install -y yum-utils 设置yum源 yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo 安装docker yum install -y docker-ce 查看docker版本验证安装是否成功 docker -v 启动docker systemctl start d…

C++ 实用指南

C 发展得非常快!例如,C 标准的页数从 C98/03 的 879 页增加到了 C20 的 1834 页,多了近 1000 页!更重要的是,C 每次修订后,我们都会获得几十个新特性。你需要学习所有这些东西才能写出好代码吗?…

【计算机毕业设计】旅游网站ssm源码

下载链接:https://download.csdn.net/download/licongzhuo/87051535https://download.csdn.net/download/licongzhuo/87051535 一、系统截图(需要演示视频可以私聊) 摘 要 随着人民生活水平的提高,旅游业已经越来越大众化,而旅游业的核心是信息,不论是…

Redis数据结构之——跳表skiplist

写在前面 以下内容是基于Redis 6.2.6 版本整理总结 一、跳表(skiplist) 如何理解跳表?在了解跳表之前,我们先从普通链表开始,一点点揭开跳表的神秘面纱~ 首先,普通单链表来说,即使链表是有序…

第2-3-4章 上传附件的接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss

文章目录5.3 接口开发-上传附件5.3.1 接口文档5.3.2 代码实现5.3.3 接口测试5.3 接口开发-上传附件 第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令 第2-1-3章 docker-compose安装FastDFS,实现文件存储服务 第2-1-5章 docker安装MinIO实现文件存储服务-springboot整合minio…

MindMaster思维导图及亿图图示会员 超值获取途径

MindMaster思维导图及亿图图示会员 超值获取途径 会员九折优惠方法分享给大家!如果有需要,可以上~ 以下是食用方法: MindMaster 截图 亿图图示 截图 如果需要MindMaster思维导图或者亿图图示会员,可按照如下操作领取超值折扣优惠…

SaaS系统平台赋能大健康产业互联网变革,助力企业提升市场占有率

当前,数字化浪潮正在重塑大健康产业。随着全国多个重要省市的数字医疗、数字医保等措施正火热展开,我国大健康产业的数字化转型进程正在提速,这也为新一轮的行业洗牌带来新的发展机遇。 大健康产业数字化转型痛点:传统医疗信息化…

消息队列之kafka

1.先部署zookeeper集群 2.了解zookeeper 分布式服务系统框架:存储业务服务节点的元数据及状态信息并 负责通知zookeeper上注册服务节点给客户端 一、Zookeeper 概述 官方下载地址:archive.apache.org/dist/zookee… 1.1 Zookeeper 定义 Zookeeper…

使用KNN进行手写体识别和iris数据集分类

文章目录手写体识别iris数据集分类手写体识别 首先使用load_digits将数据加载,这里的数据集有1797个样本,前1384个训练数据而后面的413个样本作为测试集,每个数据集中的样本是8*8像素的图像和一个[0, 9]整数的标签。紧接着输出64个样本的图像…

【Egg从基础到进阶】二:安装本地Mysql

什么是数据库: 数据库是用于将数据持久化存储的一个容器,并且在这个容器处于云端,而不是像游览器的本地存储一样,数据只是针对你当前所在游览器。游览器的存储是一对一的。而线上数据库的存储是一对多的,或者是多对多的…

被欧美公司垄断近 20 年,中国工业软件的机会在哪里?

【CSDN 编者按】工业软件,又被称之为是现代工业体系的“大脑”。近年来,在政府、企业、从业者等各方的齐心协力之下,中国工业软件市场规模不断壮大,逐渐成为“制造大国”。然而,站在全球的角度来看,相较一些…

使用小程序制作一个飞机大战小游戏

此文主要基于微信小程序制作一个飞机大战小游戏,上手即用,操作简单。 一、创建小程序二、页面实现三、代码块一、创建小程序 访问微信公众平台,点击账号注册。 选择小程序,并在表单填写所需的各项信息进行注册。 在开发管理选择开…

rancher部署nginx服务

前言:目前主流的开发模式是前后端分离,前端也会单独打包进行部署,一般就是把前端打包好的文件放到nginx目录下,和nginx一起部署,最终通过nginx来访问。 通用的dockerfile文件,用来构建nginx镜像 FROM ngi…

如何从测试新手变成测试大牛

如何从测试新手变成测试大牛,作为一个刚入行的测试新手,如何让自己提升自身能力,变成一个无所不能的测试大牛,本文将从多个方面来告诉你努力的方向,希望能帮助到你。 一:扎实的测试理论知识 作为一个测试人&#xff0…

nvcc编译器之编译内幕(chapter 23)

目录 2. 编译阶段(步骤) 2.1 NVCC预定义宏 2.2 NVCC编译步骤 2.3 NVCC支持的文件后缀 2.4 支持的编译阶段 3. CUDA 编译内幕 2. 编译阶段(步骤) 2.1 NVCC预定义宏 __NVCC__ 在编译C/C/CUDA源文件时定义 __CUDACC__ 在编译…

[附源码]java毕业设计教师教学评价系统

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

java之你真正了解抽象类和接口嘛?

🎇🎇🎇作者: 小鱼不会骑车 🎆🎆🎆专栏: 《java练级之旅》 🎓🎓🎓个人简介: 一名专科大一在读的小比特,努力学习编程是我…

Nexus私服仓库Linux、Windows部署教程

Nexus 概述 Nexus 是 Sonatype 公司发布的一款仓库(Repository)管理软件,常用来搭建 Maven 私服,所以也有人将 Nexus 称为“Maven仓库管理器”。 主流的 Maven 仓库管理器主要有以下 3 种:Apache Archiva、JFrog Arti…

软考信息安全工程师案列分析

1.第一题 1.动态存储区,分配存储空间和释放存储空间 3.让argv[]中的第9个字符是十进制65即可。 4.缓冲区溢出漏洞,使用安全的strcpy函数,检测边界 第二题 第三题 1.保证M完整性 不能交换,先hash摘要可以减少加密的计算量。 2.实现…

STM8S系列基于STVD开发,自定义printf函数+TIM5精确延时函数模块化工程示例

STM8S系列基于STVD开发,自定义printf函数TIM5精确延时函数模块化工程示例🎬功能演示 ✨本例也是结合了网络上收集来的printf自定义内容,将其功能模块化,方便移植使用,灵活性很强。 📚相关篇内容《STM8S903…