首页 > 数据库 >Docker学习笔记十二:Docker安装MySQL

Docker学习笔记十二:Docker安装MySQL

时间:2022-12-15 14:45:27浏览次数:54  
标签:opt 容器 MySQL 笔记 目录 mysql Docker data docker

下载

  • 命令:docker pull mysql:5.7
  • 安装可参考Docker  Hub官网说明的镜像的用法

  

安装

 不挂载目录启动容器

  • 创建容器
    • 命令:docker run -d --name=mysql1 -p 3307: 3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
    • 说明:容器创建成功之后,进入容器可直接使用mysql命令行;外部连接时不需要像单机版安装一样要设置远程连接才可以连接MySQL。(注:update mysql.user set host='%' where user='root';

 

挂载目录启动容器

说明

  • 1、由于删除容器之后数据都会丢失,针对数据库而言,挂载目录对数据进行持久化存储是非常必要的。
  • 2、容器删除之后,只要挂载的数据在宿主机持久化保存,新建容器再次映射挂载的目录就可以立即继续使用,数据不会丢失。

安装

  • a、准备my.conf文件
    • 说明:如下配置文件可供复制,配置文件内容可根据需要添加相应配置。
[client]
# 设置客户端的字符集
default-character-set=utf8

[mysqld]
# 配置mysql数据存放的位置
datadir=/var/lib/mysql

# 配置mysql数据库的端口号
port=3306

# 配置最大连接数
max_connections=600

# 配置默认的存储引擎INNODB
default-storage-engine=INNODB

# 配置忽略大小写,0:表示大小写敏感,1:表示忽略大小写
lower_case_table_names=1

# 配置服务端的字符集
character-set-server=utf8
collation-server=utf8_general_ci

# 配置开启慢查询日志、并指定位置
slow_query_log
slow_query_log_file=/var/log/mysql/mysqld_slow.log

# 配置sql模式
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
View Code
  •  b、创建mysql挂载目录(路径任意)
    • 命令:mkdir -p /opt/docker_data/mysql/config
    • 命令:mkdir -p /opt/docker_data/mysql/logs
    • 命令:mkdir -p /opt/docker_data/mysql/data
    • 说明:创建logs日志挂载目录、data数据存储目录、config配置文件目录(可将my.conf文件放置在该目录下)。

  • c、创建容器
docker run -d \
--name=mysql1 \
-p 3307:3306 \
--privileged=true \
-v /opt/docker_data/mysql/config/:/etc/mysql/conf.d \
-v /opt/docker_data/mysql/data/:/var/lib/mysql \
-v /opt/docker_data/mysql/logs/:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ=Asia/Shanghai \
mysql:5.7

# docker run:运行并启动容器
# -d:在后台运行容器,并输出容器ID
# --name:设置容器的名称
# -p 3307:3306:容器的3306端口映射宿主机3307端口(程序访问端口)
# --privileged=true:可选配置,目录映射时避免出现权限问题
# -v:设置"宿主机目录:容器目录"映射位置
# -e:设置时区、mysql的密码
# 执行安装的镜像信息,格式:名称:标签(REPOSITORY:TAG)

  • d、连接mysql服务

 

标签:opt,容器,MySQL,笔记,目录,mysql,Docker,data,docker
From: https://www.cnblogs.com/jason2018524/p/16984616.html

相关文章

  • 离线安装mysql5.7【教程二】
    openjdk1.8文件下载链接地址:链接:https://pan.baidu.com/s/1fLt_dNILuw5VsV_PcA_yAQ提取码:ot3emysql5.7安装包下载链接地址:链接:https://pan.baidu.com/s/1du7Dk7WtJ0Ac......
  • 1.1 Docker 和虚拟机
    虽然Docker和虚拟机有着很多的相似之处,但是Docker和虚拟机之间有着本质的区别。  从图中可以看出虚拟机运行基于6层结构。6层结构包括硬件层、宿主机操作系统......
  • 1.2 Docker Container
    DockerContainer(容器)即Docker将宿主机隔开的一个个独立空间。在容器内部我们可以像操作普通系统一样操作容器。容器完全使用沙箱机制,相互之间不会有任何接口,几乎没有......
  • 1.3 Docker Image
    DockerImage(镜像)可以看作是一个特殊的文件系统。即对某一时刻容器状态的备份。镜像不包含任何动态数据,其内容在构建之后也不会被改变。比如我们在一个容器内安装了JDK......
  • 1.4 Docker Registry
    DockerRegistry(记录中心)是Docker官方及一些第三方机构(国内比如阿里、腾讯都提供有Docker的记录中心)为了方便大家更轻松的开发Docker环境,将一些常用的容器打包成......
  • SpringMVC笔记(尚硅谷)
    目录一、SpringMVC简介1、什么是MVC2、什么是SpringMVC3、SpringMVC的特点二、HelloWorld1、开发环境2、创建maven工程a>添加web模块b>打包方式:warc>引入依赖3、配置web.xm......
  • 1.5 Docker 运行原理
    Docker在实际运行过程中的运行原理如图6所示。Client代表操作用户,Docker_Host代表安装有Docker的宿主机。Registry代表Docker官方或第三方记录中心。操作用......
  • 「Docker学习系列教程」基础篇小总结及高级篇预告
    通过前面十来篇的学习,我们已经把docker基础篇学习完了。这篇文章,咱们就来小总结下基础篇学习的东西以及介绍接下来高级篇中,将会学习到哪些知识点。 基础篇总结:第一篇,......
  • 【实战】企业级持续集成(DevOps/TestOps自动化平台):git + gitlab + jenkins + pipeline
    为什么要写企业级持续集成(jenkins+pipeline+k8s)?目前网上自动化持续集成的资料很多,但基本上都是局限于jenkins自由风格的job,结合shell脚本来实现持续集成,这种方式的缺点......
  • Canvas学习笔记(五)文本操作
    简介在Canvas中,文本操作的常用方法有:方法说明fillText()绘制实心文本strokeText()绘制空心文本measureText()获取文本长度在Canvas中,文本操作的常......