今天接着上一篇的内容继续来学习安装运行mysql。建议先阅读第一篇:windows安装docker

一 查看mysql版本

如果想知道mysql镜像具体有哪几个版本,需要去docker hub查看。

地址如下: https://hub.docker.com/r/library/

二 拉取mysql镜像

命令如下:

docker pull 镜像名称:版本号

打开命令窗口输入

docker pull mysql:8.0

等待几分钟就完成了,然后输入以下命令查看镜像

docker images

三 启动mysql服务

命令如下:

docker run --name mysql8.0 -e MYSQL_ROOT_PASSWORD=123456 -d -p 23306:3306 mysql:8.0

解释一下上面的命令的具体含义

docker run  // 启动容器
--name mysql8.0 // 指定容器名称为mysql8.0
-e MYSQL_ROOT_PASSWORD=123456 // 配置环境变量,指定root用户的密码为123456
-d // 是否后台启动,默认false
-p 23306:3306 // 将3306端口映射出来为23306进行访问
mysql:8.0 // 镜像名称

四 允许客户端进行登录

第三步完成后一个docker容器就算起来了,我们用客户端连接数据库发现报错了。

主要原因是mysql服务器要求的认证插件版本与客户端不一致造成的。

使用命令 docker exec -it mysql8.0 /bin/bash 进入容器,然后登录mysql服务,命令如下:mysql -uroot -p 123456,登录成功后,use mysql ,使用sqlselect user,plugin from user 查看认证插件。

可以看到root用户使用的plugin是caching_sha2_password,mysql官方网站有如下说明:

意思是说caching_sha2_password是8.0默认的认证插件,必须使用支持此插件的客户端版本。两种方式一种是升级客户端,另一种是修改插件认证为 mysql_native_password,我们看一下第二种。

// 第一:修改root的密码为'root',摒弃原来的旧密码。第二:使用mysql_native_password对新密码进行编码。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
// 刷新权限
FLUSH PRIVILEGES;

这样就完成了,客户端可以正常登录。

五 docker常用命令

1.docker images // 查看镜像
2.docker run 镜像名称 // 生成一个正在运行的容器实例
3.docker stop 容器名称 // 停止容器
4.docker rm 容器名称 // 删除容器
5.docker start 容器名称 // 启动容器
6.docker restart 容器名称 //重启容器
7.docker rmi 镜像名称 // 删除镜像
8.docker exec -it 容器名称 /bin/bash // 进入容器
9.docker ps // 显示正在运行的所有容器
10.docker ps -a // 显示所有容器(包括已经停止的)
11.docker pull 镜像名称:版本号 // 拉取镜像

如果文章对您有帮助,请记得点赞关注哟~

欢迎大家关注我的公众号<情系IT>,每日技术推送文章供大家学习参考。

