8、mysql 5.7 docker 快速安装详解

官方文档: mysql docker安装文档
dockerFile:mysql:5.7.29

说明

在常见的Java Web项目中,业务数据都需要存储在关系型数据库中。当前比较主流的关系型数据库包含mysql、oracle等,本文记录通过 docker 快速搭建 mysql 5.7 数据库的过程。

一. 镜像获取

通过docker hub官方搜索并选择合适的镜像版本,我们这里使用 mysql:5.7.29版本

docker pull mysql:5.7.29
二. 容器创建
1、映射目录分配

根据dockerFile中的VOLUME设置,映射规划如下:

/devops/mysql/data:/var/lib/mysql
/devops/mysql/conf:/etc/mysql/conf.d

2、端口映射规划

mysql 容器默认对外服务端口为 3306devops体系中的映射规划如下:

3306:3306

3、容器创建

目录创建脚本

mkdir -p /devops/mysql/conf /devops/mysql/data

容器创建脚本 (不执行)

docker run -d --name mysql --restart always \
       -p 3306:3306 \
       -v /devops/mysql/data:/var/lib/mysql \
       -v /devops/mysql/conf:/etc/mysql/conf.d \
       -e MYSQL_ROOT_PASSWORD=Passw0rd \
       mysql:5.7.29
三. devops 添加 mysql

根据容器创建规划,mysqldocker-compose语法模板如下,添加到devopsdocker-compose.yml文件中即可。

  mysql: 
    container_name: mysql
    image: mysql:5.7.29
    restart: always
    ports: 
      - "3306:3306"
    volumes:
      - "./mysql/data:/var/lib/mysql/"
      - "./mysql/conf:/etc/mysql/conf.d"
    environment:
      MYSQL_ROOT_PASSWORD: Passw0rd

注意:MYSQL_ROOT_PASSWORD 为 mysql 的 root 密码,大家可以根据需要自行修改

四. 上传配置文件

查看docker版本mysql 5.7.29的配置文件存放规则,我们发现/etc/mysql/conf.d/目录下的文件会在mysql启动时被作为配置文件加载。那么,当我们需要人为调整mysql配置文件时,可以将本地编辑好的配置文件存放在它的映射目录/devops/mysql/conf下。

为了解决MySQL客户端或服务端中文编码不一致问题,我们在mysql.cnf配置文件中设置中文编码使用utf8mb4。并通过sftp命令将mysql.cnfmysqldump.cnfdocker.cnf三个配置文件上传到映射目录
mysql conf 映射目录
启动容器,检查数据库默认的中文编码,如下图所示:
数据库编码
注意:我们将/etc/mysql/conf.d映射到宿主机目录后,mysql将不再默认生成配置文件,这里我们需要先将配置文件重新上传到映射目录,再启动docker-compose创建容器。
配置文件存放目录: https://gitee.com/tysite/devops/tree/master/mysql/conf

五. 创建 tysitedb 库

完成 docker mysql 5.7.29的安装后,我们可以创建自己的SCHEMA供开发环境使用。
这里以 tysitedb 为例,创建SCHEMA并授权给tysite用户。

1、进入mysql容器
docker exec -it mysql /bin/bash
2、登录mysql

使用root用户登录mysql,密码为MYSQL_ROOT_PASSWORD设置的内容。

mysql -u root -p
3、创建 SCHEMA
CREATE SCHEMA `tysitedb` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
4、创建用户 tysite (密码自行调整)
CREATE USER 'tysite'@'%' identified by '******';
5、授权
grant all privileges on tysitedb.* to 'tysite'@'%' with grant option;
flush privileges;

mysql schema创建流程
创建数据库完成后,可以通过workbanch连接验证数据库访问。(workbanch安装请点这里

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值