Mysql Docker 主从配置

Mysql Docker 主从配置


操作系统:Windows10 使用的MySQL8.0的docker镜像

总览

前置环境说明

    首先在系统中起了一个MySQL8.0的docker镜像,并在其中插入了初始数据,容器名就叫mysql(视为主库),从库在主从分离前还没有启动

    操作日志如下:

# 拉取MySQL8.0版本镜像并启动,监听在3306端口,设置root用户密码为root
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_ROOT_HOST=% -d mysql:latest

    其中使用了脚本,自动生成了表和插入数据,下面有脚本链接,可进行点击查看:

数据导入导出

    这里不使用脚本对从库进行初始化,而是从主库中导出数据,导入到从库中

    注意:如果主库有在使用,需要停掉相关的使用程序,或者对主库进行加锁

    操作日志如下:

# 首先从主库中备份数据到本地(在sh中提前进入准备好的目录)
docker exec mysql /usr/bin/mysqldump -u root --password=root test > backup.sql

# 运行一个新的mysql,作为从库
docker run --name mysql_bk1 -p 3309:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_ROOT_HOST=% -d mysql:latest

# 新开的数据启动可能需要点时间,请耐心等候,使用下面的命令可以看到mysql的运行日志,运行到新的日志内容就说明准备就绪了,可以进行使用
docker logs -f mysql_bk1
# /usr/sbin/mysqld: ready for connections. Version: '8.0.22'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.

# 进入到新开的数据库中,建立数据库test
docker exec -ti mysql_bk1 mysql -u root -p
create database test;

# Ctrl-D退出,执行下面的命令导入数据到新开的mysql中,这个需要花费好几分钟,请耐心等待;当然也可以docker cp backup.sql文件到容器中,然后连上数据库使用source backup.sql
cat backup.sql | docker exec -i mysql_bk1 /usr/bin/mysql -u root --password
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值