gball个人知识库
首页
基础组件
基础知识
算法&设计模式
  • 操作手册
  • 数据库
  • 极客时间
  • 每日随笔
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 画图工具 (opens new window)
关于
  • 网盘 (opens new window)
  • 分类
  • 标签
  • 归档
项目
GitHub (opens new window)

ggball

后端界的小学生
首页
基础组件
基础知识
算法&设计模式
  • 操作手册
  • 数据库
  • 极客时间
  • 每日随笔
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 画图工具 (opens new window)
关于
  • 网盘 (opens new window)
  • 分类
  • 标签
  • 归档
项目
GitHub (opens new window)
  • 操作手册

  • maven

  • 部署

    • mysql

      • 一台linux服务器安装多个mysql服务
      • mysql主从复制
    • git

    • 工具包

    • 测试

    • docker

    • chatgpt

    • 工具与部署
    • 部署
    • mysql
    ggball
    2022-03-16

    mysql主从复制

    # (1)创建用户

    启动主MySQL服务器,登入主MySQL客户端,在主服务器上创建复制数据的账号并授权:

    # 登录主mysql客户端
    mysql> mysql -S /opt/software/mysql/3306/tmp/mysql_3306.sock -p 
    
    mysql> grant replication slave on *.* to 'slave'@'%' identified by 'mysql@123';
    
    1
    2
    3
    4

    创建一个MySQL用户,该用户是主服务器专门给从服务器拷贝数据用的

    注意:该语句可完成授权、创建用户、修改密码操作

    # (2)重置主服务器状态

    • 查看主服务器状态:

      mysql> show master status;
      +------------------+----------+--------------+------------------+-------------------+
      | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
      +------------------+----------+--------------+------------------+-------------------+
      | mysql-bin.000001 |      430 |              |                  |                   |
      +------------------+----------+--------------+------------------+-------------------+
      1 row in set (0.00 sec)
      
      1
      2
      3
      4
      5
      6
      7
      • 默认的mysql主服务器默认初始值:
        • File:mysql-bin.000001
        • Position:154
    • 如果主服务状态不是初始状态,需要重置状态:

      reset master;
      
      1

    # (3)重置从服务器状态

    • 查看从服务器状态

      # 登录从mysql
      mysql -S /opt/software/mysql/3307/tmp/mysql_3307.sock -p 
      # 查看从服务器状态
      show slave status;
      
      1
      2
      3
      4
      • 初始状态:Empty set
    • 如果从服务器不是初始状态,建议重置一下

      stop slave; 	#停止复制,相当于终止从服务器上的IO和SQL线程
      reset slave;
      
      1
      2
    • 设置从服务器的master,在从服务器客户端执行:

      • master_host:主服务器ip
      • master_port:主服务器端口
      • master_user,master_password:2.4.1中创建的专门执行主从复制的用户名和密码
      • master_log_file:2.4.2中查出的File值
      • master_log_pos:2.4.2中查出的Position值,如果主服务器是初始值的话,就是154
      change master to master_host='127.0.0.1',master_user='slave',
      master_port=3306,master_password='mysql@123',
      master_log_file='mysql-bin.000001',master_log_pos=154;
      
      1
      2
      3
    • 在从机器上执行开始复制命令:

      start slave;
      
      1

    # (4) 验证

    • 在从服务器的客户端执行以下命令:

      • \G:表示格式化输出
      show slave status \G;
      
      1

      显示结果: 在这里插入图片描述 注意:如果 Slave_IO_Running 和 Slave_SQL_Running 均为 YES,则表示主从关系正常

    • 在主服务器上创建数据库、表、数据,然后在从服务器上查看是否已经复制

    • 查看主从复制binlog日志文件内容: 在主服务器客户端执行:

      show binlog events in 'mysql-bin.000001'\G;
      
      1

      查看结果: 在这里插入图片描述

    上次更新: 2025/06/04, 15:06:15
    一台linux服务器安装多个mysql服务
    git指令

    ← 一台linux服务器安装多个mysql服务 git指令→

    最近更新
    01
    AIIDE
    03-07
    02
    githubActionCICD实战
    03-07
    03
    windows安装Deep-Live-Cam教程
    08-11
    更多文章>
    Theme by Vdoing
    总访问量 次 | 总访客数 人
    | Copyright © 2021-2025 ggball | 赣ICP备2021008769号-1
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    ×

    评论

    • 评论 ssss
    • 回复
    • 评论 ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
    • 回复
    • 评论 ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
    • 回复
    ×