MySQL8主从配置

Posted GrapefruitTea

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL8主从配置相关的知识,希望对你有一定的参考价值。

最近在看mysql的主从配置,罗列一下过程。

一、环境介绍

  我使用的是两个MySQL8.0.13Windows版,Master和Slave安装的在一个机器上,Master库的端口为3306,Slave库的端口为3308。

二、简单原理

  如下图,Master库会将数据更新写入二进制日志(log-bin)中。Slave库会有一个I/O线程读取二进制日志并写入自己的relay日志中。同时Slave库会有一个读取、处理SQL的线程,将relay日志中的SQL更新到Slave库中。

  

 

三、配置过程

  1.首先需要安装两个MySQL数据库,个人在使用过程中,碰到一个坑。一天电脑上使用命令行连接的时候,一定要指定端口,如:mysql -u root -p -P3308。2

  2.在所选择的Master数据库中配置(my.ini/my.cnf):

  server_id = 1

  #打开二进制日志
  log-bin = master-bin 
  log-bin-index = master-bin.index

  3.在master库中创建供slave库连接的用户,并授权。

  //127.0.0.1是Slave设备的地址,123456是用户密码。

      //如果主从数据库不在一个服务器上,假如配置成192.168.0.%,这里%表示通配符,代表192.168.0.0-192.168.0.255的Slave库都可以repl用户登录Master服务器。

  create user \'repl\'@\'127.0.0.1\' identified by \'123456\' ;
  //配置slave库的地址,slave库以用户repl访问时赋予的权限REPLICATION SLAVE  
  GRANT REPLICATION SLAVE ON *.* TO \'repl\'@\'127.0.0.1\';

  4.在slave数据库中配置(my.cnf/my.ini):

  server_id = 2
  relay-log = slave-relay-bin
  relay-log-index = slave-relay-bin.index

  5.在slave库中配置连接的master库的地址、端口、口令、master日志文件等。

  change master to master_host=\'127.0.0.1\',master_port=3306,master_user=\'repl\',master_password=\'123456\',master_log_file=\'master-bin.000001\',master_log_pos=0;

 

以上是关于MySQL8主从配置的主要内容,如果未能解决你的问题,请参考以下文章

mysql8.0主从配置

配置:mysql8 主从搭建

MySQL8主从配置

win10上安装mysql8 并配置主从复制

mysql8.0主从复制配置(超详细)

记一次MySQL8.0.17主从复制的配置过程