• 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;

  • 相关阅读:
    TensorBoard中HISTOGRAMS和DISTRIBUTIONS图形的含义
    Ubuntu中百度网盘BaiduPCS-Go的安装及简单使用
    IDEA滚轮控制字体大小
    IDEA插件搜索失败
    VSCode生成HTML代码模板
    linux中nohup运行python程序无后台输出
    PyTorch余弦学习率衰减
    查看pip缓存路径
    《算法笔记》阅读笔记
    数据库课程资料
  • 原文地址:https://www.cnblogs.com/GrapefruitTea/p/10231133.html
Copyright © 2020-2023  润新知