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、出现下面的信息则代表镜像下载完成。
二、检查下载的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