windows使用docker运行mysql等工具(二)安装运行mysql的更多相关文章

  1. [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(二) -- 安装jira 7.5.4

    [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(二) -- 安装jira 7.5.4 环境都配置好以后, 开始搭建Jira的环境, 这里参考了一篇文 ...

  2. Mysql升级、免安装版MYSQL安装与卸载

    1.         备份好数据库:表结构和数据: 2.         备份my.ini文件和data文件夹: 3.         卸载旧版本mysql: 4.         安装新版本mysq ...

  3. mysql基准测试工具tpcc-mysql安装、使用、结果解读

    TPCC是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业务处理系统,tpcc-mysql是percona基于TPC-C(下面简写成TPCC)衍生出来的产品,专用于My ...

  4. MySQL客户端工具的使用与MySQL SQL语句

    MySQL客户端工具的使用 1.MySQL程序的组成 客户端 mysql:CLI交互式客户端程序 mycli:CLI交互式客户端程序;使用sql语句时会有提示信息 mysql_secure_insta ...

  5. mysql命令之二:查看mysql版本的四种方法

    1:在终端下:mysql -V. 以下是代码片段: [shengting@login ~]$ mysql -V mysql Ver 14.7 Distrib 4.1.10a, for redhat-l ...

  6. Mysql 5.7版本安装:mysql 服务无法启动。

    一.解压文件 下载好MySQL后,解压到D盘下,也可以根据个人喜好解压在其他盘符的路径下,解压后的路径是:D:\mysql-5.7.17-winx64.解压好后不要太兴奋,需要配置默认文件呢! 二. ...

  7. Dubbo入门到精通学习笔记(十九):MySQL源码编译安装、MySQL主从复制的配置

    文章目录 MySQL 源码编译安装(CentOS-6.6+MySQL-5.6) 一.服务器配置: 二.源码安装 MySQL5.6.26: MySQL主从复制的配置 环境 依赖课程 MySQL 主从复制 ...

  8. wamp中的mysql服务与原来安装的mysql服务冲突的解决办法

    如果原来机器上已经安装了mysql,在安装wamp之后,打开wamp上的mysql时会打不开,或者会将原来安装的mysql服务关闭.原因是两个mysql共用了3306端口,解决办法是更改其中的一个端口 ...

  9. WineBottler for Mac(Mac 运行 exe 程序工具)安装

    1.软件简介    WineBottler 是 macOS 系统上一款模拟 Windows 环境的工具,让你能够在 Mac 上安装 Windows 软件,类似于知名的 Crossover,但 Wine ...

  10. MySql(十二):MySql架构设计——可扩展设计的基本原则

    一.前言 科技在发展,硬件设备的发展渐渐无法满足应用系统对处理能力的要求.不过,我们还是可以通过改造系统的架构体系,提升系统的扩展能力,通过组合多个低处理能力的硬件设备来达到一个高处理能力的系统,也就 ...

随机推荐

  1. 重构网页过程中的小tips

    1.display为inline-block的元素可以使用virtical-align:middle来使得元素垂直居中对齐 2.在一些按钮标签或者mark标签中,如果文本内容确定不会改变长度的话,可以 ...

  2. JZOJ 3875 星球联盟

    [问题描述] 在遥远的 S 星系中一共有 N 个星球,编号为 1…N.其中的一些星球决定组成联盟, 以方便相互间的交流. 但是,组成联盟的首要条件就是交通条件.初始时,在这 N 个星球间有 M 条太空 ...

  3. 用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

    网易商品评论爬取 分析网页 评论分析 进入到网易精选官网,搜索“文胸”后,先随便点进一个商品. 在商品页面,打开 Chrome 的控制台,切换至 Network 页,再把商品页Python入门到精通学 ...

  4. Ubuntu Qt5.13 无法输入中文和中文显示乱码问题

    无法输入中文: sudo apt-get install libfcitx-qt5-dev cd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminput ...

  5. Python:的web爬虫实现及原理(BeautifulSoup工具)

    最近一直在学习python,学习完了基本语法就练习了一个爬虫demo,下面总结下. 主要逻辑是 1)初始化url管理器,也就是将rooturl加入到url管理器中 2)在url管理器中得到新的new_ ...

  6. CentOS6.5下搭建FTP服务

    一.FTP协议 FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一.FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端.其中FT ...

  7. docker1-centos上安装docker

    docker镜像(image)相当于面向对象的类 docker容器(container)相当于面向对象的对象 1.安装环境要求 目前,CentOS 仅发行版本中的内核支持 Docker. Docker ...

  8. linux 中more、less 和 most 的区别

    如果你是一个 Linux 方面的新手,你可能会在 more.less.most 这三个命令行工具之间产生疑惑.在本文当中,我会对这三个命令行工具进行对比,以及展示它们各自在 Linux 中的一些使用例 ...

  9. Apache Flink 入门示例demo

    在本文中,我们将从零开始,教您如何构建第一个Apache Flink (以下简称Flink)应用程序. 开发环境准备 Flink 可以运行在 Linux, Max OS X, 或者是 Windows ...

  10. java代码实现MD5加密及验证方法

    MD5加密 在我们的程序中,不管是什么,都会有安全问题,今天就说的是MD5加密的方法 MD5是哈希算法,也就是 从明文A到密文B很容易,但是从密文B到明文A几乎不可能 也就是说,给你密文,是几乎无法通 ...