目录
一、前言
本文讲述了Docker如何容器化部署Mysql
二、Mysql简介
MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL作为网站数据库。
三、安装步骤
1、创建文件夹
mkdir -p /root/tool/docker/database/mysql1/data && chmod 777 /root/tool/docker/database/mysql1/data
2、进入文件夹
cd /root/tool/docker/database/mysql1
3、自定义配置文件my.cnf
vim my.cnf
将以下配置粘贴进去即可 插入命令:i 保存命令::wq
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
skip-host-cache
skip-name-resolve
datadir = /var/lib/mysql
!includedir /etc/mysql/conf.d/
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
4、拉取镜像到本地
docker pull mysql:5.7
5、查看是否拉取到镜像
docker images mysql
6、运行mysql镜像
docker run --name mysql5.7 --restart=always \
-v /root/tool/docker/database/mysql1/data:/var/lib/mysql \
-v /root/tool/docker/database/mysql1/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=此处为自己的root账户密码 \
-d \
-p 13306:3306 mysql:5.7
-d 后台运行容器,并返回容器ID,也即启动守护式容器
-p 23306:3306 映射容器服务的 3306 端口到宿主机的 23306 端口,外部主机可以直接通过 宿主机ip:23306 访问到 MySQL 的服务。
--name=mysql56 容器别名
--restart=always 重启策略:在容器退出时总是重启容器
-e MYSQL_ROOT_PASSWORD=123456 root账号初始密码
7、检查mysql容器是否部署成功
docker ps | grep mysql
8、测试连接
8.1 进入控制台
docker exec -it 此处为mysql的容器ID bash
8.2 输入账密进入mysql
mysql -u root -p
8.3 退出mysql与控制台命令
exit