docker安装mysql

1、下载mysql镜像

docker pull 下载镜像的命令,如果不跟tags(:5.7),就是下载最新的mysql
docker pull mysql:5.7 下载5.7版本的镜像
whoami 查看当前用户 是root用户直接执行以下命令。

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

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

参数说明
–name :为我们当前启动的容器命名
-p 3306:3306:将容器的3306端口映射到主机的3306端口
-v/mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机,通过在linux就可以查看了
-v /mydata/mysg/log:/ar/log/mysql:将日志文件夹挂载到主机
-v /mydata/myq/data/var/ib/mysql/:将配置文件夹挂载到主机
-e MYSQL ROOT PASSWORD=root: 初始化root用户的密码
-d:后台启动 版本为5.7的mysql的镜像

输入命令之后看到一长串字符串表示启动成功
切换为root账户
su root
docker ps 查看启动的镜像

启动成功后,去阿里云开放端口,然后就可以通过mysql连接工具连接了

每docker run 一次就会启动一个docker容器,docker容器之间是互相隔离的,每一个容器都是一个完整的运行环境。mysql装在linux环境,这个容器其实就是一个完整的linux

docker安装mysql_第1张图片
linux和mysql容器之间的3306端口建立映射关系,通过访问linux的3306端口就能访问到mysql容器
如何验证?
docker exec -it mysql /bin/bash 进入到这个mysql容器的内部,mysql可以是名字,也可以是id 然后发现用户名变了,不再是qinshuoyu,然后ls /发现目录结构其实就是一个完整的linux目录结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A74yOmlQ-1647053389851)(F:\java工作总结-7-26\谷粒商城\分布式基础\image-20201120223229375.png)]

3.创建配置文件

exit 退出mysql容器
cd /mydata/mysql 进入到此目录验证一下是否存在挂载的目录
进入到 /mydata/mysql/conf,vim my.conf

[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=utf8
collection-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

重启mysql镜像 docker restart mysql
然后再进入到mysql容器中,看看刚才被挂载的地方是否存在该文件 ll 命令在容器内失效,需要配置一下,或者使用ls

你可能感兴趣的:(从零开始学架构,#,MySQL,docker,mysql,容器)