Docker安装mysql5.7详细教程

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



文章目录

  • Docker安装mysql5.7详细教程
  • 一、使用命令拉取mysql
  • 二、检查下载的mysql镜像
  • 三、创建root用户实例并启动
  • 四、远程连接mysql数据库
  • 五、进入mysql操作控制台
  • 六、查看mysql挂载的文件夹
  • 七、修改mysql默认配置
  • 总结



一、使用命令拉取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、出现下面的信息则代表镜像下载完成。

docker安装的mysql的log目录在那里 docker安装mysql5.7_centos

二、检查下载的mysql镜像

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

sudo docker images

docker安装的mysql的log目录在那里 docker安装mysql5.7_数据库_02


三、创建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

出现如下信息则代表数据库实例创建成功。

docker安装的mysql的log目录在那里 docker安装mysql5.7_docker_03


四、远程连接mysql数据库

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

docker ps

2、如图,可以看到目前mysql正在运行,并占用3306端口。

docker安装的mysql的log目录在那里 docker安装mysql5.7_centos_04


3、使用Navicat工具远程连接mysql

如图所示,大家可以先点击【连接】,选择第一项【mysql】,之后输入【连接名】等信息,最后点击【测试连接】,如果显示【连接成功】,则代表一切都配置好了,最后点击【确定】。

docker安装的mysql的log目录在那里 docker安装mysql5.7_数据库_05


4、注意,如果你使用的是云服务器,mysql部署在云上,就需要先放行3306端口,才能连接成功!

docker安装的mysql的log目录在那里 docker安装mysql5.7_数据库_06

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


五、进入mysql操作控制台

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

docker exec -it mysql /bin/bash

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

docker安装的mysql的log目录在那里 docker安装mysql5.7_centos_07

六、查看mysql挂载的文件夹

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

cd /mydata/mysql

如图,能看到我们常用的一些mysql的文件夹。以后直接操作这些文件夹即可。

docker安装的mysql的log目录在那里 docker安装mysql5.7_mysql_08

七、修改mysql默认配置

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

cd /mydata/mysql/conf

由于目前还没做操作,所以还是空文件夹。

docker安装的mysql的log目录在那里 docker安装mysql5.7_docker_09


2、我们输入命令,创建配置文件

vim my.cnf

如图,敲完命令进去会显示这是一个新文件。

docker安装的mysql的log目录在那里 docker安装mysql5.7_centos_10


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

如图所示:

docker安装的mysql的log目录在那里 docker安装mysql5.7_linux_11


4、我们需要重启一下mysql,才能运用到刚刚修改的配置。

首先,我们使用命令查看一下mysql运行状态:

docker ps

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

docker安装的mysql的log目录在那里 docker安装mysql5.7_mysql_12


5、重启docker中的mysql

docker restart mysql

如图,mysql重启成功,也能引用配置好的文件。

docker安装的mysql的log目录在那里 docker安装mysql5.7_mysql_13


6、进入docker中的mysql控制台查看文件是否配置成功

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

最终结果如图所示:

docker安装的mysql的log目录在那里 docker安装mysql5.7_docker_14

总结

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

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

docker安装的mysql的log目录在那里 docker安装mysql5.7_centos_15