当前位置: 首页 > article >正文

在Docker上安装和运行MySQL容器(纯步骤)

在Docker上安装和运行MySQL步骤

本文章只有操作步骤,没有原理解释,只是在学习当中提醒自己安装步骤。

第一步:从远程仓库拉取MySQL镜像

1.从远程仓库搜索mysql镜像

docker search mysql

在这里插入图片描述

2.pull拉取镜像
这里我选择的是mysql的5.7版本

docker pull mysql:5.7

在这里插入图片描述

3.查看mysql镜像有没有安装好

docker images

在这里插入图片描述

第二步:创建前的持久化文件(中文字符编码)相关配置

1.在宿主机里(也就是linux系统里)创建my.cnf文件(为了解决中文乱码问题),我把文件放在了/mysql路径下,这里你可以自由选择

mkdir -p /mysql/conf

在这里插入图片描述

2.cd进入你刚创建的文件夹中,这里我是/mysql/conf

cd /mysql/conf

在这里插入图片描述

3.创建my.cnf文件

vim my.cnf

在这里插入图片描述

4.进入后按a键开始输入,输入一下内容,输入完后esc退出编辑模式,输入 :wq 保存退出

[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

5.查看my.cnf是否创建成功

cat my.cnf

在这里插入图片描述
一定要注意文件内容是否完整

第三步:正式创建并运行容器实例(使用容器卷保证容器实例被删后数据仍然存在)

1.创建容器实例使用命令如下

docker run -d -p 3306:3306 --privileged=true \
-v /mysql/log:/var/log/mysql \
-v /mysql/data:/var/lib/mysql \
-v /mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 \
--name mysql1 mysql:5.7
  • -p后面是端口号;–privileged=true用容器卷时最好加上它;/mysql/log是宿主机的目录,包括/mysql/data和/mysql/conf都是,你可以自主选择;后面的/var/log/mysql、/var/lib/mysql和/etc/mysql/conf.d是mysql容器里的默认文件目录,用来存储数据等相关配置和文件;MYSQL_ROOT_PASSWORD一定要大写,后面的123456是密码,你可以自己选择;mysql1是我对本个容器起的名字;mysql:5.7是上面安装的mysql镜像的mysql和版本号。
    ================================================================
    这样就能实现mysql容器数据的持久化,即使容器被删除,之前数据库里的数据仍然还在宿主机你设置的那几个文件夹里

注意:/mysql/conf一定要是你上一步在宿主机里创建my.cnf文件的目录
在这里插入图片描述

2.查看容器是否创建并运行成功

docker ps

在这里插入图片描述
这里我起的容器名字为mysql1

第四步:进入mysql1容器查看数据库

1.输入命令进入容器

docker exec -it mysql1 /bin/bash

在这里插入图片描述
这里的mysql1是上步起的容器的名字

2.输入mysql的账号和密码进入mysql控制窗口,

mysql -uroot -p

在这里插入图片描述

3.最后在容器mysql里查看前面的中文utf8编码配置成功没

show variables like 'character%';

在这里插入图片描述
可以看到都为utf8,配置生效,这样就成功安装了mysql容器实例


http://www.kler.cn/a/15969.html

相关文章:

  • Springboot集成ElasticSearch实现minio文件内容全文检索
  • # 第20章 Cortex-M4-触摸屏
  • Python学习从0到1 day29 Python 高阶技巧 ⑦ 正则表达式
  • 软考教材重点内容 信息安全工程师 第 4 章 网络安全体系与网络安全模型
  • 一文学会docker中搭建kali
  • 服务器被挂马怎么办?——解决服务器被挂马的方法和步骤
  • 分部积分法习题
  • React 的源码与原理解读(九):Lanes
  • alpine linux系统操作
  • 深度学习模型评估简单介绍
  • MySQL知识学习01
  • 移动开发学习教程大纲
  • 数组中乘积最大的两个元素
  • 【hello Linux】进程间通信——共享内存
  • mysql 如何避免索引失效
  • 非线性扰动观测器的基本设计
  • WhatsApp CRM:通过 CRM WhatsApp 集成向客户发送消息
  • 【dp动态规划】拿金币问题
  • Anaconda安装nbextensions
  • DateFormat使用时需要注意:多线程下需要特殊处理
  • NTT入门 开拓者的卓识
  • Pycharm卡顿、反应慢、CPU占用高
  • 嘉明的数据结构学习Day5——作栈和队列以及它们的顺序存储与链式存储的实现
  • D触发器仿真实验
  • 【高危】泛微 e-cology <10.57 存在 SQL注入漏洞(POC)(MPS-ndqt-0im5)
  • SVG中line标签的使用以及其外观属性的运用