我是强哥,一个在互联网苟且的男人,微信搜索【光头强编程】,点个关注不迷路,喜欢文章就支持三连哦

使用Docker安装mysql

  • 前言
  • 一、Linux下docker的安装
    • 1. CentOS Docker
    • 2. 使用 yum 安装 Docker
    • 3.使用get-docker.sh安装 Docker
    • 4.Docker设置镜像加速
    • 5.Docker 常用命令
    • 6.Docker安装结果三连
  • 二、使用Docker安装mysql并运行
    • 1.Mysql创建使用的指令
    • 2.Mysql安装结果三连
  • 三、本地访问docker创建的mysql
    • 1. 两个问题链接问题的解决
    • 2.问题解决
  • 总结

前言

mysql的安装方式有很多种,基本上都是通过下载安装包后安装,通常一个安装包要下载好久,还要去配置系统配置。但是,随着微服务的广泛使用,mysql也可以使用docker进行安装啦,下面就看看mysql是怎么使用docker安装的。


一、Linux下docker的安装

1. CentOS Docker

如图可知Linux使用的操作系统是CentOS系统的,而且还是CentOS 7版本的

2. 使用 yum 安装 Docker

  • Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker ,使用uname -r来查看
  • 安装 Docker,从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE,下面介绍的是Docker CE(社区免费) 的安装与使用
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine
  • 使用到的系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  • 从阿里云上获取
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 更新缓存
sudo yum makecache fast
  • 安装Docker
sudo yum -y install docker-ce
  • 启动 Docker
sudo systemctl start docker
  • 查看docker的状态
    ps:需要有容器运行或者是已经下载了容器,这里我的mysql已经安装好了,所以图上会有mysql容器
docker ps


运行中的容器,证明docker安装成功啦

3.使用get-docker.sh安装 Docker

ps:使用超级用户权限才能操作

  • yum 包更新到最新,使用下面的指令进行操作
sudo yum update
  • 执行 Docker 安装脚本
    使用以下指令以及脚本会直接下载docker.repo源文件并开始安装
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
  • 启动 Docker
sudo systemctl start docker

验证是否安装成功如上一方式。

4.Docker设置镜像加速

  • 建立Docker组
sudo groupadd docker
  • 添加当前用户到docker组
sudo usermod -aG docker $USER
  • 镜像配置
    因为后续会拉取我们所需要的镜像文件,国内的网速属实是有点慢的,因此我们这里使用的镜像源是阿里云提供的镜像加速,登录并且设置密码之后在左侧的 Docker Hub 镜像站点 可以找到专属加速器地址,复制下来,然后执行命令
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["你的加速器地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
  • 重新加载配置,并且重启 Docker 服务
systemctl daemon-reload
systemctl restart docker

5.Docker 常用命令

  • 拉取镜像
docker pull
  • 删除容器
docker rm <容器名 or ID>
  • 查看容器日志
docker logs -f <容器名 or ID>
  • 查看正在运行的容器
docker ps
docker ps -a # 为查看所有的容器,包括已经停止的。
  • 删除所有容器
docker rm $(docker ps -a -q)
  • 停止、启动、杀死指定容器
docker start <容器名 or ID> # 启动容器
docker stop <容器名 or ID> # 启动容器
docker kill <容器名 or ID> # 杀死容器
  • 查看所有镜像
docker images
  • 暴露端口(有时候开发中需要使用的)
# 一共有三种形式进行端口映射
docker -p ip:hostPort:containerPort # 映射指定地址的主机端口到容器端口
# 例如:docker -p 127.0.0.1:3306:3306 映射本机3306端口到容器的3306端口
docker -p ip::containerPort # 映射指定地址的任意可用端口到容器端口
# 例如:docker -p 127.0.0.1::3306 映射本机的随机可用端口到容器3306端口
docer -p hostPort:containerPort # 映射本机的指定端口到容器的指定端口
# 例如:docker -p 3306:3306 # 映射本机的3306端口到容器的3306端口

6.Docker安装结果三连



二、使用Docker安装mysql并运行

1.Mysql创建使用的指令

1.默认拉取最新版本mysql
docker pull mysql2.拉去指定版本mysql
sudo docker pull mysql:5.73.查看拉取的镜像
docker images4.启动mysql容器(创建镜像实例)
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:latest5.var/lib/docker/containers/下查看容器
cd /var/lib/docker/containers/6.进入mysql容器操作台命令:
docker exec -it mysql bash
mysql登录同普通mysql登录操作

2.Mysql安装结果三连

下面是图片三连哦



mysql数据库的操作


三、本地访问docker创建的mysql

1. 两个问题链接问题的解决

  • 1.弹性公网ip无法ping通
  • 2.docker数据库无法访问

2.问题解决

这两个问题是有下面的两个问题所导致

  • 首先检测对应的云数据库的出入限制规则
    我这里使用的数据是华为云数据库,在做

    主要是入方向规则的配置0.0.0.0/0 - 其次进行用户密码的设置
# mysql使用mysql数据库中的user表来管理权限,修改user表就可以修改权限(只有root账号可以修改)mysql> use mysql;
Database changedmysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host                    | user      | password                                                                 |
+--------------+------+-------------------------------------------+
| XXXXXXXXX              | root     | *AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX5E      |
| XXXXXXXXXXXX           | root     | *AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX5E     |
+--------------+------+-------------------------------------------+
2 rows in set (0.00 sec)【我们访问的用户名和密码是这里】
mysql> grant all privileges  on *.* to root@'%' identified by "password";
Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host                    | user      | password                                                                 |
+--------------+------+-------------------------------------------+
| localhost              | root       | *AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX5E     |
| XXXXXXXXXXXX            | root      | *AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX5E     |
| %                       | root      | *AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX5E     |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)

