• 作者:一个在外讨生活的新时代农民工。
  • 博主主页: @佳庆v587
  • 所属专栏: Docker
  • 支持我: 点赞+收藏+留言。您的支持是我最大动力。

前言

因为最近在公司,需要安装一套测试环境,便实操沉淀了此篇文章,后续会出一篇Docker的基础知识以及原理。

docker-compose安装Mysql的前提条件:

  • 你本地需要有docker,以及docker-compose。
  • 需要了解docker-compose是干什么的。
  • 需要了解docker-compose.yml配置项。
  • 需要知道docker-compose常用命令。

您如果之前不知道呢,可以点击我的专栏,Docker专栏里面有一篇文章【docker-compose】讲解与安装。

制作docker-compose.yml文件

因为我们是安装Mysql,需要明确安装的镜像名称和版本号,我采用的是5.7.35版本。那它的镜像名称和版本号就是mysql:5.7.35。

我们列一下docker-compose配置项:

  • image: 镜像的名称以及版本号,我们采用的是官方的5.7.35:mysql:5.7.35
  • restart: 重启docker后该容器启动时机,默认是不启动,我们配置always,重启docker后该容器也重启。
  • container_name: 容器名称,我们配置为mysql
  • environment: 环境变量,我们配置两个,一个是指定用户密码,一个指定时区。MYSQL_ROOT_PASSWORD: 123456 TZ: Asia/Shanghai
  • ports: 本地端口号与容器内部端口号映射,我们配置为3306:3306
  • volumes:指定挂载目录,因为我们需要mysql容器里面的数据,和配置。我们配置了两个/usr/etc/mysql/datadir:/var/lib/mysql /usr/etc/mysql/config/my.cnf:/etc/mysql/my.cnf

这样我们的docker-compose.yml文件就创建好了。

执行命令,此命令意思是如果当前文件下不存在此文件就创建。

vim docker-compose.yml

然后把我们的配置项填写进去。如下面的yml内容。

version: '3'
services:

  mysql:
    image: mysql:5.7.35 #镜像名称以及版本
    restart: always #重启docker后该容器也重启
    container_name: mysql #容器名称
    environment:
      MYSQL_ROOT_PASSWORD: 123456 #指定用户密码
      TZ: Asia/Shanghai
    ports:
      - 3306:3306 #本地端口号与容器内部端口号
    volumes: #指定挂载目录
      - /usr/etc/mysql/datadir:/var/lib/mysql
      - /usr/etc/mysql/config/my.cnf:/etc/mysql/my.cnf

创建挂载目录

如上面的yml配置,我们要在/usr/etc/mysql下创建两个目录。

这个简单,使用我们的命令直接创建几个挂载目录。

下面的命令解读一下:mkdir -p 批量创建文件夹。

 mkdir -p /usr/etc/mysql/{datadir,conf}

创建Mysql配置文件

执行如下命令。

进入到我们映射的目录

cd /usr/etc/mysql/config

通过命令vim my.cnf创建配置文件

配置如下信息,就不一一解释, 大致的配置是配置存储引擎,字符集,最大连接数。

[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
character-set-client-handshake=FALSE
collation-server=utf8mb4_general_ci
init_connect='SET NAMES utf8'
max_connections=1000
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4

启动容器

如上面所述,我们的相关配置和准备条件都做好了,我们开始启动我们的容器吧。

执行命令,此命令意思是 up -d 后台启动并运行容器。

docker-compose up -d mysql

如下图,执行成功。

我们来查看一下日志。执行命令。此命令的意思就是查看容器日志,守护线程查看展示1000条。

docker-compose logs -f --tail 1000 mysql

如图所示启动成功了。

远程连接Mysql

分为两种情况。

  1. 第一种你的服务器如果是阿里云,腾讯云,云服务商等。
    需要开启安全组端口3306(因为我们映射的端口是3306)
    查看服务器是否开启了防火墙。如果开启了防火墙需要放开端口,这个我下面讲解怎么放开端口。
  1. 第二种你的服务器是虚拟机的话
    查看服务器是否开启了防火墙。如果开启了防火墙需要放开端口,这个我下面讲解怎么放开端口。

以上步骤做完后,直接使用远程客户端连接就可以了。这里就不给大家演示了。

开发端口

查看防火墙放开的端口

firewall-cmd --zone=public --list-ports

放开3306端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

刷新防火墙

firewall-cmd --reload

后记

本文主要讲解docker-compose安装Mysql。实操沉淀下来的文章。

如果你有问题或者建议欢迎大家评论区讨论。

如对您有用,希望你可以点赞,收藏,评论,您的支持是我最大动力。

我们下期再见。

GitHub 加速计划 / compose / compose
41
5
下载
compose - Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过Compose文件格式简化应用部署过程。
最近提交(Master分支:4 个月前 )
8f644eea Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com> 6 天前
56e92e34 Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com> 7 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