本节将介绍在线使用Docker安装MySQL数据库的步骤。通过本节的实操,您可以掌握从Docker环境的使用,MySQL镜像的拉取、导入、MySQL容器的启动,再到MySQL命令行的连接等相关操作,从而具备使用Docker安装并部署MySQL的能力。本节要求您具备的基本能力有Linux,Docker,以及MySQL.

准备Docker环境

左侧的线上环境已经为您准备好了Docker环境,可以使用以下命令进行验证。

docker --version

准备MySQL镜像

通常,我们无论是使用MySQL还是其它的镜像,都是从Docker Hub这样的公有镜像仓库或私有镜像仓库中使用docker pull 镜像名这样的命令拉取,但因为拉取速度问题,我们采用直接导入镜像的方法来准备MySQL。

docker load < /share/images/mysql.5.7.tar

会出现如下提示

e9dc98463cd6: Loading layer 58.48MB/58.48MB

7288a4c980c6: Loading layer 338.4kB/338.4kB

683d7a4130fe: Loading layer 10.44MB/10.44MB

5547ac6d39e8: Loading layer 4.472MB/4.472MB

9a341d74c9b2: Loading layer 1.536kB/1.536kB

7acae26d323c: Loading layer 46.15MB/46.15MB

9e88946b01ba: Loading layer 32.77kB/32.77kB

7c808cd26970: Loading layer 3.584kB/3.584kB

252c276e7a19: Loading layer 258.4MB/258.4MB

3b7576a71f0c: Loading layer 9.728kB/9.728kB

7848732ef73b: Loading layer 1.536kB/1.536kB

Loaded image: mysql:5.7

在上方命令导入成功后,我们进行验证下:

docker images

出现以下提示则代表镜像导入成功

REPOSITORY TAG IMAGE ID CREATED SIZE

mysql 5.7 383867b75fd2 9 months ago 373MB

更多的详情可以查看MySQL镜像在Docker Hub上的文档:https://hub.docker.com/_/mysql/

创建并启动MySQL容器

使用如下命令来创建并启动MySQL容器

docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7

参数解释

-–name:新创建的容器名,命名为mysql

-e:通过环境变量进行配置,此处配置mysql的root用户的登陆密码

-p:端口映射,表示在这个容器中使用3306端口(第二个)映射到实验环境主机的端口号也为3306(第一个)

-d:以后台方式运行MySQL容器

最后一个mysql为指定运行的镜像名,即为mysql

该命令会返回一个长串ID,该ID即为MySQL容器的ID。我们使用以下命令进行验证

docker ps

出现如下提示即代表容器成功启动了

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

39b632b42ddd mysql:5.7 "docker-entrypoint.s…" 5 seconds ago Up 4 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp mysql

连接MySQL服务

通过容器内部连接MySQL服务

首先通过以下命令进入容器内部

docker exec -it mysql /bin/bash

使用以下命令进入MySQL

mysql -uroot -p

在弹出的Enter password:中输入123456,即可进行MySQL。成功进入后会出现如下类似提示

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.7.27 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

使用以下使用命令创建远程用户,并赋于远程用户连接本容器MySQL的权限。

GRANT all ON *.* TO 'remote'@'%' IDENTIFIED BY 'remotepwd';

flush privileges;;#刷新权限

exit;

退出容器环境,返回云实验主机环境

exit

从外部远程连接MySQL服务

因为我们的云实验主机环境上并没有MySQL命令行工具,所以我们需要先进行安装。

apt install mysql-client -y

安装完成后直接进行连接,这里并没有指定端口,因为容器的3306端口已经被映射到了云实验主机环境的3306端口上了。

mysql -uremote -p --protocol tcp

在弹出的Enter password:输入remotepwd,即可成功从主机命令行命令mysql进入到容器提供的MySQL服务了。

注意:这里需要用到--protocol tcp这个参数,因为命令行命令mysql默认使用的连接协议为socket协议,这里我们的云实验主机并没有安装MySQL服务,所以需要通过TCP端口连接到容器环境中去,因此需要指定这个参数。

总结

通过本节我们在线完成了从MySQL镜像的导入,到容器的运行,再到对MySQL服务的内部访问及外部访问。相信通过本节的在线实操,您能更好的掌握如何使用Docker安装MySQL。

