单机服务器docker搭建mysql5.7主从同步
创始人
2024-03-03 16:24:42
0

1.首先使用docker安装mysql5.7

        docker pull mysql:5.7

2.创建主库(从3306映射一个3308端口)

        docker run -d -p 3308:3306 -v /home/mysql-master/conf:/etc/mysql/conf.d -v /home/mysql-master/data:/var/lib/mysql -v /home/mysql-master/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 --name  mysql-master mysql:5.7

3.配置主库的my.cnf配置文件。如下图路径

 

[mysqld] 

## 设置server_id,同一局域网中需要唯一

server_id=101

## 指定不需要同步的数据库名称

binlog-ignore-db=mysql  

## 开启二进制日志功能

log-bin=mall-mysql-bin  

## 设置二进制日志使用内存大小(事务)

binlog_cache_size=1M  

## 设置使用的二进制日志格式(mixed,statement,row)

binlog_format=mixed

## 二进制日志过期清理时间。默认值为0,表示不自动清理。

expire_logs_days=7  

## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。

## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致

slave_skip_errors=1062

4.重启master(docker restart mysql_master)

5.进入主库的容器(docker exec-it name值 /bin/bash)值使用docker ps查看

6.查看mysql IP (docker restart mysql_master,gateway列如果为空说明配置错误,需重新部署)

7.进入到mysql创建一个同步数据的账号(擦婚媾建账号注意’’)

CREATE USER 'slave'@'%' IDENTIFIED BY '123456';

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

先把master主库当前状态查出(记住file和position的值)

8.创建从库

docker run -d -p 3309:3306 -v /home/mysql-salve/conf:/etc/mysql/conf.d -v /home/mysql-salve/data:/var/lib/mysql -v /home/mysql-salve/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 --name  mysql-salve mysql:5.7

9.配置从库my.cnf,如下图路径 

[mysqld] 

## 设置server_id,同一局域网中需要唯一

server_id=102

## 指定不需要同步的数据库名称

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

10.重启从库容器(docker restart mysql_salve)

11.在从库mysql里配置主从同步(执行一下语句,master_log_file对应主库查出的file,master_log_pos对应主库的position值)

Change master to master_host='172.17.0.1',master_user='slave',master_password='123456',master_port=3307,master_log_file='mall-mysql-bin.000002',master_log_pos=154,master_connect_retry=30;

如果上面执行错误:

先停止主节点:stop slave;reset master;

再次执行上面从库配置语句,然后执行start slave;

12.配置成功后执行,show slave status\G查看状态,如下图,双YES则成功

                 接下来就可以用数据库远程工具开始测主从同步的效果吧!

相关内容

热门资讯

*ST惠程[002168]关于... 本版导读 2025-12-23 2025-12-23 2025-12-23 2025...
一次性信用修复政策实施,哪些人... 为支持信用受损但积极还款的个人高效便捷重塑信用,助力经济持续回升向好,12月22日,中国人民银行对外...
美国民主党籍州总检察长就资金问... 来源:金十数据 12月23日,据华尔街日报报道,由多名民主党籍州总检察长组成的联盟周一提起诉讼,试图...
日本多名教职人员因性暴力或性犯... 据日本文部科学省22日公布的数据,日本2024财年(2024年4月至2025年3月)共有281名公立...
山西一网友发布疑似看守所监控视... 山西一网友发布疑似看守所监控视频,房间内有多人身着统一蓝色制服,还有一人戴着脚镣;警方称此类视频禁止...
《郑州市中医药发展促进条例》全... 【大河财立方消息】郑州市人民代表大会常务委员会公告,《郑州市中医药发展促进条例》已经郑州市第十六届人...
【行业观察】 政策护航 公募R... 戴丹苗(国信证券经济研究所分析师) REITs(不动产投资信托基金)在中国经历了从私募到公募,从债性...
关于《河南省烟草专卖管理条例(... 主任、各位副主任、秘书长、各位委员: 2025年7月,省十四届人大常委会第十八次会议对《河南省烟草专...
日本文部科学省:281名教职人... 中新网12月23日电 据日本广播协会(NHK)等日媒报道,当地时间22日,日本文部科学省表示,日本2...
涉及网约车、电梯……“法规体检... 12月22日,全国人大常委会法工委关于2025年备案审查工作情况的报告提请全国人大常委会会议审议。在...