docker mysql8.0 集群主从建立

开启mysql-master (主)

docker run  -p 3306:3306     --name mysql-master
-e MYSQL_ROOT_PASSWORD=109922  
-v /mydata/mysql-master/conf:/etc/mysql/conf.d 
-v /mydata/mysql-master/data:/var/lib/mysql 
-v /mydata/mysql-master/log:/var/log/mysql   
-d mysql:8.0.29

修改配置文件mysql-master (主)

在/mydata/mysql-master/conf 下建立my.conf文件并改写文件

[mysqld]
##全局唯一id
server_id=101
##指定不需要同步的数据库名称
binlog-ignore-db=mysql
##开启二进制日志功能
log-bin=mall-mysql-bin
##设置二进制日志使用内存大小
binlog_cache_size=1M
##二进制日志日志格式(mixed,statement,row)
binlog_format=mixed
##二进制日志过期时间
expire_logs_days=7
##跳过指定错误 1062:selave端复制终端 1032主次数据库不一致
slave_skip_errors=1062`

建立从mysql

docker run  -p 3308:3306     --name mysql-slave
-e MYSQL_ROOT_PASSWORD=109922  
-v /mydata/mysql-slave/conf:/etc/mysql/conf.d 
-v /mydata/mysql-slave/data:/var/lib/mysql 
-v /mydata/mysql-slave/log:/var/log/mysql   
-d mysql:8.0.29

从配置文件

[client]
default_character_set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8

server_id=102
binlog-ignore-db=mysql
#中继日志
log-bin=mall-mysql-bin
binlog_cache_size=1M
binlog_format=mixed
expire_logs_days=7
slave_skip_errors=1062
# 设置只读
read_only=1
#将slave事件写入自己的二进制
log_slave_updates=1

进入从机mysql控制台配置主从同步

在这里插入图片描述
数据库库配置:
主库配置:
创建账号:
create user ‘slave1’@‘%’ identified by ‘slave1’;
授权:
grant all privileges ON . TO ‘slave1’@‘%’;
验证方式修改为上一版的:
ALTER USER slave1@‘%’ IDENTIFIED WITH mysql_native_password BY ‘slave1’;
刷新:
flush privileges;
查看状态
mysql> show master status;

从库配置
master_log_file 对应File
master_log_pos对应Position
change master to master_host=‘192.168.1.102’,master_user=‘slave1’,master_password=‘slave1’,master_log_file=‘mysql-bin.000003’,master_log_pos=1298,master_port=3307;

这里是引用在这里插入图片描述

这里 master_user=‘slave’ 是因为 在主MySQL设置了 一个slave1的用户 ,该用户专门接收从的 数据

start slave;
show slave status \G

主从配置已完成,可以自己测试,在主库中写入数据,到从库中查看数据。

show master status \G;
k-v 键值对产看主从状态

引用原文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值