Docker MySQL 8详解

一、Docker MySQL 8简介

Docker是一种容器化技术,MySQL是一种流行数据库。结合使用Docker和MySQL可以让我们更方便地构建和部署数据库环境。在Docker中,我们可以部署多个MySQL数据库实例,提供完整的测试环境,而不必担心不同版本或配置文件的冲突问题。在本文中,我们将详细讲解如何使用Docker来部署MySQL8。

二、Docker MySQL 8安装

在开始之前,确保您已经安装了Docker和Docker Compose。

1. 下载MySQL8镜像:


docker pull mysql:8

2. 创建一个docker-compose.yml文件:


version: '3'
services:

  db:
    image: mysql:8
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example
    ports:
      - 3306:3306

3. 启动MySQL8:


docker-compose up

4. 连接MySQL8:


mysql -uroot -pexample -h127.0.0.1 -P3306

三、Docker MySQL 8配置

MySQL8的默认配置允许外部访问。为了更好的安全性,我们可以通过修改my.cnf文件来限制只允许本地访问。

1. 创建custom.cnf文件:


[mysqld]
bind-address = 127.0.0.1

2. 修改docker-compose.yml文件:


version: '3'
services:

  db:
    image: mysql:8
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example
    ports:
      - 127.0.0.1:3306:3306
    volumes:
      - ./custom.cnf:/etc/mysql/conf.d/custom.cnf

3. 重新启动MySQL:


docker-compose up

四、Docker MySQL 8备份和恢复

在Docker容器中运行的MySQL数据库需要备份和恢复。我们可以使用mysqldump来备份和恢复MySQL数据库。

1. 备份MySQL:


mysqldump -uroot -pexample mydatabase > mydatabase.sql

2. 恢复MySQL:


mysql -uroot -pexample mydatabase < mydatabase.sql

五、Docker MySQL 8常用命令

1. 显示所有运行中的容器:


docker ps

2. 显示所有的容器:


docker ps -a

3. 启动某个容器:


docker start container_name

4. 停止某个容器:


docker stop container_name

5. 进入某个容器:


docker exec -it container_name bash

6. 移除某个容器:


docker rm container_name

7. 显示所有镜像:


docker images

8. 移除某个镜像:


docker rmi image_name

六、结论

在本文中,我们详细介绍了如何在Docker中部署MySQL8,并进行了一些基本配置、备份和恢复、常用命令等方面的讲解。希望这篇文章能帮助大家更加深入地了解Docker和MySQL的结合使用。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/185422.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-26 12:18
下一篇 2024-11-26 12:18

相关推荐

  • 如何修改mysql的端口号

    本文将介绍如何修改mysql的端口号,方便开发者根据实际需求配置对应端口号。 一、为什么需要修改mysql端口号 默认情况下,mysql使用的端口号是3306。在某些情况下,我们需…

    编程 2025-04-29
  • docker-ce-18.03.1.ce-1.el7.centos.x86_64需要pigz这个依赖的解决方案

    当我们在linux centos系统中安装docker-ce-18.03.1.ce-1.el7.centos.x86_64时,有时可能会遇到“nothing provides pi…

    编程 2025-04-29
  • Python操作MySQL

    本文将从以下几个方面对Python操作MySQL进行详细阐述: 一、连接MySQL数据库 在使用Python操作MySQL之前,我们需要先连接MySQL数据库。在Python中,我…

    编程 2025-04-29
  • MySQL递归函数的用法

    本文将从多个方面对MySQL递归函数的用法做详细的阐述,包括函数的定义、使用方法、示例及注意事项。 一、递归函数的定义 递归函数是指在函数内部调用自身的函数。MySQL提供了CRE…

    编程 2025-04-29
  • MySQL bigint与long的区别

    本文将从数据类型定义、存储空间、数据范围、计算效率、应用场景五个方面详细阐述MySQL bigint与long的区别。 一、数据类型定义 bigint在MySQL中是一种有符号的整…

    编程 2025-04-28
  • MySQL左连接索引不生效问题解决

    在MySQL数据库中,经常会使用左连接查询操作,但是左连接查询中索引不生效的情况也比较常见。本文将从多个方面探讨MySQL左连接索引不生效问题,并给出相应的解决方法。 一、索引的作…

    编程 2025-04-28
  • CentOS 7在线安装MySQL 8

    在本文中,我们将介绍如何在CentOS 7操作系统中在线安装MySQL 8。我们会从安装环境的准备开始,到安装MySQL 8的过程进行详细的阐述。 一、环境准备 在进行MySQL …

    编程 2025-04-27
  • 如何解决Docker+k8s报错413 Request Entity Too Large

    对于使用Docker容器和Kubernetes集群的开发人员,在处理HTTP请求时,常常会遇到413 Request Entity Too Large的报错。这通常是由于请求的大小…

    编程 2025-04-27
  • docker-compose编写用法介绍

    本文将详细介绍docker-compose编写的各个方面,包括语法、常见命令等等,旨在帮助读者更好的了解如何使用docker-compose。 一、docker-compose的语…

    编程 2025-04-27
  • 如何使用MySQL字段去重

    本文将从多个方面为您详细介绍如何使用MySQL字段去重并给出相应的代码示例。 一、SELECT DISTINCT语句去重 MySQL提供了SELECT DISTINCT语句,通过在…

    编程 2025-04-27

发表回复

登录后才能评论