docker启动mysql并映射数据目录(含备份脚本)

 更新时间:2024年01月04日 15:48:17   作者:潇洒哥Kahn  
本文主要介绍了docker启动mysql并映射数据目录(含备份脚本),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

下面是实现 Docker MySQL 目录映射的步骤,我们将通过一个表格展示:

步骤操作命令/代码说明
1创建数据目录mkdir /path/to/mysql/data在宿主机上创建一个用于存储 MySQL 数据的目录
2启动 MySQL 容器docker run --name mysql -v /path/to/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=your_password -d mysql:tag启动一个 MySQL 容器,并将宿主机的数据目录映射到容器内的 /var/lib/mysql 目录
3进入 MySQL 容器docker exec -it mysql bash进入 MySQL 容器的命令行界面
4连接 MySQL 数据库mysql -u root -p使用 root 用户连接到 MySQL 数据库

接下来我们将逐步介绍每一步需要做什么,以及相应的命令和代码。

一、在docker里跑mysql 5.7

docker run -p 13306:3306 --name mysql --restart=always --privileged=true \
-v /data/docker/mysql/log:/var/log/mysql \
-v /data/docker/mysql/data:/var/lib/mysql \
-v /data/docker/mysql/conf:/etc/mysql/conf.d \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7

注释:

-- name mysql:指定docker容器名叫mysql,当然你可以改成其他的

--restart=always:总是跟随docker启动

--privileged=true:获取宿主机root权限

-v dir_1:dir_2:dir_1指的是宿主机的目录,可以不存在,docker会自动创建,dir_2位容器里面的目录,必须存在,否则容器无法启动

-e MYSQL_ROOT_PASSWORD=123456:指定mysql环境变量,root用户的密码为123456

二、登录容器后再登录容器里的mysql

[root@localhost mysql_data_backup]# docker exec -it mysql /bin/bash
bash-4.2# mysql -uroot -p123456

三、在容器数据库里创建数据库和表

CREATE DATABASE IF NOT EXISTS kahnDB DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
use kahnDB;
create table student(num int(10) not null unique primary key,name varchar(20) not null,gender varchar(20) not null,birthday datetime,address varchar(50));
insert into student (num,name,gender,birthday,address) VALUES (1,'serena','woman','2000-12-31','shanghai');
insert into student (num,name,gender,birthday,address) VALUES (2,'kahn','nan','2000-01-29','huaian');

四、备份容器中的mysql数据库

#!/usr/bin/env bash

docker_name="mysql"
backup_dir="/data/docker/mysql/mysql_data_backup"
db_name="kahnDB"
db_password="123456"
xtime=`date +%Y-%m-%d_%H:%M:%S_%5N`
docker exec -i ${docker_name} mysqldump -uroot -p${db_password} ${db_name} > ${backup_dir}/${db_name}_${xtime}.sql

到此这篇关于docker启动mysql并映射数据目录(含备份脚本)的文章就介绍到这了,更多相关docker mysql映射目录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker部署数据可视化平台Metabase

    docker部署数据可视化平台Metabase

    Metabase 把数据分析常用的查询通过一个个易于操作的界面呈现,本文主要介绍了docker部署数据可视化平台Metabase,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • Docker部署Node.js的方法步骤

    Docker部署Node.js的方法步骤

    这篇文章主要介绍了Docker部署Node.js的方法步骤。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • windows安装Docker与docker-compose套装的详细教程

    windows安装Docker与docker-compose套装的详细教程

    这篇文章主要介绍了windows安装Docker与docker-compose套装的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Milvus docker-compose 部署操作方法

    Milvus docker-compose 部署操作方法

    本文介绍了使用Docker-compose部署Milvus向量数据库的详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-07-07
  • Docker 修改文件是否需要重启(命令详解)

    Docker 修改文件是否需要重启(命令详解)

    这篇文章主要介绍了Docker 修改文件是否需要重启(命令详解)的相关资料,需要的朋友可以参考下
    2016-11-11
  • Docker安装anythingllm流程

    Docker安装anythingllm流程

    该文介绍了如何使用Docker安装并运行anythingllm应用程序,通过挂载两个本地目录(C:\anythingllm\storage和C:\anythingllm\env)到Docker容器中,并在浏览器中访问http://localhost:3001/,即可启动并使用anythingllm,作者分享个人经验,鼓励大家参考并支持脚本之家
    2025-02-02
  • Docker一键将运行中的容器打包成镜像并导出操作

    Docker一键将运行中的容器打包成镜像并导出操作

    在Docker中,将运行中的容器保存为镜像并导出是一个常见的操作,特别是在你需要迁移或备份容器配置和数据时,这篇文章主要介绍了Docker一键将运行中的容器打包成镜像并导出操作的相关资料,需要的朋友可以参考下
    2025-11-11
  • docker-compose配置文件的使用及说明

    docker-compose配置文件的使用及说明

    这篇文章详细介绍了Docker Compose配置文件的语法、版本兼容性、服务定义、网络配置、安全性和其他注意事项,还提供了调试和测试Docker Compose配置文件的方法,包括基本检查、启动和日志查看、服务状态检查、网络和端口测试、逐步调试和模拟生产环境
    2025-11-11
  • Docker中编码和时区设置不生效问题排查小结

    Docker中编码和时区设置不生效问题排查小结

    本文主要介绍了在Docker容器中排查编码和时区设置不生效的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • Docker下载加速的两种方式

    Docker下载加速的两种方式

    本文介绍了使用网易数帆和阿里云容器镜像仓库进行Docker下载加速的两种方式,第一种是通过网易数帆官网下载镜像,第二种是配置阿里云加速器地址到Docker中,这些方法可以帮助用户更快速地下载Docker镜像,提升工作效率
    2024-09-09

最新评论