springboot多数据源配合docker部署mysql主从实现读写分离

本文详细介绍了如何使用Docker在Windows上部署MySQL主从复制,以及如何在SpringBoot项目中配置多数据源实现读写分离。步骤包括Docker中创建MySQL主从实例、设置主从复制的账号权限、配置主从复制参数以及验证主从复制效果。同时,文章还讲解了SpringBoot应用中进行主从数据源切换的配置和切面控制,以实现数据库的读写分离。
摘要由CSDN通过智能技术生成

本篇主要有两部分:

  • 1、使用docker部署mysql主从 实现主从复制

  • 2、springboot项目多数据源配置,实现读写分离

一、使用docker部署mysql主从 实现主从复制

此次使用的是windows版本docker,mysql版本是5.7

  • 1、使用docker获取mysql镜像

docker pull mysql:5.7.23 #拉取镜像文件

docker images #查看镜像文件

查看镜像文件

  • 2、使用docker运行mysql master

docker run --name mysql-master --privileged=true -v F:\dockerV\mysql:/var/lib/mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=654321 -d mysql:5.7.23

    • --name 容器名称mysql-master

    • --privileged 指定了当前容器是否真正的具有root权限,所谓的root权限是指具有宿主机的root权限,而不仅仅只是在容器内部有root权限

    • -v 将系统的F:\dockerV\mysql挂载到容器的/var/lib/mysql,注意是将宿主机 挂载到 容器内部,而不是将容器内部挂载到宿主机

    • -p 表示宿主机上的某个端口映射到docker容器内的某个端口,这里也就是将宿主机的3307端口映射到容器内部的3306端口

    • -e 表示指定当前容器运行的环境变量,该变量一般在容器内部程序的配置文件中使用,而在外部运行容器指定该参数。这里的MYSQL_ROOT_PASSWORD表示容器内部的MySQL的启动密码

    • -d 后台运行,镜像文件为mysql:5.7.23

  • 接下来进入容器内部,修改配置,使其作为mysql master运行

docker exec -it mysql-master bash #进入容器内部

进入容器内部

  • 配置mysql master,修改mysql.cnf

修改mysql.cnf

  • 使用vim修改mysql.cnf,没有安装vim会提示bash: vi: command not found 则需要安装vim

apt-get install vim

apt-get update

apt-get install vim

vim mysqld.cnf #修改cnf文件,添加 server-id 表示master服务标识,同一局域网内注意要唯一 和 log-bin=mysql-bin 开启二进制日志功能,可以随便取,用来完成主从复制

修改cnf文件

  • 修改完成mysql的配置后,需要重启服务生效

service MySQL restart # 重启mysql服务时会使得docker容器停止,我们还需要docker start mysql-master启动容器</

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值