前言
随着Docker技术的日益成熟,它已经成为了一种快速、高效且可靠的部署应用的方式。特别是在服务器环境中,Docker可以帮助我们快速地构建、运行和管理应用程序。在这篇博客中,我们将详细介绍如何在CentOS 7上通过Docker安装MySQL 5.7。我们将从安装Docker开始,然后逐步引导你完成MySQL的安装、配置和使用。无论你是新手还是老手,我们都会用最简单的方式为你呈现这个过程。
在开始之前,请确保你的CentOS 7系统已经更新到最新版本,并且已经安装了必要的依赖项。
一.介绍
Docker 中文网址: https://www.dockerdocs.cn
Docker Hub官方网址:https://hub.docker.com
Docker Hub中MySQL介绍:https://hub.docker.com/_/mysql
切换到“Tags”页面,复制指定的MySQL版本拉取命令,例如 :docker pull mysql:5.7
准备
先创建3个目录,创建MySQL容器时会挂载容器的卷(Volume),用于Docker和宿主机(Centos)之间文件共享,包括配置文件、数据文件和日志文件。
什么是卷(Volume)?命令 docker -v 中的“-v”就是这个卷,“-v”只是“--volume”的简写。
客官请留步,多少的看一下!!!
Docker官方文档解释卷的含义:https://docs.docker.com/storage/volumes/
二.正式安装
1.安装MySQL的多级安装目录
使用 -p 创建多级目录,即 mydata 目录下创建 mysql 目录, mysql 目录下又创建 log 、data 、conf 三个目录:
mkdir -p /mydata/mysql/log mkdir -p /mydata/mysql/data mkdir -p /mydata/mysql/conf
2.拉取MySQL5.7镜像。
docker pull mysql:5.7
3.创建容器
:使用自定义的 custom.cnf 配置文件。
(1)在 /mydata/mysql/conf/
目录下创建自定义的 custom.cnf
配置文件。文件名随意,文件格式必须为 .cnf
。
vim /mydata/mysql/conf/custom.cnf
(2)添加容器运行的配置参数。使用的是 utf8mb4
编码而不是 utf8 编码。
[client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] init_connect="SET collation_connection = utf8mb4_unicode_ci" init_connect="SET NAMES utf8mb4" character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci skip-character-set-client-handshake skip-name-resolve
(3)创建容器并运行。
docker run --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
4.进入容器
docker exec -it mysql bash
mysql -u root -p123456
切换到 mysql 数据库,并查看 user 表。
use mysql;
select user,host from user;
5.远程连接
三.容器的基本操作
启动容器
docker start mysql 或 docker start 容器ID
复制
停止容器
docker stop mysql 或 docker stop 容器ID
复制
删除容器
docker rm mysql 或 docker rm 容器ID
复制
重启容器
docker restart mysql 或 docker restart 容器ID
复制
查看状态
查看所有容器的运行状态,包括运行的和停止的
docker ps -a
复制
查看所有运行中的容器的状态,不包括停止的
docker ps