码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 使用docker容器搭建MySQL主从复制


    1、拉取mysql镜像

    docker pull mysql
    
    • 1

    2、创建主节点docker容器

    docker run --name mysql-master -p 3306:3306 -v /root/docker/mysql/master:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql
    
    • 1

    创建从节点docker容器

    docker run --name mysql-slave -p 3307:3306 -v /root/docker/mysql/slave:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql
    
    • 1

    这里通过挂载目录的方式使mysql的配置文件生效。然后,分别在两个节点导入数据库user_db。

    3、在/root/docker/mysql/master下创建主节点的配置文件mysql.cnf

    [mysqld]
    log-bin=mysql-bin  # 启用二进制日志
    server-id=1   # 服务器唯一ID,可以任意设置,但必须唯一
    binlog-ignore-db=mysql  # 不要复制的数据库
    binlog-ignore-db=information_schema
    binlog-ignore-db=performance_schema
    binlog-ignore-db=sys
    binlog-do-db=user_db     # 要复制的数据库名
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    注意,mysql的配置文件开头要加上[mysqld],我就是一开始没加这个东西导致配置怎么改都不生效,浪费了很多时间。这里设置了复制数据库user_db。重启容器,使配置生效。

    4、在/root/docker/mysql/slave下创建从节点的配置文件mysql.cnf

    [mysqld]
    server-id=2
    relay-log=mysql-relay
    
    • 1
    • 2
    • 3

    重启容器,使配置生效。

    5、使用客户端连接主节点,执行如下命令

    show master status
    
    • 1

    查看节点状态
    在这里插入图片描述
    在从节点执行如下命令

    change master to 
    master_host='192.168.182.128',master_port=3306, master_user='root',master_password='123456',
    master_log_file='mysql-bin.000003',master_log_pos=157;
    
    • 1
    • 2
    • 3

    实现复制。其中,master_log_file和master_log_pos分别对应上图中的File和Position。

    6、在从节点执行

    start slave
    
    • 1

    开启复制。执行

    show slave status
    
    • 1

    查看复制状态,
    在这里插入图片描述
    在这里插入图片描述
    出现两个Yes,说明主从复制已经搭建完成。
    尝试向主节点的表中添加记录,会自动复制到从节点上。

  • 相关阅读:
    Springboot中上一个定时任务没执行完,是否会影响下一个定时任务执行分析及结论
    华为智能企业上网行为管理安全解决方案(1)
    前端获取ip地址判断国家请求不同baseUrl
    Java读取Excel并生成Word&PDF
    【AI】PyTorch入门(一):通过Anaconda安装PyTorch,并总结张量TENSORS
    基于K7的PXI&PXIe数据处理板(Kintex-7 FMC载板)
    clickhouse 如何使用SQL 管理用户和角色
    【Amazon】云上探索实验室—了解 AI 编程助手 Amazon Codewhisperer
    Prompt实战优化
    node socket.io
  • 原文地址:https://blog.csdn.net/woshihedayu/article/details/126079465
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号