Docker安装MySQL5.7
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
然后创建完成后,在root文件下,有个wwh文件,里面会有建这3个文件
运行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
查看date目录的数据:pwd
3:远程连接数据库
centos7查看防火墙的状态:firewall-cmd --state
centos7开放端口号:
firewall-cmd --add-port=3309/tcp --permanent firewall-cmd --add-port=3309/udp --permanent firewall-cmd --reload
在MySQL新建一个链接
4:在服务器中操作数据库
docker exec -i -t wwhmysql bash