Mysql实现主从复制(环境搭建)

本文介绍如何使用Docker部署MySQL主从复制环境,包括下载MySQL镜像、创建及配置MySQL实例、设置主从复制等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载mysql镜像

docker pull mysql:5.7

创建Mysql实例并启动

通过下面命令创建两个mysql,master、slave

docker run -p 3310:3306 \
--name mysql --restart always \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=MASTER2021@mysql.com \
-d mysql:5.7

Master添加配置

vi /usr/local/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection=utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
server_id=10
log-bin=mysql-bin
read-only=0
binlog-do-db=test
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema

授权用户来同步数据

1.进入mysql容器

docker exec -it mysql bash

2.进入mysql内部(mysql -u root -p)
1)、添加用来同步的用户

create user 'slave'@'%' identified by 'SLAVE2021@mysql.com';
grant replication slave on *.* to 'slave'@'%';

2)、添加远程访问

create user 'test'@'%' identified by 'test@test.com';
grant all privileges on *.* to 'test'@'%';

3.查看master状态

show master status;

slave同步数据

change master to master_host='192.168.111.200',master_user='slave',master_password='SLAVE2021@mysql.com',master_log_file='mysql-bin.000002',master_log_pos=0,master_port=3406;
start slave;
show slave status;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值