• MySql配置主从


    Mysql主从配置

    MySQL主从介绍

    • MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的

    • MySQL主从是基于binlog的,主上须开启binlog才能进行主从。

    • 主从过程大致有3个步骤

      1)主将更改操作记录到binlog里

      2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里中继日志

      3)从根据relaylog里面的sql语句按顺序执行

    • 主上有一个log dump线程,用来和从的I/O线程传递binlog

    • 从上有两个线程,其中I/O线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句落地

    MySQL主从原理图

    image-20210312103359799

    MySQL主从配置

    • vi /etc/my.cnf编辑配置文件

      • basedir = /usr/local/mysql
        datadir = /data/mysql
        port = 3306
        server_id = 130
        socket = /tmp/mysql.sock
        log_bin=linux1
        
    • /etc/init.d/mysqld restart重启mysql服务

    • ll /data/mysql/查看

      • image-20210312103616594
    • 添加环境变量 vim /etc/profile 添加

      • export PATH=$PATH:/usr/local/mysql/bin
        
      • source /etc/profile刷新配置

    • mysqldump -uroot mysql > /tmp/mysql.sql导出mysql的数据信息

    • mysql -uroot -e "create database kei"创建数据库kei

    • mysql -uroot kei < /tmp/mysql.sql将mysql的数据导入kei数据库中

    • 进入数据库执行 grant replication slave on *.* to 'repl' @192.168.207.130 identified by '123456';创建用作同步数据的用户并赋予权限,IP地址为从节点的地址(replication是MySQL非常出色的一个功能,该功能将一个MySQL实例中的数据复制到另一个MySQL实例中。)

    image-20210312084236191

    • flush tables with read lock; 将表锁住 保持数据不变

      • image-20210312084013858
    • show master status; 查看主机状态

    image-20210312084050151

    从配置

    • vi /etc/my.cnf

      • basedir = /usr/local/mysql
        datadir = /data/mysql
        port = 3306
        server_id = 131
        socket = /tmp/mysql.sock
        
      • /etc/init.d/mysqld restart 重启mysql服务

    scp 主的ip+文件目录  本机接收目录
    
    • scp /tmp/mysql.sql root@192.168.37.13:/tmp/ 在主上执行将tmp/mysql.sql文件复制到从机上

    image-20210312091944317

    • mysql -uroot -e "create database kei"创建一样的数据库

    • mysql -uroot kei < /tmp/mysql.sql导入一样的数据库

    • mysql -uroot stop slave;停止slave服务

    • 进入数据库(没有密码)(698861为show master status;中的大小

      • change master to master_host='192.168.37.12',master_user='repl',master_password='123456',master_log_file='linux1.000001',master_log_pos=698861;
        
      • start slave;

    • show slave statusG

    • image-20210312101809934

    • unlock tables;在主上执行 解锁表

    检验主从配置是否正常

    • 使用命令进行测试 主 从同时执行

    mysql> use kei;

    mysql> show tables;

    mysql> select count(*) from db;

    • 主上操作,删除数据 mysql> truncate table db;

    image-20210312092241861

    image-20210312103130847

    image-20210312103107056

  • 相关阅读:
    aspcms产品详情页调取相关产品
    构造函数中返回一个对象对结果有什么影响
    跨域的几种方法及案例代码
    localStorage兼容方案
    H5 拖放事件详解
    由作用域安全的构造函数想到的
    valueOf和toString的区别
    网页布局--自适应
    【MongoDB系列】简介、安装、基本操作命令
    【JavaWeb】之Servlet
  • 原文地址:https://www.cnblogs.com/zgrey/p/14522665.html
Copyright © 2020-2023  润新知