(1)因为我们的镜像是linux环境下的,我所在的系统是windows系统.首先通过docker客户端切换到linux环境下.

(2)使用docker pull mysql/mysql-server 下载mysql镜像;

(3)使用下载的镜像启动一个新的容器:docker run -d -p 3306:3306 --name mysqltest mysql/mysql-server.

本地端口3306映射到容器中的3306端口,容器名称为mysqltest。

(4)镜像成功启动:

(5)登录到容器内部的mysql:

1.docker exec -it mysqltest bash;

2.mysql -uroot -p;

3.输入密码,登录成功可以进行操作了.(这个密码我们在创建容器的时候没有指定,但是随机帮我们生成了一个。可以通过docker logs mysqltest来查看.)

(6)如果我们想尝试在容器外部用Navicat Premium连接到容器中的mysql.会出现如下错误。这是正确的。这时候我们并没有把容器中的环境设置权限供外部访问.

(7)设置容器外部访问数据库权限:

1.我们不影响以前的用户,所以我们单独创建用户并赋权,分别执行以下命令:

但首先得先更改root密码(alter user 'root'@'localhost' identified by 'pwd123456';),否则会提示必须重设密码.

use mysql后执行以下命令

create user 'danielyu'@'%' IDENTIFIED BY 'pwd123456';
grant all privileges on *.* to 'danielyu'@'%'
with grant option;

2.这时候我们再尝试在容器外连接数据库.出现如下错误.这是因为我使用的数据库版本是8.0.17.

现在验证方式是caching_sha2_password作为身份验证插件(相关链接:https://blog.51cto.com/fengfeng688/2147169?source=dra).我们改回 mysql_native_password

(3)连接成功:

Docker 安装mysql以及外部访问的更多相关文章

  1. docker安装mysql挂载外部配置和数据目录

    从docker hub上可以找到mysql外挂配置和数据目录的一些文档说明 https://hub.docker.com/_/mysql 从该文档中可以了解到,mysql的默认配置为/etc/mysq ...

  2. docker 安装mysql 使用navicat访问 解决

    1. 下载Mysql的Docker镜像: 2. 运行镜像,设置root账号初始密码(123456),映射本地宿主机端口3306到Docker端口3306.测试过程没有挂载本地数据盘: 3. 查看已运行 ...

  3. 使用Docker安装Mysql

    最近使用阿里云服务器,学习一下Docker,今天学着使用Docker安装MySQL. 首先,从阿里云的Docker Hub 上pull一个MySQL的image. [centos@loovelj~]$ ...

  4. docker 安装mysql mongo

    Docker安装Mysql 1.拉取镜像 docker pull mysql/mysql-server 2.运行mysql docker run -d -p : --name [Name] [Imag ...

  5. CentOS 中利用docker安装MySQL

    1.前提条件 centos7 且内核版本高于3.10, 可通过命令: uname -r 查看内核版本 2.利用yum 安装docker 安装一些必要的系统工具: sudo yum install -y ...

  6. docker初识-docker安装、基于docker安装mysql及tomcat、基本命令

    一.docker是什么 用go语言开发,开源的应用容器引擎,容器性能开销极低 二.整体架构图 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 r ...

  7. Centos7中用Docker安装MySQL教程

    第一步 安装Docker 1.1 参考这位博主给出的命令安装好 https://blog.csdn.net/weixin_43423864/article/details/109481260 第二步 ...

  8. Docker学习实践 - Docker安装MySql数据库

    Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...

  9. 使用docker安装mysql和redis

    本文介绍在linux下使用docker安装mysql和redis. 原文地址:代码汇个人博客 http://www.codehui.net/info/59.html 测试环境:centos7.6,do ...

随机推荐

  1. mac安装linux

    http://www.mamicode.com/info-detail-503881.html

  2. [20190910]索引分支块中TERM使用什么字符表示.txt

    [20190910]索引分支块中TERM使用什么字符表示.txt --//做索引块转储,一些root,分支节点出现TERM,从来没有关注使用字符表示,简单探究看看. 1.环境:SCOTT@test01 ...

  3. zsh: command not found: 解决方法

    问题原有:mac中安装了my zsh [https://www.cnblogs.com/dadonggg/p/11027454.html] ,但是造成了在使用vscode的时候,提示”zsh: com ...

  4. JavaScript—图片与base64编码互相转换

    图片转换为base64编码 <input type = "file" id = "file" onchange="popFileName(thi ...

  5. ntp服务设置开机自启动失败

    设置了ntpd开机自启动,重启服务器ntpd没有自启动 1.需要禁掉chronyd.service: systemctl disable chronyd.service 2.手动启动ntpd: sys ...

  6. postman---post请求数据类型

    我们都知道接口post方法中有不同的请求类型,再写postman中发送请求的时候只是简单的写了一种,今天我们重新了解下Postman如何发送post的其他数据类型 Postman中post的数据类型 ...

  7. 爬虫---PyQuert简介

    今天写一篇最近刚学习的一个第3方库pyquery,pyquery比bs4,lxml更强大的一个网页解析工具. 什么是pyQuery Pyquery是python的第3方库,PyQuery库也是一个非常 ...

  8. mysql清空带外键的表

    set FOREIGN_KEY_CHECKS =0;TRUNCATE memo;TRUNCATE customer;set FOREIGN_KEY_CHECKS =1;

  9. v-bind是是否需要绑定某一个类名

    v-bind 结合 css样式 结合标签显示是否要显示出某个样式 <p :class="['bg','dx', {'lin':falg}]">{{ msg }}< ...

  10. 标签中href="javascript:;"表示什么意思?

    1.标签的 href 属性用于指定超链接目标的 URL,href 属性的值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段. 2.javascript: 是一个伪 ...