Docker安装mysql5.7详细教程

Docker安装mysql5.7详细教程

提示:还没有在虚拟机中安装docker的同学们,可以先查看我的这份博客啊:Centos7安装docker,配置阿里云镜像加速.



一、使用命令拉取mysql

1、拉取mysql的命令为 docker pull mysql ,但是这样的话,docker会自动帮你拉取最新的版本的mysql,一般最好就是在mysql后面指定版本号,才能拉取到想要的版本。我这里选择拉取mysql5.7,命令如下:

docker pull mysql:5.7

2、如果提示权限不足的话,需要使用管理员的方式执行,命令如下:
不能直接拉取5.7了,还是选取稳定版:5.7.34,注意注意!!!

sudo docker pull mysql:5.7.34

3、出现下面的信息则代表镜像下载完成。
在这里插入图片描述

二、检查下载的mysql镜像

我们可以使用如下命令检查当前下载好的镜像:

sudo docker images

在这里插入图片描述


三、创建root用户实例并启动

我们需要执行一下命令去创建用户实例,配置用户密码。

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=123456 \
-d mysql:5.7.34

参数说明:

-p 3306:3306 --name mysql \				# 将容器的3306端口映射到主机的3306端口,'\'指换行符,下同
-v /mydata/mysql/log:/var/log/mysql \	# 将配置文件夹挂载到主机,冒号左边为Linux的目录结构,右边为docker内部的
-v /mydata/mysql/data:/var/lib/mysql \	# 将日志文件夹挂戟到主机
-v /mydata/mysql/conf:/etc/mysql \		# 将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=123456 \			# 初始化root用户的密码为:123456
-d mysql:5.7

出现如下信息则代表数据库实例创建成功。
在这里插入图片描述


四、远程连接mysql数据库

1、我们首先可以执行命令查看运行中的服务

docker ps

2、如图,可以看到目前mysql正在运行,并占用3306端口。
在这里插入图片描述
3、使用Navicat工具远程连接mysql
如图所示,大家可以先点击【连接】,选择第一项【mysql】,之后输入【连接名】等信息,最后点击【测试连接】,如果显示【连接成功】,则代表一切都配置好了,最后点击【确定】。
在这里插入图片描述
4、注意,如果你使用的是云服务器,mysql部署在云上,就需要先放行3306端口,才能连接成功!
在这里插入图片描述

至此,安装mysql环节已经结束,下面为进阶环节,只看安装部分的同学可以选择不看。


五、进入mysql操作控制台

我们可以使用命令进入mysql的控制台,对mysql进行一些操作,命令如下:

docker exec -it mysql /bin/bash

如图,就已经进入mysql内部,并能看到在Linux环境下的目录结构.
在这里插入图片描述

六、查看mysql挂载的文件夹

由于在创建实例的时候,已经将部分文件夹挂载到Linux目录下,所以我们修改一些mysql的配置文件,不需要再进入docker环境下,直接在Linux环境下操作即可。挂载的目录为:

cd /mydata/mysql

如图,能看到我们常用的一些mysql的文件夹。以后直接操作这些文件夹即可。
在这里插入图片描述

七、修改mysql默认配置

1、我们首先要进入mysql的conf目录。

cd /mydata/mysql/conf

由于目前还没做操作,所以还是空文件夹。
在这里插入图片描述
2、我们输入命令,创建配置文件

vim my.cnf

如图,敲完命令进去会显示这是一个新文件。
在这里插入图片描述
3、我们复制以下内容,插入并保存

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

如图所示:
在这里插入图片描述
4、我们需要重启一下mysql,才能运用到刚刚修改的配置。
首先,我们使用命令查看一下mysql运行状态:

docker ps

如图所示为正在运行中的mysql

5、重启docker中的mysql

docker restart mysql

如图,mysql重启成功,也能引用配置好的文件。
在这里插入图片描述
6、进入docker中的mysql控制台查看文件是否配置成功

# 1、进入操作台
docker exec -it mysql /bin/bash
# 2、进入mysql配置文件目录
cd /etc/mysql/
# 3、列出文件
ls
# 4、猫一眼该文件
cat my.cnf
# 5、没问题就退出
exit

最终结果如图所示:
在这里插入图片描述

总结

此教程较长,希望大家一步一步来哦,相信你们。如有不严谨之处,也希望大家指正。

# 设置mysql每次开机随docker自启动
docker update mysql --restart=always

在这里插入图片描述

  • 18
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋枫萧竹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值