学习大数据DAY52 Docker中的Mysql主从配置

2024-09-05 02:12

本文主要是介绍学习大数据DAY52 Docker中的Mysql主从配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Mysql 数据库主从同步

上机练习

1 容器生成命令
压缩包获取镜像
docker image load -i /root/mysql.tar
创建并开启两个镜像:
docker run --name mysql1 -d -p 3333:3306 \
-v /opt/mysql1/conf:/etc/mysql/conf.d/ \
-v /opt/mysql1/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
mysql:5.7
docker run --name mysql2 -d -p 3334:3306 \
-v /opt/mysql2/conf:/etc/mysql/conf.d/ \
-v /opt/mysql2/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
mysql:5.7
2 主服务器配置
配置第一个服务器
cd /opt/mysql1
添加并编辑配置文件:
vim my.cnf 输入以下内容:
#修改主服务配置文件:vim /etc/my.cnf
[mysqld]
#主服务器唯一 ID
server_id=1
#启用二进制日志
log-bin=mysql-bin
#上面两行最重要,下面的可以不配置# 设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#设置需要复制的数据库 需要复制的主数据库名字
binlog-do-db=test
#设置 logbin 格式 Row、Statement、Mixed
binlog_format=STATEMENT
# Disabling symbolic-links is recommended to prevent assorted security
risks 关闭配置外存储
symbolic-links=0
3 从服务器配置
跟上面类似的操作:
cd /opt/mysql2
cd conf/
vim my.cnf
输入以下内容:
# 修改从服务配置文件: vim /etc/my.cnf
# 主服务器唯一 ID
[mysqld]
server-id = 2
# 启用二进制日志
relay-log = relay-bin
log-bin = mysql-bin# 上面两行最重要,下面的可以不配置 # 设置不要复制的数
据库 ( 可设置多个 )
# read_only=1
# 从服务器只读
slave-skip-errors = 1032,1062,1007,1050
4 验证
重启两台服务器: docker restart mysql1
docker restart mysql2
进入 主服务器 配置
进入容器
docker exec -it mysql1 bash
进入 mysql
mysql -uroot -proot
create user 'worker'@'%' identified by 'root';
grant replication slave,replication client on *.* to 'worker'@'%';
退出后进入 mysql2
docker exec -it mysql2 bash
mysql -uroot -proot
输入:
CHANGE MASTER TO MASTER_HOST='172.17.0.2',
MASTER_USER='worker',
MASTER_PASSWORD='root',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=154;
重启
start slave;
验证:
show slave status \G;

这篇关于学习大数据DAY52 Docker中的Mysql主从配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1137678

相关文章

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作