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的情况比较多。

16、遇到困难可以评论(有信必回)小轩微信17382121839

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章