docker mysql8 主从

8 篇文章 0 订阅
4 篇文章 0 订阅

创建主库

docker run -d -p 3306:3306 --restart=always --name my-mysql \
-v /etc/localtime:/etc/localtime \
-v /data/docker/mysql/my.cnf:/etc/mysql/my.cnf \
-v /data/docker/mysql/log:/var/log/mysql \
-v /data/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0

创建从库

docker run -d -p 33060:3306 --restart=always --name my-mysql-slave0 \
-v /etc/localtime:/etc/localtime \
-v /data/docker/mysql-slave0/my.cnf:/etc/mysql/my.cnf \
-v /data/docker/mysql-slave0/log:/var/log/mysql \
-v /data/docker/mysql-slave0/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0

分别配置主从节点的my.cnf

  • 在[mysqld]下,,不要配错,主从不能一样,配完重启
server_id = 99
lower_case_table_names=1
  • 主从复制配置
##连接主节点

#查询server_id 主从节点不能一样(是下划线!!!)
SHOW VARIABLES LIKE 'server_id';

##创建同步用户,并授权
CREATE USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;

#查询binlog日志文件,和文件的位置
SHOW MASTER STATUS;

##连接从节点

#同样serverid不能一样
SHOW VARIABLES LIKE 'server_id'; 

##stop 或者reset 从节点
STOP SLAVE;
RESET SLAVE ;

## 指定主节点的binlog文件和位置
CHANGE MASTER TO
MASTER_HOST='172.17.0.1',
MASTER_PORT=3306,
MASTER_LOG_FILE='binlog.000036',
MASTER_LOG_POS=156;

##开始主从复制
START SLAVE USER='repl' PASSWORD='123456';

##查看从节点复制状态
SHOW SLAVE STATUS;

测试吧。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值