mysql8 主从配置方案

先理论,后实践!在理论的基础上有指导性的实践会更快,也更容易发现错误.理论参考高性能mysql这本书,之前大概看过一遍,但实际生产中并没有怎么注意mysql性能这方面,今天用到主备,就把第十章的复制拿出来学习一下,并做好汇总记录.

概述

     复制解决的基本问题是让一台服务器的数据与其他服务器保持同步,mysql支持两种同步,一是基于行的复制和二是基于语句的复制,两种方式都是通过主库上记录二进制日志.

     mysql复制大部分是向后兼容的,复制不会增加主库的开销,主要是启用二进制日志带来的开销,也就是网络I/O的开销.

工作原理

    复制分为三个步骤:

  1. 在主库上把数据更改记录到二进制日志中
  2. 备库将主库上的日志复制到自己的中继日志中
  3. 备库读取中继日志中的事件,将其重放到备库数据之上

具体配置

  • 环境介绍

          三台虚拟机:192.168.5.201      hostname:centos01

                                  192.168.5.202     hostname:centos02

                                  192.168.5.203     hostname:centos03

 

  • 主服务器具体配置

 

        三台主机中,我们把201作为主服务器,在主服务器上的配置如下:      

1./etc/my.cnf  里配置
    server-id=201
    log_bin=testMSback #名字自己起
2.mysql 里配置 
   mysql -uroot -p
   use mysql;
   create user 'repl'@'192.168.5.%' identified with 'mysql_native_password' by 'your pwd';
   grant replication slave on *.* to 'repl'@'192.168.5.%';
3.查看master的状态
 show master status;  

  • 从服务器的具体配置

         202、203上的配置如下:  

            

1./etc/my.cnf 
     server-id=202
     log_bin=testMSback 
----------------------------------
     server-id=203
     log_bin=testMSback
2.mysql里的配置
  change master to master_host='192.168.5.201',master_user='repl',master_password='your pwd', master_log_file='testMSback.000003',master_log_pos=1578;
3.开启从服务器
start slave;
show slave status;

 

 

    


        当看到上面的两个yes,就是成功了。

 

遇到的问题就是slave_io_Running:connecting,怎么也成不了yes,原因就是登陆用户的权限有问题,好在都解决了。

mysql的日志:

 

posted on 2019-04-22 22:30  Java挖掘机  阅读(469)  评论(0编辑  收藏  举报

导航