Linux中使用Docker安装Mysql

本文详细介绍了如何通过Docker拉取和启动MySQL镜像,处理权限问题,包括挂载权限不足、SELinux和特权模式。最终成功启动并管理MySQL容器,包括登录和连接方法。

1.打开docker仓库地址

docker仓库地址

2.找到mysql复制对应版本的docker命令

3.执行拉取命令

docker pull mysql:5.7

4.查看本机都有哪些镜像,看mysql镜像是否拉取成功

sudo docker images

5.创建并启动我们的mysql的docker容器,命令如下

docker run -p 3306:3306 --name mysql \
  -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 \
  -d mysql:5.7

参数说明:

-p 3306:3306 :将容器的3306端口映射到主机的3306端口

--name mysql: 容器别名

-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用户的密码

-d mysql:5.7以后台方式启动,以mysql:5.7镜像启动

6.查看运行的镜像

docker ps

在这里并没有查看到正在运行的mysql镜像

使用命令查看,可以看到Mysql容器几秒前退出了

docker ps -a

可以看到mysql镜像在启动后就退出了,意味着启动失败了。

使用命docker logs  [容器id]  命令查看日志

docker logs 9a77f9d42a1f

日志中说明挂载权限不足。

解决办法

  1. 在docker run中加入 –privileged=true 给容器加上特定权限
  2. 关闭selinux
  3. 在selinux添加规则,修改挂载目录de

这里用第一种:

首先将之前的mysql容器移除。执行docker rm  [容器id] 命令 

docker rm 9a77f9d42a1f

在docker run中加入privileged=true 重新创建mysql容器并启动。执行如下命令

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

再次查看正在运行的镜像

docker ps

至此mysql镜像启动成功

7.进入容器内部

执行命令docker exec -it 容器id/容器名 /bin/bash

docker exec -it mysql /bin/bash

8.登录mysql

mysql -uroot -p

9.接着就可以像在windows中一样操作mysql

(1)输入quit命令回车退出mysql状态

(2)使用快捷键退出当前mysql容器

ctrl+d :退出容器且关闭, docker ps 查看无
ctrl+p+q :退出容器但不关闭, docker ps 查看有

10.使用navicat连接docker中的mysql

查看虚拟机中的ip地址,输入命令 

ip addr

打开navicat根据ip新建连接输入密码,设置端口号为2222即可连接

 

 

10.虚拟机重启后如何启动mysql镜像

(1)启动docker

systemctl start docker

(2)停止docker

systemctl stop docker

(3)重启docker

systemctl restart docker

(4)启动/停止/重启mysql镜像,执行docker start/stop/restart  [容器id] /[容器别名]命令

docker start 1215dc2d74d5
docker start mysql

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值