Docker快速部署mysql数据库附带解决问题
文章目录
前言
提示:此文仅供作个人分享,如有雷同纯属巧合
一、Docker安装
1.安装Docker
yum install -y docker
2.查看Docker是否安装成功
yum list installed |grep docker
3.开机启动Docker程序设置
systemctl start docker.service
systemctl enable docker.service
4.查看Docker启动状态
systemctl status docker
二、安装mysql
1.拉取镜像
docker pull mysql:5.7
2.启动mysql容器
# -p 将容器中的端口 3306 映射到宿主机上 3306 端口
# -v 将容器中的目录挂载到本地目录
# -e MYSQL_ROOT_PASSWORD=root 数据库密码 root
# -d mysql: 后台启动刚刚拉取的镜像
docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
3.检查容器是否启动成功
docker ps
三、连接Mysql
1.登录mysql
docker exec -it mysql bash
mysql -uroot -p123456
2.开放权限
给全部用户或个别用户开通访问权限
grant all privileges on *.* to root@'%' identified by "password";
flush privileges; #刷新权限,赋完权限后一定要执行的操作
grant all privileges on *.* to root@'具体IP地址' identified by "password";
flush privileges; #刷新权限,赋完权限后一定要执行的操作
3.关闭防火墙开放端口
开通服务器策略
开通防火墙端口
#查看防火墙状态
systemctl status firewalld
#打开防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld
#打开防火墙指定端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload #添加开启的端口号后一定要更新防火墙规则