Docker一行命令安装MySQL

2024-08-26 18:12

本文主要是介绍Docker一行命令安装MySQL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 前言

在Linux系统中安装MySQL数据库是一件繁琐的事情,经常遇到各种问题,浪费大量时间。Docker的出现很好的解决这个问题,下面然我们来学习如何在Docker中用一行命令安装MySQL。

2 安装Docker

这里以CentOS系统为例,步骤非常简单。更多安装方法请访问:官方安装文档。
在这里插入图片描述

2.1 卸载老版本

sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

2.2 安装yum

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

2.3 安装docker

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2.4 启动docker

sudo systemctl start docker

3 安装MySQL

1 创建一个本地目录,用于映射容器内的MySQL数据文件。docker本质上是一个虚拟容器,一旦容器被销毁,所有数据都会被删除,因此需要一个本地目录来保存容器内的MySQL数据文件。

mkdir -p /home/mysql57/

2 使用Docker命令安装MySQL,如果本地没有mysql:5.7的镜像,会自动下载安装,等待完成即可,如下图,一行命令就安装成功了。

docker run -d --name mysql57 --network=host --restart=always --privileged=true -v /home/mysql57/data:/var/lib/mysql -v /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

在这里插入图片描述 3 命令讲解

# -d 后台运行mysql容器
# --name mysql57:创建的容器名称
# --network=host:容器直接使用宿主机的网络,配置本项后-p参数无效,会直接占用宿主机的端口
# -p 33066:3306:指定宿主机端口与容器端口映射关系
# --restart=always:总是跟随docker启动
# --privileged=true:获取宿主机root权限
# -v /home/mysql57/data:/var/lib/mysql:挂载文件,宿主机目录 : 容器目录
# -v /etc/localtime:/etc/localtime:ro :让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。
# -e MYSQL_ROOT_PASSWORD=123456:环境变量传参
# mysql:5.7 启动的镜像名称

4 连接MySQL

4.1 查看容器在这里插入图片描述

docker ps -a

4.2 进入容器,设置远程连接

在这里插入图片描述

# 进入mysql容器
docker exec -it <container_id> /bin/bash
# 进入mysql
mysql -uroot -p
# 允许root远程连接
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'YOUR_PASSWORD' WITH GRANT OPTION;
# 刷新权限
mysql> flush privileges;

4.3 远程连接

如下图,连接成功。
在这里插入图片描述

5 删除容器

如图,删除容器后,安装的MySQL就不存在了,但是本地映射的数据文件夹仍然存在,不会造成数据丢失。可以再次安装MySQL并映射该目录,就可以继续使用之前的数据了。

docker stop mysql57
docker rm mysql57

在这里插入图片描述

这篇关于Docker一行命令安装MySQL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109303

相关文章

Win安装MySQL8全过程

《Win安装MySQL8全过程》:本文主要介绍Win安装MySQL8全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Win安装mysql81、下载MySQL2、解压文件3、新建文件夹data,用于保存数据库数据文件4、在mysql根目录下新建文件my.ini

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi

MySQL重复数据处理的七种高效方法

《MySQL重复数据处理的七种高效方法》你是不是也曾遇到过这样的烦恼:明明系统测试时一切正常,上线后却频频出现重复数据,大批量导数据时,总有那么几条不听话的记录导致整个事务莫名回滚,今天,我就跟大家分... 目录1. 重复数据插入问题分析1.1 问题本质1.2 常见场景图2. 基础解决方案:使用异常捕获3.

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

SQL中redo log 刷⼊磁盘的常见方法

《SQL中redolog刷⼊磁盘的常见方法》本文主要介绍了SQL中redolog刷⼊磁盘的常见方法,将redolog刷入磁盘的方法确保了数据的持久性和一致性,下面就来具体介绍一下,感兴趣的可以了解... 目录Redo Log 刷入磁盘的方法Redo Log 刷入磁盘的过程代码示例(伪代码)在数据库系统中,r

mysql中的group by高级用法

《mysql中的groupby高级用法》MySQL中的GROUPBY是数据聚合分析的核心功能,主要用于将结果集按指定列分组,并结合聚合函数进行统计计算,下面给大家介绍mysql中的groupby用法... 目录一、基本语法与核心功能二、基础用法示例1. 单列分组统计2. 多列组合分组3. 与WHERE结合使

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT

Mysql如何解决死锁问题

《Mysql如何解决死锁问题》:本文主要介绍Mysql如何解决死锁问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录【一】mysql中锁分类和加锁情况【1】按锁的粒度分类全局锁表级锁行级锁【2】按锁的模式分类【二】加锁方式的影响因素【三】Mysql的死锁情况【1