返回顶部
首页 > 资讯 > 数据库 >docker创建MySQL镜像,搭建主从复制环境
  • 403
分享到

docker创建MySQL镜像,搭建主从复制环境

centoslinuxdocker 2023-09-28 15:09:07 403人浏览 独家记忆
摘要

Docker创建Mysql镜像,搭建主从复制环境 前言一、编写Dockerfile制作mysql镜像编写Dockerfile文件编写mysql_file文件:编写run.sh文件build M

Docker创建Mysql镜像,搭建主从复制环境


前言

学习黑马的mysql时,在主从复制、分库分表、读写分离等阶段需要多台服务器,于是尝试用docker创建镜像搭建主从复制环境。
本文基于Centos7搭建mysql镜像。
参考大佬文章: link


一、编写Dockerfile制作mysql镜像

编写Dockerfile文件

编写mysql_file文件:

由于需要进行编辑操作,所以需要额外下载vim

FROM centos:7RUN yum localinstall -y https://repo.mysql.com//mysql80-commUnity-release-el7-1.noarch.rpmRUN yum install -y yum-utilsRUN yum install -y vimRUN sed -i 's/gpGCheck=1/gpgcheck=0/g' /etc/yum.repos.d/mysql-community.repo && sed -i 's/gpgcheck=1/gpgcheck=0/g' /etc/yum.repos.d/mysql-community-source.repoRUN yum install -y mysql-server mysql mysql-develCOPY run.sh /run.shRUN chmod 777 /run.sh && /run.shEXPOSE 3386CMD ["mysqld","--user=root"]

编写run.sh文件

#! /bin/bashrm -rf /var/lib/mysqlmysqld --initialize-insecurechown -R mysql:mysql /var/lib/mysqlmysqld --user root &sleep 5mysqladmin -u root passWord 123457

build MySQL镜像

docker build -f ./mysql_file -t mybuildsql .

以特权模式运行镜像

docker run -d --name mysql1 --privileged=true mybuildsql /usr/sbin/init

进入容器

docker exec -it mysql1 /bin/bash

在镜像中启动MySQL

mysql -uroot -p123456

至此centos7+MySQL镜像搭建完成,可以使用ifconfig查看ip地址

二、MySQL主从复制搭建

此步骤具体操作可以查看黑马MySQL视频

1、主库配置

主库使用宿主机,从库使用上述创建的MySQL镜像。

关闭防火墙

首先关闭服务器防火墙或者开放3306端口,本文采用关闭服务器防火墙。

systemctl stop firewalld

修改配置文件

在etc/my.cnf中增加以下语句

server-id=1read-only=0

重启MySQL

systemctl restart mysqld

登录MySQL创建远程连接账号

mysql -uroot -pflush privileges;create user 'itcast'@'%';GRANT REPLICATioN SLAVE ON *.* TO 'itcast'@'%';

查看二进制日志坐标

此坐标在配置从库时需要

show master status;

在这里插入图片描述

2、从库配置

进入上述创建的MySQL镜像,并启动MySQL

修改配置文件

在etc/my.cnf中增加以下语句

server-id=2read-only=1

重启MySQL服务

systemctl restart mysqld

进入MySQL设置配置

change replication source to source_host='**.**.**.**',source_user='itcast',source_log_file='mysql-bin.000008',source_log_pos=723;

source_host为主库所在服务器的ip,source_log_file与source_log_pos为之前在主库中查询的二进制日志得到相关信息。

开启同步

start replica;

查看主从同步状态

show replica status;

在这里插入图片描述
配置成功


三、测试

1、主库数据库状态

show databases;

在这里插入图片描述

2、从库数据库状态

show databases;

在这里插入图片描述
开始时主库、从库均只有MySQL的初始数据库。

3、测试

主库创建数据库

create database db01;use db01;create table tb_user(-> id int(11) primary key not null auto_increment,-> name varchar(50) not null,-> sex varchar(1)-> )engine=innodb default charset=utf8mb4;insert into tb_user values(1,'Tom','1'),(2,'Trigger','0'),(3,'Dawn','1');

主库创建数据库并插入数据,从库的数据库同步。

从库查询数据

在这里插入图片描述
从库中数据已同步,同理在主库中修改数据,在从库中也会进行同步,至此数据库的主从复制环境成功搭建。

来源地址:https://blog.csdn.net/qq_45248909/article/details/130008108

您可能感兴趣的文档:

--结束END--

本文标题: docker创建MySQL镜像,搭建主从复制环境

