Docker部署Mysql数据库的详细步骤

 更新时间:2025年03月12日 10:10:06   作者:一窍不通小憨憨  
这篇文章主要介绍了如何使用Docker拉取和部署MySQL镜像,配置镜像源,修改容器时区,导入数据,并通过可视化工具连接和管理数据库,需要的朋友可以参考下

一、使用 docker 拉取 mysql 镜像

使用docker默认镜像源

docker pull mysql:5.7	// 拉取指定版本,5.7 版本相对稳定
docker pull mysql		// 拉取最新版本

使用指定镜像仓库拉取

// 假设可用镜像源地址为 "https://dockerpull.org"
docker pull dockerpull.org/mysql:5.7	// 拉取指定仓库的指定版本

使用国内镜像仓库

// 当前国内可用镜像源地址 

{
   "registry-mirrors": [
     "https://docker.hpcloud.cloud",
  "https://docker.m.daocloud.io",
  "https://docker.unsee.tech",
  "https://docker.1panel.live",
  "http://mirrors.ustc.edu.cn",
  "https://docker.chenby.cn",
  "http://mirror.azure.cn",
  "https://dockerpull.org",
  "https://dockerhub.icu",
  "https://hub.rat.dev",
  "https://proxy.1panel.live",
  "https://docker.1panel.top",
  "https://docker.m.daocloud.io",
  "https://docker.1ms.run",
  "https://docker.ketches.cn"
   ]
 }

打开 docker 镜像源配置文件

sudo nano /etc/docker/daemon.json

// 进入 nano 的编辑界面。如果文件不存在,nano 会自动创建

// 将上方镜像源地址放入 "registry-mirrors" 下
// 若没有 "registry-mirrors",则将上述 "registry-mirrors" 模块全部放入

// 完成编辑后,按下 Ctrl + X 组合键,此时会提示是否保存修改,按下 Y 键表示保存,
// 然后按下回车键确认文件名,即可保存修改并退出 nano 编辑器

重启 docker

sudo systemctl restart docker	// 重启 docker
sudo systemctl status docker	// 检查是否已重启,如果服务状态显示为 active (running),则表示 Docker 服务已成功重启

二、部署数据库镜像

使用 docker 命令部署

docker run 
-p 9096:3306 
--name taichu 
-v /opt/taichu/mysql/conf/my.cnf:/etc/mysql/my.cnf 
-v /opt/taichu/mysql/logs:/log
-v /opt/taichu/mysql/data:/mysql_data 
-e MYSQL_ROOT_PASSWORD=123456 
-d 
Id


// 以上命令解释
docker run

// 映射端口9096至容器内3306,即通过云端9096端口访问数据库,容器内数据库端口设置为3306
-p 9096:3306 

--name taichu 	// 容器名称

-v /opt/taichu/mysql/conf/my.cnf:/etc/mysql/my.cnf 	// 挂载数据库配置文件目录

-v /opt/taichu/mysql/logs:/log			// 挂载数据库log文件目录

-v /opt/taichu/mysql/data:/mysql_data 	// 挂载数据库数据存储目录

-e MYSQL_ROOT_PASSWORD=123456 		    // 设置 root 用户密码

-d 					// 让容器以守护进程模式在后台运行

Id					// mysql 镜像 id,可仅输入前 2-3 位,通过 docker images 命令查询所有镜像

修改容器时区

docker exec -it 容器名或容器Id /bin/bash		// 进入容器内部,Id 可只输入前 2-3 位

// 修改时区
rm /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

exit	// 退出容器内部

docker restart Id	// 重新启动该容器,Id 可只输入前 2-3 位

导入数据

通过 mysql 可视化工具连接至云端此数据库,端口号为上方映射端口,账号 root,密码为上方设定密码。

任意可视化工具均可。连接后导入数据。

容器内部导入

假设文件名为 data.sql,且存放在 /opt/taichu/ 目录下

