昏喽喽

vuePress-theme-reco Lio    2020 - 2025
昏喽喽

Choose mode

  • dark
  • auto
  • light
Home
Category
  • CentOS
  • Csharp
  • DataBase
  • DesignMode
  • Vue
  • FrontEnd
  • GLD
  • Kingdee
  • NetWork
Tags
TimeLine
Tools
  • Http请求
  • 日志配置
  • 加密解密
  • 验证码
  • Git命令
About
author-avatar

Lio

103

Articles

15

Tags

Home
Category
  • CentOS
  • Csharp
  • DataBase
  • DesignMode
  • Vue
  • FrontEnd
  • GLD
  • Kingdee
  • NetWork
Tags
TimeLine
Tools
  • Http请求
  • 日志配置
  • 加密解密
  • 验证码
  • Git命令
About
  • 数据库设计
  • 数据库优化
  • NVARCHAR(N)
  • 数据库增删查改
  • 数据表数据类型
  • 数据库时间函数
  • MySQL安装
  • MySQL主从同步搭建
  • SqlServer查询历史死锁/阻塞记录
  • SqlServer数据库统计信息

MySQL主从同步搭建

vuePress-theme-reco Lio    2020 - 2025

MySQL主从同步搭建

Lio 2022-05-02 学习笔记

# 准备

  • 主库与从库数据库版本最好一致

  • 主从数据库内数据保持一致,若不一致,可将从库中所有数据删除,并将主库数据全部导入从库

主库:127.0.0.1:3308

从库:127.0.0.1:3309

从库:127.0.0.1:3310

# 操作

# 主库操作

  • 进入my.ini文件

    [mysqld]
    #开启二进制日志
    log-bin=mysql-bin 
    
    #设置server-id,和从不能一样
    server-id=1 
    
    1
    2
    3
    4
    5
    6
  • 重启mysql服务

  • 登录主库,创建用户并授权

    CREATE USER 'ltmaster'@'127.0.0.1' IDENTIFIED BY 'Lt863370814..';
    
    1
  • 分配权限

    GRANT REPLICATION SLAVE ON *.* TO 'ltmaster'@'127.0.0.1';
    flush privileges;
    
    1
    2
  • 锁表,禁止写入

    flush table with read lock;
    
    1
  • 查看master状态

    show master status;
    
    1

  • 将数据导出,命令一直报错,只能用工具将其导出了

  • 解锁查看binlog日志 位置,没有变化代表锁定成功,从库将从这个binlog位置开始恢复

    unlock table;
    
    1

# 从库操作

# 3309

  • 导入数据,还是使用工具进行导入

  • 修改my.ini文件

    [mysqld]
    #设置server-id,必须唯一
    server-id=2 
    
    1
    2
    3
  • 重启mysql服务

  • 配置同步

    CHANGE MASTER TO MASTER_HOST='127.0.0.1',MASTER_PORT=3308, MASTER_USER='ltmaster', MASTER_PASSWORD='Lt863370814..', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=2895;
    
    # 开启从库
    start slave;
    
    1
    2
    3
    4
  • 查看slave状态

    show slave status
    
    1

# 3310

  • 导入数据,还是使用工具进行导入

  • 修改my.ini文件

    [mysqld]
    #设置server-id,必须唯一
    server-id=3 
    
    1
    2
    3
  • 重启mysql服务

  • 配置同步

    CHANGE MASTER TO MASTER_HOST='127.0.0.1',MASTER_PORT=3308, MASTER_USER='ltmaster', MASTER_PASSWORD='Lt863370814..', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=2895;
    
    # 开启从库
    start slave;
    
    1
    2
    3
    4
  • 查看slave状态

    show slave status
    
    1

# 重置从库

  • 停止已启动的绑定

    stop slave
    
    1
  • 重置绑定

    reset master
    
    1
  • 执行绑定主库的命令