当前位置: 首页 > news >正文

docker 实现mysql主从同步

docker 实现mysql主从同步

创建主服务器容器

以mysql5.7为例

docker pull mysql:5.7 #拉取mysql5.7镜像 ​ docker run -p 3307:3306 --name mysql1-master \ -v /mydata/mysql1-master/log:/var/log/mysql \ -v /mydata/mysql1-master/data:/var/lib/mysql \ -v /mydata/mysql1-master/conf:/etc/mysql/conf.d \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7 #创建容器名为mysql1-master 映射端口为3307 本地为3306 的容器 ​ docker exec -it mysql1-master /bin/bash #进入容器 ​ mysql -uroot -p #进入mysql1-master 密码是root ​ #在主库创建同步账户slave: CREATE USER 'slave2'@'%' IDENTIFIED BY '123456'; #添加账户权限: GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%'; #刷新权限 FLUSH PRIVILEGES; ​

创建从服务器容器

docker run -p 3308:3306 --name mysql1-slave \ -v /mydata/mysql1-slave/log:/var/log/mysql \ -v /mydata/mysql1-slave/data:/var/lib/mysql \ -v /mydata/mysql1-slave/conf:/etc/mysql/conf.d \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7 #创建从服务器 docker run -p 3309:3306 --name mysql1-slave2 \ -v /mydata/mysql1-slave2/log:/var/log/mysql \ -v /mydata/mysql1-slave2/data:/var/lib/mysql \ -v /mydata/mysql1-slave2/conf:/etc/mysql/conf.d \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7 docker run -p 3310:3306 --name mysql1-slave3 \ -v /mydata/mysql1-slave3/log:/var/log/mysql \ -v /mydata/mysql1-slave3/data:/var/lib/mysql \ -v /mydata/mysql1-slave3/conf:/etc/mysql/conf.d \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7

从服务器的配置文件如下(在/mydata/mysql1-slave/conf下,没有就 vim /mydata/mysql1-slave/conf/my.cnf)

[mysqld] ## 设置server_id,同一局域网中需要唯一,如果有多个slave库,请保证该id不同 server_id=2 ## 指定不需要同步的数据库名称 binlog-ignore-db=mysql ## 开启二进制日志功能,以备Slave作为其它数据库实例的Master时使用 log-bin=mall-mysql-slave1-bin ## 设置二进制日志使用内存大小(事务) binlog_cache_size=1M ## 设置使用的二进制日志格式(mixed,statement,row) binlog_format=mixed ## 二进制日志过期清理时间。默认值为0,表示不自动清理。 expire_logs_days=7 ## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。 ## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致 slave_skip_errors=1062 ## relay_log配置中继日志 relay_log=mall-mysql-relay-bin ## log_slave_updates表示slave将复制事件写进自己的二进制日志 log_slave_updates=1 ## slave设置为只读(具有super权限的用户除外) read_only=1

修改完配置后重启slave实例 docker restart <容器实例名>

配置多个从服务器时,建议在相应的配置稳健性下写一个配置文件

vim /mydata/mysql1-slave2/cnf/server_id.cnf [mysqld] server-id = 2 #此处server-id与上面的my.cnf里的server_id相对应

在master 中查看同步状态

position 那一栏相当于从库连接主库的一个验证码,会随时间变动,建议配置slave中主从配置时,先查看msater中的同步状态

show master status; mysql> show master status \G *************************** 1. row *************************** File: mall-mysql-bin.000001 Position: 10747 Binlog_Do_DB: Binlog_Ignore_DB: mysql Executed_Gtid_Set: 1 row in set (0.00 sec) mysql>

在slave中配置主从复制

mysql> change master to master_host='192.168.75.134', master_user='slave',master_password='123456',master_port=3307, master_log_file='mall-mysql-bin.000001',master_log_pos=769,master_connect_retry=30; ​ ​ ​ #master_host master主机地址 #master_user 主从连接的用户名 #master_password 主从连接的密码 #master_host master的端口 #master_log_file master的bin-log文件 #master_log_pos master数据同步的位置

这一整段中没有回车

show slave status \G; #查看 #重点查看Slave_IO_Running Slave_SQL_Running 是否都是YES

此时可以在主库建库建表,在从库查看是否同步

http://www.jsqmd.com/news/899488/

相关文章:

  • 2026实测横评:抖音视频怎么保存到相册?这四款AI去水印小程序让我彻底告别画质焦虑 - 科技热点发布
  • 5G微电网能源管理:联合负载控制与能源共享优化策略解析
  • 2026年GEO优化AI搜索服务商权威推荐:苏州制造企业数字化获客首选 - 资讯纵览
  • 衡阳旧房改造哪家专业
  • Origin 2017 2018 从零到精通:完整安装、激活与配置实战指南
  • 深度解析:基于 Docker 部署与 GB28181/RTSP 统一接入的跨平台 AI 视频管理系统(附源码交付与边缘计算架构设计)
  • 基于深度学习的裂缝检测系统(YOLOv8+YOLO数据集+UI界面+Python项目+模型)
  • Explore with Long-term Memory:基于多模态大语言模型与强化学习的具身探索框架
  • 信号分析~FFT
  • 2026论文全流程终极榜单:10款AI智能降重工具, 合规修正一路顺畅
  • 窗帘品牌加盟考察关键要点清单!_米兰软装_扶持_保障 - 资讯纵览
  • 群体智能优化算法驱动的多行程车辆路径问题优化算法【附代码】
  • EndNote进阶:解锁中文作者拼音姓名在英文参考文献中的完整显示
  • 2026系统分析
  • 抖音实况动图去水印实测:2026年AI横评6款工具,帮你还原纯净Live Photo - 科技热点发布
  • 最新版MATLAB(R2025b)软件安装步骤
  • 【Python 实战解析】巧用 utf-8-sig 编码,彻底攻克 Excel 打开 CSV 文件乱码难题
  • 2026年5月全国TPU薄膜优选供应商榜单:鞋材“隐形冠军”星达,如何用27年打造“中国梦工厂”? - 资讯纵览
  • token不够? 试试轻度智能 文本行为分析 + 概率预测 二合一工具
  • 从2的0次方到256次方:一张表看懂计算机的“二进制宇宙”
  • 2026年 消化内镜清洗消毒设备/二氧化碳送气泵/高频电刀/送水装置等内镜配套设备与耗材厂家推荐榜单:专业医疗品牌深度解析及选购指南 - 品牌企业推荐师(官方)
  • 2026 年主流短信供应商对比 - 资讯纵览
  • 释放被锁住的音乐:QMCDecode让你的QQ音乐文件重获自由
  • 终极百度网盘下载加速方案:Python命令行工具突破限速瓶颈
  • 5分钟搭建微信群消息自动转发系统:告别手动复制的烦恼
  • 每年花百万买CATIA?通过许可优化,某车企如何在不增加采购下提升30%利用率
  • 【算法实现与优化 44】从分治到蝶形运算:图解FFT与IFFT的迭代与递归实现
  • 保姆级横评!如何下载视频号的视频到手机相册?2026年这7个方法实测告诉你哪个最靠谱 - 科技热点发布
  • 【.NET】集成SqlSugar实现仓储模式
  • GraphRAG【部署 01】Linux环境安装部署GraphRAG并使用Ollama本地大模型