nas4free 安装mysql_Docker安装MySQL相关推荐

  1. docker二进制安装mysql_Docker搭建MySQL读写分离主从模式 分布式数据库中间件Mycat分库分表应用...

    一.MySQL读写分离主从模式 1. 下载镜像 docker pull mysql 当前最新版本:mysql Ver 8.0.19 for Linux on x86_64 (MySQL Communi ...

  2. docker安装mysql_Docker 安装 MySQL

    本篇将介绍如何使用 Docker 部署 MySQL 数据库及远程访问配置. 安装 MySQL 拉取镜像 使用下面的命令拉取 MySQL 数据库的镜像: $ sudo docker pull mysql ...

  3. docker 安装mysql_Docker安装MySQL完整版流程

    我们自己在linux上安装mysql的话,超级麻烦,安装完后还要进行各种各样的配置,之前在docker专题写了用docker安装mysql的快速版本以及修改编码的方式,这里总结一下安装流程和命令. 环 ...

  4. docker 使用tar安装mysql_Docker安装MySQL

    不要删除 以 MySQL 5.7 安装为例. 1.拉取镜像或者导入镜像拉取镜像docker pull mysql:5.7导入镜像docker load < mysql.tar 2.创建用于挂载的 ...

  5. docker二进制安装mysql_docker安装mysql

    1.下载mysql镜像命令: docker pull mysql/mysql-server 2. 创建docker镜像 docker run -d -p 3306:3306 --name mysql0 ...

  6. mac 源生安装mysql_docker安装MySQL数据库

    本文说明,刚上来使用MySQL高版本的,结果MySQL容器正常运行后,外部客户端连接不上,最后降低版本就OK 拉取MySQL数据库镜像 # docker pull daocloud.io/librar ...

  7. 阿里docker安装mysql_docker安装mysql

    从阿里云的Docker Hub 上pull一个MySQL的image. docker pull registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql:5 ...

  8. docker 多个mysql_docker安装多MySQL服务

    docker安装多MySQL有两种情况:一.同镜像安装多mysql服务(容器名字映射端口不同).二.不同镜像安装MySQL服务. 一.同镜像安装多mysql服务(容器名字映射端口不同) 这个主要介绍同 ...

  9. 2021年大数据Hive(二):Hive的三种安装模式和MySQL搭配使用

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的三种安装模式和MySQL搭配使用 一.Hive的安装方 ...

最新文章

  1. QIIME 2用户文档. 17鉴定和过滤嵌合体序列q2-vsearch(2019.7)
  2. 秒杀 mysql 事务_秒杀怎么样才可以防止超卖?基于mysql的事务和锁实现
  3. 桂林电子科技大学计算机导论,Welcome to Guilin University of Electronic Technology(桂林电子科技大学)...
  4. 目标检测与转自背景减除
  5. windows os x_如何立即在OS X上获取Windows样式的窗口捕捉
  6. 通过js滚轮滚动时调用动画_WOW.js在页面滚动时展现动感的元素动画效果
  7. dio设置自定义post请求_基于dio库封装flutter项目的标准网络框架
  8. Community Server Resources
  9. VISTA组策略中关闭自动播放的位置
  10. 车聘网框架及源码介绍
  11. 第八届全国噪声与振动控制工程学术会议大会报告
  12. 机器学习与算法(6)--学习矢量化
  13. 无限容量还不限速的网盘,了解一下~
  14. python对数据进行分类_按Python对数据进行分类
  15. php配置设置时区,php如何设置时区
  16. 电源设计满足更大功率密度的需要
  17. 「囚徒困境」有哪些现实的例子?
  18. 陕西宝鸡发现桃花水母 (组图)
  19. 每日一句英语 2012-9-15
  20. 电赛2019年F题纸张测量FDC2214的初始化代码(含STM32f103zet6和f103c8t6)胎教式

热门文章

  1. Yolov5-Python系列(best.pt文件下载)—— 是谁不戴口罩检测
  2. 《精彩人生的一分钟小习惯》读后感
  3. Joomla模板下载
  4. 企业培训考试、知识竞赛、考评考核,倾力支持
  5. PHP 7.4/8.x FFI的使用例子
  6. 业务还是技术测试?从初级软件测试到高级测试工程师,我都经历了什么......
  7. 2019网易游戏测试工程师(暑期实习)面经---已成功拿到offer
  8. 2023大数据面试题+附答案
  9. CarSim仿真快速入门(二十三)-CarSimSimulink联合仿真中的 S-Function模块
  10. BIEE Hello World式的例子