Docker安装MySQL5.7
2021/8/1 19:37:33
本文主要是介绍Docker安装MySQL5.7,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言
前面我们在centos安装过mysql5.7,需要安装各种依赖环境,在windows环境上安装mysql更是噩梦连连,在docker上安装mysql,非常简便。
1.拉取数据库镜像
根据自己的需求找到对应的 mysql 版本, 通过docker pull命令下载。
可以在docker的镜像仓库找到不同TAG标签的版本https://hub.docker.com/_/mysql?tab=tags
我们这里选择5.7版本
docker pull mysql:5.7
docker images命令查看镜像是否下载成功
2.配置mysql
创建mysql目录,用于存放mysql相关配置及数据
mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录
~ : ”/“是根目录,”~“是家目录。Linux存储是以挂载的方式,相当于是树状的,源头就是”/“,也就是根目录。
而每个用户都有”家“目录,也就是用户的个人目录,比如root用户的”家“目录就是/root,普通用户a的家目录就是/home/a
mkdir -p ~/wwh/mysql/conf ~/wwh/mysql/data ~/wwh/mysql/logs
创建完成后,在当前用户的home目录(root用户在root目录),会有三个文件夹。
运行mysql容器
docker run -p 3309:3306 --name wwhmysql -v ~/wwh/mysql/conf:/etc/mysql/conf.d -v ~/wwh/mysql/logs:/logs -v ~/wwh/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
命令说明:
- --name 重命名wwhmysql
- -p 3309:3306:将容器的 3306 端口映射到主机的 3309 端口。
- -v -v /wwh/mysql/conf:/etc/mysql/conf.d:将主机/wwh/mysql/conf 挂载到容器的 /etc/mysql/my.cnf。
- -v /wwh/mysql/logs:/logs:将主机/wwh/mysql 目录挂载到容器的 /logs。
- -v ~/wwh/mysql/data:/var/lib/mysql :将主机~/wwh/mysql/data目录挂载到容器的 /var/lib/mysql 。
- -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
- -d 挂后台运行
启动完成后,查看运行状态
docker ps
安装好查看data目录的数据
3.远程连接数据库
注意:如果防火墙打开了,要把3309端口号加到防火墙中,要么就关闭防火墙
centos7关闭防火墙:systemctl stop firewalld.service
centos7查看防火墙的状态:firewall-cmd --state
centos7开放端口号:
firewall-cmd --add-port=3309/tcp --permanent firewall-cmd --add-port=3309/udp --permanent firewall-cmd --reload
3.1、服务器重启了,但是数据库连接不上怎么办?
1.手动启动mysql容器
通过docker ps 查看当前启动的容器
docker start 容器id或者名称
2.设置容器开机自启动
docker update --restart=always 容器id
4.在服务器中操作数据库
首先要进入进入容器bash,然后输入密码123456进行登录
docker exec -i -t wwhmysql bash
不想要这个数据库了,咋办
5.删除容器
- 查看容器
docker ps -a
2. 删除容器
如果这个容器不想要,删除也非常简单。通过docker ps 找到容器的 CONTAINER ID
docker stop 5b4f4c6a89d8 # 停止容器运行 docker rm 5b4f4c6a89d8 # 删除容器
3. 删除镜像
首先通过 docker images 找到镜像IMAGE ID。
然后,通过docker rmi 命令删除。
docker rmi cc8775c0fe94
原来新建的存放数据的wwh也删除掉
这篇关于Docker安装MySQL5.7的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南
- 2024-12-07MySQL慢查询入门:快速掌握性能优化技巧
- 2024-12-07MySQL入门:新手必读的简单教程
- 2024-12-07MySQL入门:从零开始学习MySQL数据库
- 2024-12-07MySQL索引入门:新手快速掌握MySQL索引技巧
- 2024-12-06BinLog学习:MySQL数据库BinLog入门教程
- 2024-12-06Binlog学习:MySQL数据库的日志管理入门教程