Docker入门连载——(5)docker安装mysql

安装mysql

我们还是先看看docker这张最金典的架构图
在这里插入图片描述
整个docker在使用过程中最核心的就是他的镜像,那么我们在用任何的软件服务之前,我们都要把镜像下载下来,因为一个镜像就是我们的一个软件环境,如果我们想让进行运行成软件服务的话,就要用到我们的docker run 命令把他运行成一个容器才可以,所以我们来试试mysql在docker中使用。

1.拉取mysql镜像到本地

访问docker镜像官网(类似于maven仓库那种) 搜索mysql
进入官方版本在这里插入图片描述
查看支持版本,这里不太多
在这里插入图片描述

docker pull mysql:tag (tag不加默认最新版本)

在这里插入图片描述

2.运行mysql服务

docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:tag  						  --没有暴露外部端口外部不能连接
docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d  mysql:tag  --暴露外部端口

注意: (1)-e 后跟MYSQL_ROOT_PASSWORD常量,代表给root用户设置密码,参数必选,以上代表密码为root,不然运行失败。(2)tag代表版本,需要与docker images中名字对应

没有开放外部端口的情况下记得用

docker exec -it mysql bash

命令进入容器内部操作哦。
在这里插入图片描述
可以看到可以进入。
然后我们来暴露外部端口运行
在这里插入图片描述
能够进入,我们用外部工具来测试下能不能访问
在这里插入图片描述
成功访问

3.进入mysql容器

docker exec -it 容器名称|容器id bash

4.外部查看mysql日志

docker logs 容器名称|容器id

5.使用自定义配置参数

docker run  -p 3306:3306--name mysql -v /root/mysql/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql:tag

6.将容器数据位置与宿主机位置挂载保证数据安全

docker run --name mysql -v /root/mysql/data:/var/lib/mysql -v /root/mysql/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:tag

因为数据是在docker容器内部

7.通过其他客户端访问 如Navicat等工具

8.将mysql数据库备份为sql文件

docker exec mysql|容器id sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql  --导出全部数据
docker exec mysql sh -c 'exec mysqldump --databases 库表 -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql  --导出指定库数据
docker exec mysql sh -c 'exec mysqldump --no-data --databases 库表 -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql  --导出指定库数据不要数据

9.执行sql文件到mysql中

docker exec -i mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /root/xxx.sql
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章