😊 @ 作者: 一恍过去
🎊 @ 社区: Java技术栈交流
🎉 @ 主题: Docker使用(五) — Docker部署安装Mysql
⏱️ @ 创作时间: 2021年12月07日

在这里插入图片描述

前言

MySQL是一种开源的关系型数据库管理系统(RDBMS),它采用了客户端-服务器架构,广泛应用于Web应用程序和其他数据驱动的应用中。MySQL具有以下特点和功能:

  • 关系型数据库: MySQL是一种关系型数据库,数据以表的形式组织,表之间通过主键和外键建立关联。
  • 可扩展性: MySQL支持大规模数据存储和处理,可以在集群环境中进行水平扩展,通过添加更多的节点来提高性能和容量。
  • 事务支持: MySQL支持ACID(原子性、一致性、隔离性和持久性)事务,保证数据的完整性和一致性。
  • 多用户并发访问: MySQL支持多个用户同时访问和操作数据库,通过锁机制保证数据的一致性和并发访问的正确性。
  • 存储过程和触发器: MySQL支持存储过程和触发器,允许开发人员在数据库中定义和执行自定义的程序逻辑,提高应用的灵活性和性能。

Docker是一个开源的容器化平台,它可以帮助开发人员打包、分发和运行应用程序和服务。Docker使用容器技术,将应用程序和其依赖项打包为一个独立的容器,包括代码、运行时环境、系统工具和库等。这使得应用程序可以在不同的环境中快速部署和运行,而不会受到底层系统和软件环境的影响。

Docker的优势在于提供了一种快速、可靠和一致的应用程序交付和部署方式。通过使用Docker,开发人员可以更容易地构建、测试和交付应用程序,同时减少了环境配置和依赖项管理的复杂性。

Docker的重要特性如下:

  • 容器化: Docker将应用程序和其依赖项打包为容器,容器是一个轻量级、独立的运行单元,包含了应用程序和所有所需的依赖项。容器可以在任何支持Docker的环境中运行,提供了一致性和可移植性。
  • 镜像: 镜像是容器的构建模块,它包含了运行应用程序所需的所有文件、配置和依赖项。镜像可以通过Dockerfile定义,并可以从公共或私有的镜像仓库中获取。
  • 容器管理: Docker提供了一组命令和API,用于管理容器的生命周期,包括创建、启动、停止、删除和监控容器的运行状态。
  • 跨平台和一致性: Docker容器可以在不同的操作系统和平台上运行,而不会受到底层环境的影响。这使得开发、测试和部署变得更加一致和可靠。
  • 资源隔离和安全性: Docker利用Linux内核的命名空间和控制组(cgroup)等功能,实现了容器之间的资源隔离和安全性。每个容器都拥有自己的文件系统、网络和进程空间,提供了更好的安全性和可靠性。

在这里插入图片描述

1、拉取镜像

docker pull mysql

2、创建挂载目录

mkdir -p /root/docker/mysql/conf
mkdir -p /root/docker/mysql/data

3、创建配置文件

vim  /root/docker/mysql/conf/my.cnf

内容如下:

[mysqld]
port=3306
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
max_allowed_packet=20971520
server_id=1
expire_logs_days=7
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

5、启动容器

docker run --name mysql  --privileged=true --restart=always   \
-p 3306:3306   \
-v /root/docker/mysql/conf/my.cnf:/etc/mysql/conf.d/mysql.cnf   \
-v /root/docker/mysql/data:/var/lib/mysql   \
-e  MYSQL_ROOT_PASSWORD="lhzlx" -d mysql

-e MYSQL_ROOT_PASSWORD 表示启动时,指定root账户的默认密码

在这里插入图片描述

Logo

更多推荐