当前位置: 首页 > news >正文

docker建多个mysql_在Linux下使用Docker-compose建立多个数据库

1.在一个文件夹下建立docker-compose.yml文件

vim docker-compose

2.编写docker-compose文件内容

#版本号

version: "3"

services:

#主数据库

mysql-master:

#镜像

image: mysql:5.7.22

restart: always

#名称(可以为空)

hostname: mysql-master

#容器名称

container_name: mysql_master

#端口号

ports:

- 3316:3306

#环境变量

environment:

MYSQL_ROOT_PASSWORD: root

TZ: Asia/Shanghai

#挂载文件

volumes:

- ./master/mysql/data:/var/lib/mysql

- ./master/mysql/log:/var/log/mysql

command:

#id唯一

--server_id=100

--log-bin=mysql-master-bin

--sync_binlog=1

--binlog-ignore-db=mysql

--binlog_format=mixed

--expire_logs_days=7

--default-authentication-plugin=mysql_native_password

--character-set-server=utf8mb4

--collation-server=utf8mb4_general_ci

--explicit_defaults_for_timestamp=true

--lower_case_table_names=1

links:

- mysql-slave-read

mysql-slave-read:

image: mysql:5.7.22

restart: always

hostname: mysql-slave-read

container_name: mysql-slave-read

ports:

- 3317:3306

environment:

MYSQL_ROOT_PASSWORD: root

TZ: Asia/Shanghai

volumes:

- ./slave/mysql/data:/var/lib/mysql

- ./slave/mysql/log:/var/log/mysql

command:

--server_id=200

--read_only=1

--binlog-ignore-db=mysql

--default-authentication-plugin=mysql_native_password

--character-set-server=utf8mb4

--collation-server=utf8mb4_general_ci

--explicit_defaults_for_timestamp=true

--lower_case_table_names=1

mysql-slave-back:

image: mysql:5.7.22

restart: always

hostname: mysql-slave-back

container_name: mysql-slave-back

ports:

- 3318:3306

environment:

MYSQL_ROOT_PASSWORD: root

TZ: Asia/Shanghai

volumes:

- ./slave-back/mysql/data:/var/lib/mysql

- ./slave-back/mysql/log:/var/log/mysql

command:

--server_id=300

--log-bin=slave-back-bin

--default-authentication-plugin=mysql_native_password

--character-set-server=utf8mb4

--collation-server=utf8mb4_general_ci

--explicit_defaults_for_timestamp=true

--lower_case_table_names=1

3.使用docker ps 指令查看容器是否运行

docker ps

如果配置文件没有改动的话使用docker ps指令会看到如下图所示:

2faa67a7eb2f

4.使用数据库软件连接容器指定的端口 (注意主从端口)

连接三个数据库,如失败,请查看云服务器端口是否开启,本地失败,请重新操作

5.连接数据库间的主从关系

主表

#在数据库软件中进行指令操作

#提供访问的账号与密码

grant replication slave on *.* to 'root'@'%' identified by 'root';

#执行操作锁指令

flush tables with read lock

#展示主库的状态(请记下File与Position的值)

show master status;

#解锁

UNLOCK TABLE

从表

#建立主从关系

change master to master_host=#'IP地址',

master_user='slave',

master_password=#'访问密码',

master_port=#'主库端口',

master_log_file=#'File的值',

master_log_pos=#'Position的值'

#开启复制

start slave

#停止复制

stop slave

#展示连接状态

show slave status

在展示连接时看到下图就说明连接成功了

2faa67a7eb2f

tip:

执行锁操作后是无法进行更新的指令,所以记得解锁

相关文章:

  • 平安科技java在线考试_都有哪些开源的在线考试系统?
  • java clone性能比较_Java深度拷贝方式和性能对比
  • 老黄历java_基于聚合数据的老黄历接口调用示例-JAVA版
  • java properties api_【001】java中配置文件properties的操作
  • java 获取代码line_linedemo.java
  • java spring 加载顺序_java编程之如何控制springboot中bean的加载顺序
  • java注册用户信息_界面设计之注册用户信息
  • java 解析der文件_[Java]读取文件方法大全
  • java中成员变量的分类_Java基础—变量分类、类与对象
  • java语言字符串代码_JAVA语言实现字符串排序的代码教程
  • java findcontour_cvFindContours获取轮廓数目和轮廓图像
  • java if 没有_使用if语句时,为什么我的代码没有给出正确的答案? - java
  • php时间格式转换成时间戳,php时间格式转换成时间戳的方法
  • echarts php 数据处理,PHP 使用Echarts生成数据统计报表详解
  • conv php,php metaphone()函数及php localeconv() 函数实例解析
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Angular Elements 及其运作原理
  • Angularjs之国际化
  • create-react-app项目添加less配置
  • Hibernate【inverse和cascade属性】知识要点
  • quasar-framework cnodejs社区
  • React Transition Group -- Transition 组件
  • Unix命令
  • vue学习系列(二)vue-cli
  • 爱情 北京女病人
  • 复杂数据处理
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 驱动程序原理
  • 三分钟教你同步 Visual Studio Code 设置
  • nb
  • 你对linux中grep命令知道多少?
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​人工智能书单(数学基础篇)
  • ## 基础知识
  • #AngularJS#$sce.trustAsResourceUrl
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #stm32整理(一)flash读写
  • #微信小程序:微信小程序常见的配置传旨
  • (007)XHTML文档之标题——h1~h6
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (pojstep1.3.1)1017(构造法模拟)
  • (超详细)语音信号处理之特征提取
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (转)【Hibernate总结系列】使用举例
  • (转)Google的Objective-C编码规范
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • **CentOS7安装Maven**
  • .htaccess 强制https 单独排除某个目录
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • @在php中起什么作用?
  • [ Algorithm ] N次方算法 N Square 动态规划解决