美文网首页
Docker 下安装mysql

Docker 下安装mysql

作者: 你笑时很美丶 | 来源:发表于2019-05-07 11:41 被阅读0次

1.查看docker仓库中mysql的最新版 https://hub.docker.com/_/mysql

版本
  • 或者在linux中直接搜索[图2]:
#docker search 
docker search mysql
图2

2.下载镜像(因为我已经安装了就不贴图了)

#docker pull 下载命令
docker pull mysql:8.0.16

3.查看是否下载成功

docker images |grep mysql
图3

4.创建目录mysql,用于存放后面的相关东西

#这里路径自行修改
mkdir -p /project/docker/mysql/logs /project/docker/mysql/conf /project/docker/mysql/data
  • data目录将映射为mysql容器配置的数据文件存放路径
  • logs目录将映射为mysql容器的日志目录
  • conf目录里的配置文件将映射为mysql容器的配置文件

5.启动mysql镜像

docker run -p 3306:3306 --restart=always -v /project/docker/mysql/conf:/etc/mysql/conf.d -v /project/docker/mysql/logs:/var/log/mysql -v /project/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql -d mysql:8.0.16
  • --name: 以啥名字启动容器
  • -d mysql:需要启动的容器的名称
  • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
  • -v /project/docker/mysql/conf:/etc/mysql/conf.d:将主机当前目录下的 /project/docker/mysql/conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
  • /project/docker/mysql/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
  • /project/docker/mysql/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql
  • -e MYSQL_ROOT_PASSWORD=12345:初始化mysql密码

6.查看镜像是否启动成功

docker ps
#进入mysql镜像
docker exec -it mysql bash
#进入mysql
mysql -uroot -p123456
#停止镜像 name/id
docker stop id
#启动镜像 name/id
docker start name/id
图6
  • 若安装成功也连接不上:
  • 开放阿里云端口(在安全组中添加3306)
  • 开放防火墙端口
#检查防火墙端口
netstat -apn|grep 3306
#若3306被占用请删除镜像重新run一个端口
#开启3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#在不改变状态的条件下重新加载防火墙
firewall-cmd --reload
  • 设置mysql权限,root允许被任意IP地址访问
update mysql.user set host = '%' where user = 'root';
#GRANT ALL ON *.* TO 'root'@'%';
#若仍然不行
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123456';
#刷新权限
flush privileges;

#'root'@'%' 中的root为用户名,'%'为user表host字段的值,'root123456'为用户密码

相关文章

网友评论

      本文标题:Docker 下安装mysql

      本文链接:https://www.haomeiwen.com/subject/hawsoqtx.html