Mysql主从复制的搭建及原理

Mysql主从复制的搭建及原理

在这里插入图片描述

这次来了解一下MySQL的主从复制,为什么要用主从复制?是什么原理?
MySQL的主从复制带来很大的好处首先那就是数据复制的一致性,在生产环境中保证了数据的备份,而且主宕机后,从节点可以也可以保证正常工作,
模式有很多一主一从,一主两从,一主多从等等…
在这里插入图片描述

原理都是一样的:主节点将带有ddl和dml的语句记录到自己的二进制日志bin-log中,然后从节点通过I/O线程将二进制日志获取到自己的中继日志relay-log中,从节点通过sql线程将自己的中继日志relay-log中的命令进行执行,从而实现主从复制结构
本次实验环境两台服务器[一主一从]

服务器IP Centos版本 服务
192.168.2.10 CentOS Linux release 7.6.1810 (Core) MYSQL5.7(主)
192.168.2.20 CentOS Linux release 7.6.1810 (Core) MYSQL5.7(从)

关防火墙/沙盒

systemctl stop firewalld && setenforce 0

先进行安装MYSQL
1.安装MySQL的yum源

wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql57-community-release-el7-11.noarch.rpm

2.安装完成,查看是否安装成功

yum repolist enabled | grep mysql.*

3.可以进行安装mysql了

yum install mysql-community-server

4.安装完成后就可以启动mysql了

systemctl start mysqld.service

5.获取随机密码

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

6.如果想要设置自己的密码简单的话 ,它自带密码检查机制不让你设置简单的进行sql输入设置

mysql -uroot -p
password:刚获取的随机密码
修改默认密码复杂难度
mysql>set global validate_password_policy=0;#设置密码检查策略为0
mysql>set global validate_password_length=1;#设置密码的长度为1

7.进行修改数据库密码

set password for 用户名 @localhost = password('新密码');

8.至此MySQL安装完毕

9.进行主从复制的设置修改配置文件

配置Master主库机器

开启binlog 设置mysql的唯一编号(mysql5.7即更高版本新加参数), 和开启binlog日志 输入vi /etc/my.cnf 进入配置文件,按Insert键进入编辑模式,添加如下参数 server-id=1 (机器的唯一标识) log-bin=/var/lib/mysql/mysql-bin (开启binlog)
在这里插入图片描述

进行mysql重启

systemctl restart mysqld

进入mysql查看binlog是否开启成功
在这里插入图片描述

进入MySQL创建用户并授权

grant replication slave on *.* to 'slave'@'192.168.2.%' identified by '123.com';

//一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如192.168.145.226,加强安全。

注释:如果这条命令报错如下

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
证明密码设置过于简单,需要重新设置策略
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
再去创建用户授权就行了执行刚才的命令
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
#刷新

配置Slave从库机器

vi /etc/my.cnf

在这里插入图片描述
重启MySQL服务

systemctl restart mysqld

查看主服务器状态

在这里插入图片描述

从库服务器MySQL登录,同步配置

mysql> CHANGE MASTER TO MASTER_HOST='192.168.2.10',MASTER_USER='slave',MASTER_PASSWORD='123.com',MASTER_LOG_FILE='master-bin.000001',MASTER_LOG_POS=898;

启动同步

start slave;

查看slave状态,这两项必须为yes

show slave status\G;

在这里插入图片描述

测试一下同步是否成功

在Master上创建一个库Slave能同步
主:
在这里插入图片描述
从:
在这里插入图片描述
测试:从创建库主不同步
从:
在这里插入图片描述
主:没有
在这里插入图片描述
实验完毕!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101946.html原文链接:https://javaforall.net

(0)
上一篇 2021年5月29日 下午8:00
下一篇 2021年5月29日 下午9:00


相关推荐

  • web 前端框架_web后端框架排行

    web 前端框架_web后端框架排行在做web开发的时候难免遇到一个问题,那就是,选择什么样的框架。下面把前端的框架简单的列一下。1、flexApache基金会今天发布了Flex4.8版本,这是Adobe将Flex捐献给Apach

    2022年8月2日
    8
  • CTK插件框架学习4-创建跨平台插件工程「建议收藏」

    CTK插件框架学习4-创建跨平台插件工程「建议收藏」在上一篇博文中已经实现了一个简单的插件和测试程序的编写,但是插件跟应用是分开独立的工程。实际应用开发中需要把相关的库和头文件打包到一个工程中,如下图所示,这样比较方便调试开发,也为创建跨平台工程提供了便利。此节我们将创建一个初步完整的工程,工程文件中包含应用程序以及要使用的各个插件,同时将各个平台编译后的ctk插件库文件也整合到一起。目前支持如下三个平台:系统CPU编译器说明…

    2022年5月20日
    46
  • 数电和模电的理解「建议收藏」

    数电和模电的理解「建议收藏」模电模拟信号:随处可见的自然信号都是模拟信号,模拟信号在时间上和取值上都是连续的,画出来就是一条连续的曲线,可以完全地“模拟”自然信号。模电是指用来对模拟信号进行传输、变换、处理、放大、测量和显示等工作的电路。模拟信号是指连续变化的电信号。模拟电路是电子电路的基础,它主要包括放大电路、信号运算和处理电路、振荡电路、调制和解调电路及电源等。数电数字信号:在时间上和取值上都是不连续的。数字信号存在“采样”,数字信号的值只能在采样点变化。数字信号存在“量化”,数字信号的值只

    2022年6月20日
    50
  • vim 复制粘贴「建议收藏」

    vim 复制粘贴「建议收藏」VIM编辑器1.复制和粘贴整行我们都知道复制的快捷键是“nyy”,粘贴的快捷键是“p”。Tips1.“yy”是复制光标所在行,“nyy”是复制包括光标所在行以及向下的“n-1”行**,一共n行。2.“p”是将已经复制的数据,粘贴在光标所在行的下一行。“P”为粘贴在光标所在行的上一行。2.粘贴和复制一个单词当我们想粘贴一行数据中的某些单词时有一些快捷键如下:yw 复制一个单词(包括单词后面的空白字符)4yl 复制当前光标下的字符、以及后面三个字符,总共四个字符4yh 复制光标前面

    2026年2月19日
    4
  • 深入理解协方差(图文详解)

    深入理解协方差(图文详解)先从方差开始 我们有一组样本 x1 x2 x3 xn 这组样本的均值为 EX 每一个样本都与 EX 之间存在误差 那么这组样本的方差被定义为 所有误差的和的均值 也即 xi EX 2 n 1 方差的作用就是用来 衡量样本偏离均值的程度 下面开始看协方差 仔细观察上述定义式 可知 如果两个变量的变化趋势一致 也就是说如果其中一个大于自身的期望值时另外一个也大于自身的

    2026年3月18日
    1
  • FPGA经典设计:再读正点原子SDRAM控制器

    FPGA经典设计:再读正点原子SDRAM控制器具体见我发在B站上的视频链接:https://www.bilibili.com/video/BV1Dp4y1i7gE.

    2022年7月17日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号