centeros下 基于docker的mysql主从搭建

该博客详细介绍了如何在两台CentOS主机上使用Docker部署MySQL的主从复制。首先,分别在主从机上创建目录、拉取镜像并启动容器。然后,在主机上创建复制用户并配置my.cnf文件,设置server-id和log-bin。接着,停止并重启容器,查看主库状态。在从机上,配置复制源并启动同步线程。最后,验证主从复制是否成功。整个过程涉及Docker、MySQL的配置及主从复制原理。
摘要由CSDN通过智能技术生成
centos主机:192.168.0.202
centos从机:192.168.0.203
一、主从都执行以下步骤
1.创建好文件夹 mysql
2.cd  mysql
3.docker 拉取mysql镜像,5.7 
  docker pull mysql 
4.主机运行容器
   docker run -p 3306:3306 --name mysql -v /mnt/sdc/data/mysql/logs:/var/log/mysql -v /mnt/sdc/data/mysql/data:/var/lib/mysql -v /mnt/sdc/data/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=sytgkmysql4321 -d mysql:5.7
5.从机运行容器
    docker run -p 3306:3306 --name mysql -v /mnt/sdc/data/mysql/logs:/var/log/mysql -v /mnt/sdc/data/mysql/data:/var/lib/mysql -v /mnt/sdc/data/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=sytgkmysql4321 -d mysql:5.7
6.进入主机mysql配置
   docker exec -it mysql-main /bin/bash
7.使用root进入mysql: mysql -uroot -p  (注意从机不用执行这步)
  # 创建一个账号
  CREATE USER 'master'@'192.168.0.%' IDENTIFIED WITH    mysql_native_password BY '123456';
  # 给予复制权限
  GRANT REPLICATION SLAVE ON *.* TO 'master'@'192.168.0.%';

8.修改etc/mysql/my.cnf 文件(无法vim,参考 99.安装vim:①先执行 apt-get update ②在进行 apt-get install vim
10.增加这两行
  server-id = 1
  log-bin=mysql-bin
  
  
11.增加后这样,从机也一样增加,只不过从机 server-id = 2

在这里插入图片描述

12.停止主从容器,重启容器
 docker  stop mysql-master
 docker  stop mysql-slave
 
 docker  start mysql-master
 docker  start mysql-slave
 
13.登录进主mysql容器,通过mysql查看当前状态
   show master status;

在这里插入图片描述

14.登入从机mysql执行如下
①连接主机账号密码,开始位置信息
  CHANGE MASTER TO MASTER_HOST='192.168.0.202',MASTER_USER='master',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=156;
②开启同步线程进行复制
  start slave;
③查看主从复制状态
  show slave status\G  
 如下两个都为yes 则成功;

在这里插入图片描述

测试:!!!

在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值