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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • redis 6379端口不通解决方法「建议收藏」

    redis 6379端口不通解决方法「建议收藏」1.reids服务器的6379端口telnet不通2. 查看reids进程和端口,都是存在的。只是ip地址是127.0.0.1而不是0.0.0.0,只是本机能使用3.查找redis的配置文件redis.conf 使用命令:find/-nameredis.conf 4.查找bind127.0.0.1所在的行数  使用命令:cat/usr/local/re…

    2022年5月9日
    155
  • Redis学习笔记–Redis数据过期策略详解

    Redis学习笔记–Redis数据过期策略详解

    2021年11月3日
    46
  • ViewPager获取当前显示的View[通俗易懂]

    ViewPager获取当前显示的View[通俗易懂]//获取-vp当前childpublicstaticViewgetCurChild_vp(ViewPagervp){intchildCnt=vp.getChildCount();inttotalCnt=vp.getAdapter().getCount();intcurItem=vp.getCurrentItem();inttarg

    2022年7月22日
    38
  • R-L模型算法的优缺点_审计重要性特征

    R-L模型算法的优缺点_审计重要性特征1.特征重要性的意义LR模型也就是逻辑回归模型,作为一个简单的常用的模型,其有非常多的有点,除了模型简单,容易实现分布式,还有一个重要的优点就是模型的可解释性非常好。因为每个特征都对应一个模型参数wiw_{i}wi​,该参数越大,那么该特征对模型预测结果的影响就会越大,我们就说该特征就越重要,因此LR模型的特征重要性评估方式就是wiw_{i}wi​的大小。2.逻辑回归模型特征重要性及排序Ta…

    2022年10月8日
    0
  • Linux:Tomcat部署war包

    Linux:Tomcat部署war包1、xftp上传Tomcat2、解压Tomcat:tar-zvxf文件unzip文件等解压命令3、将war包放在Tomcat中的webapps目录下(如果webapps中有任何其他war包或解压后的文件都需要删除)4、修改以上穿过去的文件的拥有者(非root用户下时)5、查看需要使用的端口的占用情况(ro…

    2022年10月28日
    0
  • Android Handler机制 – MessageQueue如何处理消息[通俗易懂]

    Android Handler机制 – MessageQueue如何处理消息[通俗易懂]一次trouble-shooting最近在查看应用的线上日志统计时,发现一个MessageQueue.nativePollOnce()的记录,具体信息如下:atandroid.os.MessageQueue.nativePollOnce(Nativemethod)atandroid.os.MessageQueue.next(MessageQueue.java:325…

    2022年10月26日
    0

发表回复

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

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