1.镜像仓库搜索mysql

官方地址

https://hub.docker.com/

在这里插入图片描述
在这里插入图片描述

2.拉取最新镜像

在这里插入图片描述

3.拉取指定版本镜像

docker pull mysql:版本号
例如:

docker pull mysql:5.7

4.查看下载镜像

docker images

5.创建实例并启动

在这里插入图片描述

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

6.查看启动中容器

docker ps

7.进行mysql容器,证明是一个完整独立的运行环境

docker exec -it 容器id或容器名称 /bin/bash

docker exec -it mysql /bin/bash

ls

whereis mysql

8.docker容器文件挂载与端口映射

在这里插入图片描述
/etc/mysql:mysql配置文件目录
/var/log/mysql:mysql日志文件目录
/var/lib/mysql:mysql数据文件

9.修改mysql配置文件

在这里插入图片描述

vi /mydata/mysql/conf/my.cnf
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
#设置3306端口
port=3306 
# 设置mysql的安装目录
#basedir=E:\05install\mysql\mysql-5.7.19-winx64
# 设置mysql数据库的数据的存放目录
#datadir=E:\05install\mysql\mysql-5.7.19-winx64\data
# 允许最大连接数
max_connections=200
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#collation-server=utf8_general_ci
collation-server=utf8_unicode_ci
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 免密码登陆
# skip-grant-tables
skip-character-set-client-handshake
#解决mysql连接慢的问题
skip-name-resolve

## group by 查询报错
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#忽略大小写
lower_case_table_names=1

10.重启mysql

docker restart mysql

可以进入容器,查看容器中mysql配置文件也会存在

11.设置开机启动mysql

docker update mysql --restart=always

12.关闭开机启动mysql

docker update mysql --restart=no
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