前言
使用docker安装mysql&redis更简便节省了很多配置,并且其中的服务是相互独立的,可以做到一台机器开启多个服务。
1、安装mysql镜像文件
1.1、安装
docker pull mysql:5.7
1.2、查看镜像
docker images

2、创建实例并启动
2.1、创建启动
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# 如果 \ 转置不能用就去除,使用以下命令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
2.2、命令结束
参数说明
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机 ,冒号前为主机地址后为容器地址
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
2.3、查看运行实例
docker ps

3、编写mysql配置文件
3.1、编写主机挂载的配置文件
vim /mydata/mysql/conf/my.cnf
3.2、配置内容
[client]default-character-set=utf8[mysql]default-character-set=utf8[mysqld]init_connect='SET collation_connection = utf8_unicode_ci'init_connect='SET NAMES utf8'character-set-server=utf8collation-server=utf8_unicode_ciskip-character-set-client-handshakeskip-name-resolve
3.3、重启mysql容器
docker restart mysql

4、进入容器内部
4.1、进入容器
docker exec -it mysql /bin/bash
4.2、查看之前主机修改的文件内容
cat /etc/mysql/my.cnf

4.3、退出容器
exit

5、关闭容器
docker stop mysql


