【docker】Docker部署mysql并提供客户端访问

在服务器使用docker镜像创建容器来部署数据库,如mysql,这种方式是超级常见的,学习时间久了,有点过程会容易遗忘,特此写下博客记录,方便以后使用。

1.CentOS 7 安装docker环境

https://www.cnblogs.com/mazhilin/p/11553510.html

2.docker pull最新mysql镜像

获取mysql镜像

docker search mysql   //查询mysql镜像 
docker pull mysql    //拉取最新的mysql镜像   
docker images      //查看是否获取mysql镜像

3.基于mysql镜像创建并运行容器

根据服务器可用端口号与容器端口号映射关系,考虑是否需要挂载mysql容器目录到服务器目录,是否需要将容器创建到指定网络,设置root账户的密码(后面连接mysql需要使用)等,创建自己的mysql容器。

有端口映射 + 网络 + 挂载等:

docker run --name image_mysql --privileged=true -p 8099:3306 --network datasetbuilder -v /home/data/mysql/datadir:/var/lib/mysql -v /home/data/mysql/conf.d:/etc/mysql/conf.d -e  MYSQL_ROOT_PASSWORD=123456 -d  mysql:latest

有端口映射 + 挂载:

docker run --name image_mysql --privileged=true -p 8099:3306 -v /home/data/mysql/datadir:/var/lib/mysql -v /home/data/mysql/conf.d:/etc/mysql/conf.d -e  MYSQL_ROOT_PASSWORD=123456 -d  mysql:latest

参数说明:
–name:指定容器名
–p:映射宿主主机端口
-v:挂载宿主目录到容器目录
-e:设置环境变量,此处指定root密码
-d:后台运行容器
–privileged=true 防止挂载数据卷出现权限问题

docker ps  -a  //查看容器是否运行成功

在这里插入图片描述

4.进入容器设置客户端访问权限

(1)进入mysql容器
 docker exec -it 容器名/bin/bash   //进入容器
 如:
 docker exec -it image_mysql /bin/bash   //进入容器

如果想退出容器:输入exit,或者按Ctr+D。

(2)连接mysql
mysql -u root -p

输入root账户的密码,即可连接成功。

(3)修改root 可以通过任何客户端连接
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
(4)退出mysql连接

输入exit,或者按 Ctr+D

mysql>exit

5.宿主机或远程客户端工具访问:

mysql -h 127.0.0.1 -P 3306 -u root -p

然后可以使用navicat等mysql客户端操作该数据库。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值