总结

微服务的应用现在到处都是,并且企业中使用它门进行开发的情况也越来越多,越来越广泛被使用,所以我们还是要不断的进行微服务的内容及容器的知识学习。

伟大的人生始于知,止于行。行动是第一生产力,关注我,跟我共同进步。

超详细的Mysql安装教程相关推荐

  1. 超详细的MySQL入门教程(四)

    MySQL:简单的增删改查 查询数据 基本语法介绍 打印任意值 查询表中全部数据 查询表中部分字段 限定条件查询 例1:查询编号值小于指定值的记录 例2:查询地址不等于某值的记录 例3:查询一级地址等 ...

  2. 家用服务器虚拟机装hadoop,超详细hadoop虚拟机安装教程(附图文步骤)

    前两天看到有人留言问在什么情况下需要部署hadoop,我给的回答也很简单,就是在需要处理海量数据的时候才需要考虑部署hadoop.关于这个问题在很早之前的一篇分享文档也有说到这个问题,数据量少的完全发 ...

  3. 超详细IntelliJ IDEA安装教程

    IDEA安装目录 一.IDEA 的下载 二.IDEA安装 1.1 安装前的准备 1.2 安装过程 1.3 初始化配置与激活 1.4创建项目 1.5 新建Java类 三.JDK的下载安装与配置(没配好J ...

  4. 超详细的Java安装教程(Mac 版)

    在本机Mac OS上安装JDK以及配置环境,本篇是最详细的教程,细化每个步骤过程,保姆级的教程! 目录 一.下载JDK安装包 二.安装 三.查询安装路径 四.配置环境变量 五.使配置生效 ------ ...

  5. 超详细hadoop下载安装教程(附图文)

    在前几篇的文章中分别就虚拟系统安装.LINUX系统安装以及hadoop运行服务器的设置等内容写了详细的操作教程,本篇分享的是hadoop的下载安装步骤. 在此之前有必要做一个简单的说明:分享的所有内容 ...

  6. hadoop安装详细步骤_推荐一个超详细的Hadoop安装教程,已有32万次阅读

    安装Hadoop软件系列,首选Linux系统,比如Ubuntu.如果你的系统是Windows,建议再安装一个Ubuntu,组成双系统,如此可以发挥各自系统的特点. 使用U盘制作一个系统,拿出一块分区用 ...

  7. 超详细的MySQL入门教程(五)

    MySQL:运算符 基本知识 算术运算符 加法运算 减法运算 乘法运算 除法运算 求商.求余运算 比较运算符 数值大小比较 空值判断 数组判断 文本模式(正则)匹配 逻辑运算符 逻辑与(AND或&am ...

  8. 超详细的MySQL入门教程(三)

    MySQL:简单库表管理 一些基本概念 表 字段 约束 索引 视图 存储过程 触发器 事务 简单的数据库管理 查看并选择数据库 查看数据库创建语句 创建数据库 修改数据库 删除数据库 简单的数据表管理 ...

  9. 超详细的MySQL入门教程(一)

    MySQL:介绍和部署 认识数据库 什么是数据库 计算机数据库的分类 关系型数据库的结构 关系型数据库的三大范式 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) SQL语言介绍 主流数据库 ...

最新文章

  1. SimpleInjector 简单使用
  2. 088_html5表单属性
  3. 关于私有变量,静态私有变量
  4. Android菜鸟的成长笔记(13)——异步任务(Async Task)
  5. 华为的型号命名规则_华为Mate 40 Pro+ 外观曝光 正面双挖孔 背部奥利奥
  6. mysql集群重启offline_mysql集群搭建问题及解决方法集锦
  7. 蓝图中实现人物移动1
  8. 个人开发者福利:没有注册公司,如何发布自己的小程序
  9. 6 Django系列之关于models的sql语句日常用法总结
  10. mui打包ios_优品视界,聚合影视APP源码。mui框架,hbuilder即可编译,云打包生成ios的Android的app...
  11. 大整数相乘 + 分治法(JS)
  12. C++ 前向声明(转载)
  13. 怎样区分现代艺术和幼儿涂鸦
  14. c语言无法定位程序输入点,【求助】无法定位程序输入点PacketGetVersion于动态链接库Packet.dll上...
  15. Axure RP小部件使用教程
  16. java 汇率转换_汇率转换 实现了一个用于多币种之间汇率转换的程序 联合开发网 - pudn.com...
  17. 创业者应该问投资人的10个问题
  18. JavaScript趣味编程--仿微信飞机大战游戏--1.画飞机
  19. 心脏滴血漏洞(CVE-2014-0160)
  20. 潍坊一个月收入多少算正常?

热门文章

  1. 分享111个HTML娱乐休闲模板,总有一款适合您
  2. QQ邮箱邮件被拦截该怎么办?邮件被拦截的三种解决办法
  3. 使用word进行图片的有序命名
  4. 2016年软考程序员模拟预测习题20题
  5. 使用python进行基音周期的计算
  6. win10计算机丢失msvcr,win10系统运行程序提示计算机中丢失msvcr110.dll的教程
  7. 研华IO板卡驱动安装与PICE-1753(PCIE-1751)接线说明
  8. PS176.PD转HDMI芯片简介以及封装
  9. Java小白浅浅浅谈阿里巴巴中台战略思想
  10. 特斯拉又撞“人”了 汽车激光雷达“盛宴”开启