docker上安装mysql
1、拉取镜像
docker pull mysql:5.7.26
2、运行容器
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.26
2.1 查看mysql容器:docker ps |grep mysql
2.2 进入容器:docker exec -it mysql /bin/bash
3、修改配置文件
3.1 创建挂载目录
退出容器,创建挂载目录
mkdir -p /mysql/conf
mkdir -p /mysql/data
mkdir -p /mysql/logs
3.2 进入容器查看创建的目录
docker exec -it mysql /bin/bash
进入etc/mysql 下查看文件
第一个文件内容
第二个文件内容
第一个文件的配置文件中的内容
第二个文件的配置文件中的内容
上面配置文件中可以看到(也可以搜索:find / -name "*mysql*",有通配符需要加引号)
数据目录:/var/lib/mysql/
日志目录:/var/log/mysql/
配置目录:/etc/mysql/mysql.conf.d/
也可以这样查看数据目录
自带的mysql数据库有user.frm:find / -name "user.frm"
查看数据目录,框起来的是数据库
3.3 修改配置文件
复制容器中配置文件到本机:docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /mysql/conf/
修改配置文件:vim mysqld.cnf
这里只修改编码
在 [mysqld] 前添加如下配置:
[client]
default
-character-
set
=utf8
在 [mysqld] 后添加如下配置:
character-
set
-server=utf8
3.4 重新运行容器
删除之前的容器:docker rm -f mysql
重新运行:
docker run \--name mysql \
-p 3306:3306 \
-v /mysql/conf:/etc/mysql/mysql.conf.d/ \
-v /mysql/data:/var/lib/mysql/ \
-v /mysql/logs:/var/log/mysql/ \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7.26 宿主机可以看到容器的mysql数据目录
进入容器:docker exec -it mysql /bin/bash cat /etc/mysql/mysql.conf.d/mysqld.cnf,可以看到宿主机的配置文件
4、本地连接
参考https://www.cnblogs.com/uncleyong/p/15573192.html
标签:容器,配置文件,conf,mysql,docker,安装,目录 From: https://www.cnblogs.com/aiyumo/p/17785143.html