本文链接: https://lsjlt.com/news/420218.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • docker创建MySQL镜像,搭建主从复制环境
    docker创建MySQL镜像,搭建主从复制环境 前言一、编写Dockerfile制作mysql镜像编写Dockerfile文件编写mysql_file文件:编写run.sh文件build M...
    99+
    2023-09-28
    centos linux docker
  • mysql主从复制环境搭建
    mysql 主从第一次我用不同版本mysql做会出不同步问题,建议用相同版本的mysql做主从主my.cnf文件 (192.168.1.64)mysqld模块加入log-bin=mysql-bin 启动二进...
    99+
    2024-04-02
  • Docker搭建Mysql主从复制
    Docker搭建Mysql主从复制 前言 相信我,看完这一篇,mysql主从复制能遇到的错误在我这里都遇到了,docker能遇到的错误在我这里也遇到了,包括centos的错误,看吧,都是成长 do...
    99+
    2023-09-24
    docker mysql 容器 Linux
  • windows版的mysql主从复制环境搭建
    背景 最近在学习用Spring Aop来实现数据库读写分离的功能。 在编写代码之前,首先是要部署好mysql的环境,因为要实现读写分离,所以至少需要部署两个mysql实例,一主一从,并且主从实例之间能够自动同步,因为我的本机内存并不高,所以...
    99+
    2021-12-22
    windows版的mysql主从复制环境搭建
  • MYSQL主从环境搭建
    服务器:192.168.11.131 master192.168.11.132 slave服务器系统# cat /etc/redhat-release CentOS Linux release 7...
    99+
    2024-04-02
  • 新环境搭建Mysql主从
    环境信息: 用途 IP OS Mysql 主 ...
    99+
    2024-04-02
  • Mysql主从复制搭建
    1.mysql主库会把所有的写操作记录在binlog日志中,并且生成log dump线程,将binlog日志传给从库的I/O线程,从库生成两个线程,一个是I/O线程,另外一个是SQL线程。 主将更改操作记录到binlog里从将主的binlo...
    99+
    2020-09-28
    Mysql主从复制搭建
  • mysql真实环境搭建主从
                     &...
    99+
    2024-04-02
  • Redis多实例及主从复制环境搭建
    一、redis主从复制原理 和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的...
    99+
    2024-04-02
  • 如何进行mysql5.7.15 主从复制环境搭建
    本篇文章为大家展示了如何进行mysql5.7.15 主从复制环境搭建,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 ...
    99+
    2024-04-02
  • Docker搭建MySQ主从复制原理
    目录简介使用Docker拉取MySQL镜像查看镜像启动MySQL主从容器配置Master配置Slave开启Master-Slave主从复制简介 通过docker学习主从复制可以节省资...
    99+
    2024-04-02
  • python镜像环境搭建总结
    目录取最小安装包镜像更新问题取最小安装包 使用python-3.7.3-embed-win32,注意对:python37._pth的修改,修改方法: # uncomment_pth....
    99+
    2024-04-02
  • 如何搭建基于Docker的MySQL主从复制
    下文主要给大家带来如何搭建基于Docker的MySQL主从复制,希望这些内容能够带给大家实际用处,这也是我编辑如何搭建基于Docker的MySQL主从复制这篇文章的主要目的。好了,废话不多说,大家直接看下文...
    99+
    2024-04-02
  • Docker搭建MySQL5.7主从复制的实现
    目录1、新建mysql-master主服务器容器实例33072、新建mysql-master主服务器配置文件my.cnf3 重启master实例4 进入mysql-master容器5 master容器实例内创建数据同步用...
    99+
    2022-06-22
    DockerMySQL主从复制 Docker搭建MySQL主从
  • Mysql主从复制搭建过程
    这篇文章主要讲解了“Mysql主从复制搭建过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql主从复制搭建过程”吧! 一、相关概念mysql主从复...
    99+
    2024-04-02
  • 如何搭建mysql主从复制
    搭建mysql主从复制的方法在主从服务器开启时间同步[root@storage  ~]# ntpdate 172.18.0.1主数据库配置使用记事本打开主数据库的my.cnf配置文件,在文件中的[my...
    99+
    2024-04-02
  • mysql主从复制怎么搭建
    要搭建MySQL主从复制,需要按照以下步骤进行操作: 确保主服务器和从服务器上都已安装MySQL。 在主服务器上修改配置文件...
    99+
    2024-04-09
    mysql
  • Centos7.5 生产环境搭建MySQL 5.7主从
    环境:服务器两台:192.168.19.77 4核心,16G内存 内网隔离,不通外网192.168.19.78 4核心,16G内存 内网隔离,...
    99+
    2024-04-02
  • Windows7 x64 环境下 MySQL 5.7.29 主从环境搭建记录
    一、MySQL 主从库安装 1、进入 https://www.mysql.com 后点击DOWNLOADS 进入下载页面。 2、进入下载页面后,选择 MySQL Community(GPL)D...
    99+
    2024-04-02
  • mysql搭建主从复制(一主一从,双主双从)
    主从复制原理 Mysql 中有一个binlog 二进制日志,这个日志会记录下所有修改了的SQL 语句,从服务器把主服务器上的binlog二进制日志在指定的位置开始复制主服务器所进行修改的语句到从服务器上执行一遍。 流程图 搭建一...
    99+
    2016-07-17
    mysql搭建主从复制(一主一从,双主双从)
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作