1. 拷贝至容器内部(方法1)

docker exec -it 容器名或容器Id /bin/bash		// 进入容器内部,Id 可只输入前 2-3 位

// 将数据文件拷贝至容器内部,taichu - 容器名称
docker cp /opt/taichu/data.sql taichu:/tmp/data.sql

mysql -u root -p	// 进入 mysql,输入密码

create database test;		// 创建数据库,若sql文件包含创建语句则跳过

use test;		// 使用数据库 test

source /tmp/data.sql;	// 导入数据

exit;	// 退出数据库

exit	// 退出容器


2. 直接执行(方法2)

docker exec -i Id mysql -u root -p password < /opt/taichu/data.sql

// Id :容器 Id 或名称
// password :数据库 root用户的 密码

总结 

到此这篇关于Docker部署Mysql数据库的文章就介绍到这了,更多相关Docker部署Mysql数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何解决mysql的count()函数条件表达式不生效问题

    如何解决mysql的count()函数条件表达式不生效问题

    该文章总结了SQL查询中`count`函数统计错误的原因,以及三种解决方法:使用`ornull`方法、`IF()`函数和`casewhen`表达式,当不满足条件时,表达式的值为NULL
    2024-11-11
  • mysql触发器实时检测一条语句进行备份删除思路详解

    mysql触发器实时检测一条语句进行备份删除思路详解

    遇到过这样一个需求,在一张表里会不时出现 “违规” 字样的字段,需要在出现这个字段的时候,把整行的数据删掉,针对这个需求我们该如何操作呢,下面跟随小编看下mysql触发器实时检测一条语句进行备份删除的解决思路,一起看看吧
    2021-09-09
  • 使用MySQL实现一个分布式锁

    使用MySQL实现一个分布式锁

    在分布式系统中,分布锁是一个最基础的工具类。这篇文章主要介绍了用MySQL实现一个分布式锁,本文通过实例代码相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • sql查询语句教程之插入、更新和删除数据实例

    sql查询语句教程之插入、更新和删除数据实例

    如果要在程序运行过程中操作数据库中的数据,那得先学会使用SQL语句,下面这篇文章主要给大家介绍了关于sql查询语句教程之插入、更新和删除数据的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • MySQL异常恢复之无主键情况下innodb数据恢复的方法

    MySQL异常恢复之无主键情况下innodb数据恢复的方法

    这篇文章主要介绍了MySQL异常恢复之无主键情况下innodb数据恢复的方法,结合实例形式分析了针对innodb引擎无主键的情况下恢复数据的步骤与相关技巧,需要的朋友可以参考下
    2016-04-04
  • Mysql添加用户和设置权限的操作方法

    Mysql添加用户和设置权限的操作方法

    这篇文章主要介绍了Mysql添加用户和设置权限的操作方法,主要包括管理用户,权限控制的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 一条SQL语句在MySQL中是如何执行的

    一条SQL语句在MySQL中是如何执行的

    本篇文章会分析下一个sql语句在mysql中的执行流程,包括sql的查询在mysql内部会怎么流转,sql语句的更新是怎么完成的,需要的朋友可以参考一下
    2021-10-10
  • mysql 5.7.12 winx64手动安装教程

    mysql 5.7.12 winx64手动安装教程

    这篇文章主要为大家详细介绍了mysql 5.7.12 winx64手动安装配置方法图文教程,感兴趣的朋友可以参考一下
    2016-12-12
  • MySQL全文索引like模糊匹配查询慢解决方法

    MySQL全文索引like模糊匹配查询慢解决方法

    这篇文章主要为大家介绍了MySQL全文索引like模糊匹配查询慢解决方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • MySQL中group_concat函数深入理解

    MySQL中group_concat函数深入理解

    本文通过实例介绍了MySQL中的group_concat函数的使用方法,需要的朋友可以适当参考下
    2012-11-11

最新评论