MySQL8.0配置主从复制,实现减少读取数据库的压力。

1、主从数据库的作用

其中Master负责写操作的负载,也就是说一切写的操作都在Master上进行,而读的操作则分摊到Slave上进行。这样一来的可以大大提高读取的效率。在一般的互联网应用中,经过一些数据调查得出结论,读/写的比例大概在 10:1左右 ,也就是说大量的数据操作是集中在读的操作,这也就是为什么我们会有多个Slave的原因。但是为什么要分离读和写呢?熟悉DB的研发人员都知道,写操作涉及到锁的问题,不管是行锁还是表锁还是块锁,都是比较降低系统执行效率的事情。我们这样的分离是把写操作集中在一个节点上,而读操作其其他的N个节点上进行,从另一个方面有效的提高了读的效率,保证了系统的高可用性。

2、主从配置之前的须知

MySQL主从复制要求版本最好一致,至少前两个版本号相同,因为官方推荐这样,最主要还是怕版本不一致带来的不兼容问题。
首先注意的是,搭建好一台虚拟机Centos7的MySQL,以及你本机的MySQL,我这里是用本机MySQL作为主,用虚拟机作为从,此篇教程略过搭建系统和MySQL的过程,直接讲配置。

3、主服务器MySQL版本8.0.19

在这里插入图片描述

4、从服务器MySQL版本8.0.20

在这里插入图片描述

5、修改主服务器MySQL的my.cnf配置文件

主服务器MySQL的具体的三项配置,保存之后记住重启MySQL。

#skip-networking  
  
  # Replication Master Server (default)  
  # binary logging is required for replication  
  log-bin=mysql-bin  
    
    # binary logging format - mixed recommended  
    binlog_format=mixed  
      
      # required unique id between 1 and 2^32 - 1  
      # defaults to 1 if master-host is not set  
      # but will not function as a master if omitted  
      server-id   = 131  

在这里插入图片描述
在这里插入图片描述

6、修改从服务器MySQL的my.cnf配置文件

从服务器MySQL的具体的三项配置,保存之后记住重启MySQL。

log_bin=mysql-bin
binlog_format=mixed
server_id = 104

在这里插入图片描述
在这里插入图片描述

7、在主库的MySQL创建用于复制操作的用户
##创建用户
CREATE USER 'Slave1'@'192.168.62.131' IDENTIFIED WITH mysql_native_password BY 'Slave_xiaoxuan123';

在这里插入图片描述

##给用户授权
GRANT REPLICATION SLAVE ON *.* TO 'Slave1'@'192.168.62.131';

在这里插入图片描述

##刷新权限信息
flush privileges;

在这里插入图片描述

8、获取文件名和位置
SHOW MASTER STATUS;

在这里插入图片描述

9、在从(Slave)库设置参数
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.104',
MASTER_USER='Slave1',
MASTER_PASSWORD='Slave_xiaoxuan123',
MASTER_LOG_FILE='mysql-bin.000006',
MASTER_LOG_POS=870;

在这里插入图片描述

10、查看主从同步状态
show slave status\G;

在这里插入图片描述

11、开启主从同步
start slave;
12、再次查看
show slave status\G;

在这里插入图片描述

13、在主库创建数据库进行测试
##创建名为xiaoxuan的数据库进行测试
Create database xiaoxuan;

在这里插入图片描述
在这里插入图片描述

14、去从库看看会不会产生xiaoxuan的数据库

在这里插入图片描述

15、注意事项

每次主服务器,重新启动MySQL后,position参数位置需要改变,也就是上面的第9步的最后一位参数需要改变,当然ip地址也是一样,如果服务器ip地址经常性修改,则也要修改,不过这种情况很少,重启MySQL的情况比较多。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值