栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker实现mysql主从复制

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker实现mysql主从复制

  1. 下载并运行容器
docker pull mysql:5.7
sudo docker run --name mysql_write_1 -p 33061:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
sudo docker run --name mysql_read_1 -p 33062:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
  1. 修改etc/mysql/my.cnf,因为这一步需要在mysql容器中安装vim还需要很多步骤,且要在多个mysql中安装,所以我采取在本机编写后复制黏贴覆盖掉原本的my.conf文件
[mysqld]
log-bin=slave-bin
server-id=2
# 设置需要复制的数据库(可设置多个)
binlog-do-db=testdb
[mysqld]
log-bin=slave-bin
server-id=2
# 设置需要复制的数据库(可设置多个)
binlog-do-db=testdb
docker cp C:Users28673Desktopmy.cnf mysql_write_1:etc/mysql
docker cp C:Users28673Desktopmy.cnf mysql_read_1:etc/mysql
  1. 进入容器赋予权限
#进入容器
sudo docker exec -it mysql_write_1 bash
#登录mysql
mysql -u root -p123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; #修改加密规则 
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; #修改密码加密策略 
flush privileges; #刷新权限
quit
exit
#进入容器
sudo docker exec -it mysql_read_1 bash
#登录mysql
mysql -u root -p123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; #修改加密规则 
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; #修改密码加密策略 
flush privileges; #刷新权限
quit
exit
  1. 进入主服务器查询状态信息
#进入主服务器查看状态
show master status;
  1. 进入从服务器配置主从关系
    master_log_file和master_log_pos是主服务器查询到的状态信息
#从服务器配置主从关系
change master to master_host='172.24.240.1',master_port=33061,master_user='root',master_password='123456', master_log_file='master-bin.000001',master_log_pos=154;
#保存
start slave;
#查看是否成功
show slave status G;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/641960.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号