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

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

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

一、Docker搭建MySQL并挂载数据

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

2、下载 MySQL5.7 镜像。

docker pull mysql:5.7

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

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

参数说明:

-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 容器内部。

docker exec -it mysql /bin/bash

5、登录 MySQL。

mysql -uroot -p123456

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

show variables like 'character_set_%';

二、挂载是否生效

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

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

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

docker exec -it mysql /bin/bash

mysql -uroot -p123456

create database sunny;
use sunny;
source /sunny.sql;

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

docker stop mysql && docker rm mysql

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

其他

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

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

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

$ sudo docker ps -a

3.启动和关闭容器

启动命令:

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

关闭命令:

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

总结 

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

相关文章

  • mysql怎么设置最大连接数详解

    mysql怎么设置最大连接数详解

    这篇文章主要给大家介绍了关于mysql怎么设置最大连接数的相关资料,设置mysql最大连接数的方法,首先打开mysql的控制台,然后输入语句set GLOBAL max_connections=1000;即可直接设置最大连接数,需要的朋友可以参考下
    2022-02-02
  • CentOS 6、7下mysql 5.7 详细安装教程

    CentOS 6、7下mysql 5.7 详细安装教程

    这篇文章主要为大家介绍了CentOS 6、7下mysql 5.7 详细安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Mysql非安装版使用步骤及忘记密码解决方法

    Mysql非安装版使用步骤及忘记密码解决方法

    这篇文章主要介绍了Mysql非安装版使用步骤及忘记密码的解决方法,需要的朋友可以参考下
    2017-04-04
  • MySQL中or语句用法示例

    MySQL中or语句用法示例

    这篇文章主要介绍了MySQL中or语句用法示例,小编觉得挺不错的,这里分享给大家,供需要的朋友参考。
    2017-10-10
  • SQL实现LeetCode(178.分数排行)

    SQL实现LeetCode(178.分数排行)

    这篇文章主要介绍了SQL实现LeetCode(178.分数排行),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • mysql ON DUPLICATE KEY UPDATE语句示例

    mysql ON DUPLICATE KEY UPDATE语句示例

    本文介绍一下关于mysql中INSERT INTO… ON DUPLICATE KEY UPDATE用法
    2013-11-11
  • MySQL8.0.11版本的新增特性介绍

    MySQL8.0.11版本的新增特性介绍

    这篇文章主要介绍了MySQL8.0.11版本的新增特性介绍,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-05-05
  • MySQL之死锁问题及其解决方案

    MySQL之死锁问题及其解决方案

    数据库死锁问题是我们老生常谈的问题了,在我们实际开发过程中经常会遇到,本文主要介绍了MySQL之死锁问题及其解决方案,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • MySQL主库binlog(master-log)与从库relay-log关系代码详解

    MySQL主库binlog(master-log)与从库relay-log关系代码详解

    这篇文章主要介绍了MySQL主库binlog与从库relay-log关系的相关内容,涉及部分代码,需要的朋友可以参考。
    2017-10-10
  • MySQL中你可能忽略的COLLATION实例详解

    MySQL中你可能忽略的COLLATION实例详解

    mysql的collation大致的意思就是字符序,这篇文章主要给大家介绍了关于MySQL中COLLATION的相关资料,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05

最新评论