首页 > 数据库 >基于docker容器的MySQL主从设置及efcore读写分离

基于docker容器的MySQL主从设置及efcore读写分离

时间:2022-11-15 23:23:58浏览次数:44  
标签:bin 容器 MySQL master efcore mysql docker 123456

1、基于docker部署MySQL,设置主从
本操作基于已经拉取的镜像(docker pull mysql)

创建一主一从两个数据库容器

docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql-master mysql:8.0.27

docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql-slave1 mysql:8.0.27

进入创建的容器
docker exec -it mysql-master /bin/bash

mysql -u root -p123456

授权
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'

cd /etc/mysql/

编辑my.cnf(容器内需要下载vim apt-get update apt-get install vim)

开启binlog日志

[mysqld]
log-bin=mysql-bin
server-id=2(注意局域网内唯一)

退出容器重启

exit
docker restart mysql-master

再次进入容器
docker exec -it mysql-master /bin/bash
查看files 与 位置记录
show master status;
比如
file='mysql-bin.000001',
position=720,

退出mysql-master容器进入mysql-slave1容器
编辑my.cnf文件加上 server-id=3(注意局域网内唯一)

设置
change master to
master_host='172.17.0.3',
master_user='root',
master_log_file='mysql-bin.000001',
master_log_pos=720,
master_port=3306,
master_password='123456';

开启slave模式
start slave;
查看是否成功
show slave status \G;

ps:查看容器的ip

docker inspect --format='{{.NetworkSettings.IPAddress}}' mysql-master

主从设置成功后开始编写基于efcore的读写分离代码
本片主要是测试用,故没有分层
代码如下
https://files-cdn.cnblogs.com/files/PHBing55/WebApplication1.zip

标签:bin,容器,MySQL,master,efcore,mysql,docker,123456
From: https://www.cnblogs.com/PHBing55/p/16894428.html

相关文章

  • MySQL InnooDB引擎之并发事务问题以及隔离级别的作用和区别
    最近在复习MySQL事务,但网上很多博客和资料可以说讲的不是模棱两可就是只有文字描述不够形象易懂,下面通过我的学习来详细讲一讲事务并发都会引起哪些问题?以及隔离级别是什么......
  • Mysql操作学习总结
    Cmd控制台mysql-uroot-p--连接数据库flushprivileges;--刷新权限showdatabates;--查看所有的数据库use数据库名;--切换数据库showtables;--查看数据......
  • centos7安装mysql及相关配置
    之前帮朋友在centos7安装mysql的时候,由于有些命令和centos6以及其他7的版本有点不一样,所以记录下1、安装推荐安装地址,但要注意下,他推荐的安装方式可以,设置mysql密码的时......
  • mysql 数据恢复 (.ibdata1, bin log)
    测试MySQL主题:两台电脑模拟故障后数据迁移恢复实验环境说明:windowsMySQL5.7版本,两台电脑台式机笔记本电脑1.实验一:数据库文件+ibdata1测试目的:通过拷贝数据库目录......
  • MYSQL ERROR 1146 Table doesnt exist 解析
    原创转载请注明出处源码版本5.7.14在MYSQL使用innodb的时候我们有时候会看到如下报错:ERROR1146(42S02):Table'test.test1bak'doesn'texist首先总结下原......
  • Ubuntu20 配置mysql8,redis
    mysql8安装ubuntu20库中默认的就是8.0版本sudoaptinstallmysql-server安装完成后进入mysql,起始root没有密码mysql-uroot设置root的密码usemysql;ALTERUSER......
  • Docker实用篇
    Docker实用篇0.学习目标1.初识Docker1.1.什么是Docker微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组......
  • MySQL基础
    MySQL基础今日目标:完成MySQL的安装及登陆基本操作能通过SQL对数据库进行CRUD能通过SQL对表进行CRUD能通过SQL对数据进行CRUD1,数据库相关概念以前我们做系统,数......
  • C++动态链接MySQL库
    C++链接MySQL库库安装目录CMakeListcmake_minimum_required(VERSION3.22)project(MySQLConnectionPool)include_directories(/usr/include/mysql) #安装库路径s......
  • MySQL in Windows安装以及异名恢复的简单过程
    下载相关建议获取最新版本的Mysql数据库可以获取zip格式的安装文件https://dev.mysql.com/downloads/mysql/或者获取msi格式的安装文件https://dev.mysql.com/dow......