服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - Docker搭建MySQL并挂载数据的全过程

Docker搭建MySQL并挂载数据的全过程

2022-09-12 14:33IT王小二 Mysql

环境搭建费时费力,但要必不可少,这篇文章主要给大家介绍了关于Docker搭建MySQL并挂载数据的相关资料,文中通过图文以及实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

记录 Docker 搭建 MySQL 并挂载数据过程,搭建过程参考自 Docker Hub 

一、Docker搭建MySQL并挂载数据

1、首先安装好 Docker,不知道怎么安装的可以看下 CentOS7安装Docker初体验 

2、下载 MySQL5.7 镜像。

?
1
docker pull mysql:5.7

3、创建容器并挂载数据。

?
1
2
3
4
5
6
7
8
9
10
docker run -d --restart=always --name mysql \
-v /itwxe/dockerData/mysql/data:/var/lib/mysql \
-v /itwxe/dockerData/mysql/conf:/etc/mysql \
-v /itwxe/dockerData/mysql/log:/var/log/mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_general_ci

参数说明:

?
1
2
3
4
5
6
7
-v /itwxe/dockerData/mysql/data:/var/lib/mysql:将数据文件夹挂载到主机
-v /itwxe/dockerData/mysql/conf:/etc/mysql:将配置文件夹挂在到主机,可以在宿主机放一份自定义 my.cnf文件,那么容器就会按自定义配置启动
-v /itwxe/dockerData/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-p 3306:3306:将容器的3306端口映射到主机的3306端口
-e MYSQL_ROOT_PASSWORD=123456:初始化123456用户的密码
--character-set-server=utf8mb4:设置字符集
--collation-server=utf8mb4_general_ci:排序方式

4、进入 MySQL 容器内部。

?
1
docker exec -it mysql /bin/bash

5、登录 MySQL。

?
1
mysql -uroot -p123456

6、查看字符集是否生效。

?
1
show variables like 'character_set_%';

二、挂载是否生效

1、上传备份 sql 到宿主机,复制宿主机备份 sql 到容器。

?
1
docker cp /itwxe/dockerData/sunny.sql mysql:/

2、进入 mysql 容器内部,导入sql。

?
1
2
3
4
5
6
7
docker exec -it mysql /bin/bash
 
mysql -uroot -p123456
 
create database sunny;
use sunny;
source /sunny.sql;

3、数据导入成功可以查询后,删除容器,并重新用命令创建容器,查看数据存在。

?
1
docker stop mysql && docker rm mysql

使用上面的命令重新创建容器,查看数据是否正常,可以看到数据正常挂载查询,此处演示的数据正常挂载保存宿主机。

Docker搭建MySQL并挂载数据的全过程

其他

1.可以启动多个MySQL服务,因为我们启动的是容器,容器可以有多个,只要容器名字映射段端口不一样就可以了,例如:

?
1
$ sudo docker run --name dbdb -e MYSQL_ROOT_PASSWORD=123456 -p 6666:3306 -d mysql

2.查看所有容器(启动状态或者关闭状态)

?
1
$ sudo docker ps -a

3.启动和关闭容器

启动命令:

?
1
2
$ sudo docker start pwc-mysql   //通过指定容器名字
$ sudo docker start 73f8811f669e  //通过指定容器ID

关闭命令:

?
1
2
$ sudo docker stop pwc-mysql   //通过指定容器名字
$ sudo docker stop 73f8811f669e  //通过指定容器ID

总结 

到此这篇关于Docker搭建MySQL并挂载数据的文章就介绍到这了,更多相关Docker搭建MySQL挂载数据内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://itwxe.com/posts/53489f6d.html

延伸 · 阅读

精彩推荐
  • MysqlMySQL截取和拆分字符串函数用法示例

    MySQL截取和拆分字符串函数用法示例

    这篇文章主要介绍了MySQL截取和拆分字符串函数用法,结合实例形式分析了mysql针对字符串的截取与拆分函数SUBSTRING及SUBSTRING_INDEX相关使用方法,需要的朋友可...

    山猫的博客11142020-06-24
  • MysqlMySQL数据库学习之分组函数详解

    MySQL数据库学习之分组函数详解

    这篇文章主要为大家详细介绍一下MySQL数据库中分组函数的使用,文中的示例代码讲解详细,对我们学习MySQL有一定帮助,需要的可以参考一下...

    界尽头与你5962022-07-24
  • MysqlMysql数据库性能优化一

    Mysql数据库性能优化一

    今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序...

    邹琼俊3722020-06-03
  • MysqlCentOS 7下mysql 5.7 安装教程

    CentOS 7下mysql 5.7 安装教程

    这篇文章主要为大家详细介绍了CentOS 7下mysql 5.7 安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    代码唐小白5412020-09-04
  • Mysqlubuntu下在docker中安装mysql5.6 的方法

    ubuntu下在docker中安装mysql5.6 的方法

    这篇文章主要介绍了ubuntu下在docker中安装mysql5.6 的方法,需要的朋友可以参考下...

    VAL宋4082020-07-29
  • Mysql详解MySQL分组排序求Top N

    详解MySQL分组排序求Top N

    这篇文章主要介绍了详解MySQL分组排序求Top N的相关资料,需要的朋友可以参考下 ...

    MYSQL教程网1902020-08-01
  • Mysql解析MySQL创建外键关联错误 - errno:150

    解析MySQL创建外键关联错误 - errno:150

    本篇文章是对MySQL创建外键关联错误-errno:150进行了详细的分析介绍,需要的朋友参考下 ...

    MYSQL教程网5172019-12-29
  • MysqlMySQL中union和join语句使用区别的辨析教程

    MySQL中union和join语句使用区别的辨析教程

    这篇文章主要介绍了MySQL中union和join语句的用法区别,举例说明了union和join在连接操作上的不同作用,需要的朋友可以参考下 ...

    古腾龙6142020-05-27