我们在VMware上的Linux系统上安装启动mysql服务后,可以在本机Windows系统上通过Navicat远程访问,可以进行数据库表的增删改查,但是会存在一个问题

此时如果通过docker关闭MySQL容器,就会导致数据丢失(可以理解为数据库中的提交事务,未提交事务会导致数据没保存成功 ),因此修改容器之后需要保存或者挂载mysql数据库

1、下载镜像

# 最新版本
docker pull mysql# 如 5.7 版本 本文基于5.7版本
docker pull mysql:5.7

2、启动mysql容器

# 运行mysql命名容器名称为mysql并且设置root账号初始密码为root
docker run  -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD="root" -d mysql:5.7

3、确定mysql配置文件路径

#进入docker容器,mysql为刚安装的容器名称
docker exec -it mysql或者mysql容器ID /bin/bash# 查找Docker内,MySQL配置文件my.cnf的位置
mysql --help | grep my.cnf# 会输出数据文件的存放路径 /var/lib/mysql/
show variables like '%datadir%';

4、创建本地路径并挂载Docker内数据,拷贝MySQL容器配置文件

mkdir -p /usr/local/mysql/conf && mkdir -p /usr/local/mysql/data# 将容器的配置复制到服务器
docker cp mysql:/etc/mysql/* /usr/local/mysql/conf/
或
docker cp mysql:/etc/mysql/. /usr/local/mysql/conf/# 修改字符集
vim /usr/local/mysql/conf/my.cnf
character-set-server=utf8

如果遇到如下错误:

/usr/bin/docker-current:Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/1b1d4a0234ee4caxxxxx/merged: invalid argument.See '/usr/bin/docker-current run --help'.

这个是因为用的overlay2文件系统,而系统默认只能识别overlay文件系统,更新文件系统即可

systemctl stop docker      //停掉docker服务

rm -rf /var/lib/docker        //注意会清掉docker images的镜像

vim /etc/sysconfig/docker-storage

//将文件里的overlay2改成overlay即可
如:DOCKER_STORAGE_OPTIONS="--storage-driver overlay"

vim /etc/sysconfig/docker         //去掉option后面的--selinux-enabled
然后启动docker即可:systemctl start docker

5、重新启动mysql容器

docker stop mysqldocker rm mysqldocker run --name mysql \
-p 3306:3306 \
-v /usr/local/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/log:/logs \
-e MYSQL_ROOT_PASSWORD=admin123456 \
--restart=always \
-d mysql:5.7docker run --name mysql -p 3306:3306 -v /usr/local/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/log:/logs -e MYSQL_ROOT_PASSWORD=admin123456 --restart=always -d mysql

映射MySQL数据文件后,删除或者停止mysql容器后能保留数据库文件,不至于导致数据库丢失

Docker - Docker挂载mysql相关推荐

  1. docker run 挂载卷_docker mysql配置挂载到卷

    docker--将mysql配置挂载到卷 1.首先在根目录创建两个文件夹,其中config文件夹中创建my.cnf配置文件.data文件夹存放数据文件,一定要为空. /docker/mysql/con ...

  2. Docker中创建MySQL容器,将宿主机目录直接挂载到目录

    Docker中创建MySQL容器,将宿主机目录直接挂载到目录 1.在Docker中下载MySQL镜像 docker pull mysql:5.7.25 2.创建目录/tmp/mysql/data和/t ...

  3. Docker下部署Mysql映射端口并挂载数据卷

    Docker下部署Mysql映射端口并挂载数据卷 1.搜索mysql镜像文件版本 2.下载最新版本mysql 或者 下载指定版本mysql 2.1 下载最新版[一般项目不直接使用最新版] 2.2 下载 ...

  4. Docker下部署mysql

    一.拉取 Docker Hub 官方提供的MySQL镜像 docker pull mysql:5.7 二.创建数据.日志存放路径 mkdir -p ~/mysql/{data,logs} 三.运行容器 ...

  5. linux开启docker mysql_Linux服务器利用Docker快速搭建MySQL数据库

    首先你要有一台Linux服务器 利用Xshell远程软件连接后就可以开始安装docker容器了. 1.第一步在Linux服务器上安装docker 2.第二步利用Docker拉取mysql镜像 Cent ...

  6. docker下的mysql my.ini_Docker + MySQL 主从环境搭建

    环境说明Docker Ubuntu/CentOS MySQL v8.0.11 1. 配置my.cnf my.cnf(部分老版本可能是my.ini)是MySQL核心配置文件.首先,在任意挂载目录下新建* ...

  7. docker配置容器mysql启动参数_修改Docker容器启动配置参数

    有时候,我们创建容器时忘了添加参数 --restart=always ,当 Docker 重启时,容器未能自动启动, 现在要添加该参数怎么办呢,方法有二: 1.Docker 命令修改 docker c ...

  8. 使用Docker Compose安装mysql

    使用Docker Compose安装mysql 1运行 安装 Docker Compose 运行以下命令以下载 Docker Compose 的当前稳定版本:$ sudo curl -L " ...

  9. docker环境安装mysql

    前提 预先安装好docker,安装教程可以参考CentOS7安装Docker 下载镜像 docker pull mysql 启动容器 docker run -d --name mysql -p 330 ...

最新文章

  1. ansible 详解
  2. 双边滤波--OpenCV实现
  3. linux mysql帮助文档,在 Linux 上安装 MySQL
  4. 异形3×3魔方还原教程_【初级篇】(四)最简单的三阶魔方入门教程——中层还原...
  5. java商城_基于Java,jfinal web框架开发出微信商城,微信分销商城源码分享
  6. esc键没反应_有机人名反应——Brown 硼氢化反应(Brown Hydroboration)
  7. cakephp 2.0 源码解读(一)
  8. python使用缩进来体现-python使用缩进来体现代码之间的逻辑关系吗?
  9. [翻译]Real-Time Correlative Scan Matching
  10. 计算机硬件参数的工具软件,电脑硬件参数修改工具
  11. Spring-boot-2.1.X源码编译
  12. 漏洞复现-——通达OA任意用户登陆漏洞
  13. Latex中thebibliography后面的数字的含义
  14. oracle数据库 tds是什么,别被忽悠了才后悔 TDS值到底是什么
  15. Flex 弹性布局(上)
  16. Android 插件化原理(一),通过dex文件调用插件app代码
  17. 【mac】nvm 的安装和使用,解决mac重启node not found,每次都得source ~/.bash_profile
  18. Java基础15-多线程
  19. unable to connect to 192.168.1.110:5555 解决办法
  20. 2022-2027年中国灵芝孢子粉行业市场全景评估及发展战略规划报告

热门文章

  1. SAP系统接口方式:
  2. android移动应用基础教程--qq账号与密码
  3. java错误非法字符u201c_非法字符错误:“ \ u200b”
  4. loj 10035
  5. Insight Mybatis JdbcTemplate 混合事务控制的实现
  6. 首届中小企业国际合作论坛——日本价值工程协会
  7. 2018 acm-icpc南京站 复盘
  8. 商会机构源码模板系统包含了信息管理、新闻管理、广告管理、系统管理等功能 v3.9
  9. 和汪峰共创音乐新世界,Wom音乐虚拟形象空投启动
  10. 计算机主机视频介绍,如何在win10中查看计算机视频内存win10中的计算机视频内存简介...