Docker 安装mysql以及外部访问
(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以及外部访问的更多相关文章
- docker安装mysql挂载外部配置和数据目录
从docker hub上可以找到mysql外挂配置和数据目录的一些文档说明 https://hub.docker.com/_/mysql 从该文档中可以了解到,mysql的默认配置为/etc/mysq ...
- docker 安装mysql 使用navicat访问 解决
1. 下载Mysql的Docker镜像: 2. 运行镜像,设置root账号初始密码(123456),映射本地宿主机端口3306到Docker端口3306.测试过程没有挂载本地数据盘: 3. 查看已运行 ...
- 使用Docker安装Mysql
最近使用阿里云服务器,学习一下Docker,今天学着使用Docker安装MySQL. 首先,从阿里云的Docker Hub 上pull一个MySQL的image. [centos@loovelj~]$ ...
- docker 安装mysql mongo
Docker安装Mysql 1.拉取镜像 docker pull mysql/mysql-server 2.运行mysql docker run -d -p : --name [Name] [Imag ...
- CentOS 中利用docker安装MySQL
1.前提条件 centos7 且内核版本高于3.10, 可通过命令: uname -r 查看内核版本 2.利用yum 安装docker 安装一些必要的系统工具: sudo yum install -y ...
- docker初识-docker安装、基于docker安装mysql及tomcat、基本命令
一.docker是什么 用go语言开发,开源的应用容器引擎,容器性能开销极低 二.整体架构图 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 r ...
- Centos7中用Docker安装MySQL教程
第一步 安装Docker 1.1 参考这位博主给出的命令安装好 https://blog.csdn.net/weixin_43423864/article/details/109481260 第二步 ...
- Docker学习实践 - Docker安装MySql数据库
Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...
- 使用docker安装mysql和redis
本文介绍在linux下使用docker安装mysql和redis. 原文地址:代码汇个人博客 http://www.codehui.net/info/59.html 测试环境:centos7.6,do ...
随机推荐
- 解决webservice(Java)中dao层注入为null问题
首先在webservice指定发布的路径类中实现 ServletContextListener, 例如: import javax.servlet.ServletContextEvent; impor ...
- Java低配版简单的随机点名系统
import java.util.*; public class Dome{ public static void addSname(String[] students){ Scanner sc = ...
- [20191011]拆分rowid 2.txt
[20191011]拆分rowid 2.txt --//有了链接http://blog.itpub.net/267265/viewspace-2659612/=>[20191011]bash任意 ...
- Mysql—索引原理与详解
索引的原理 索引的优点和缺点和使用原则 索引优点: 可以加快数据的检索速度,提高查询速度. 所有的MySql列类型(字段类型)都可以被索引,也就是可以给任意字段建立索引. 全文检索字段进行搜索优化. ...
- (办公)vue下载excel,后台用post方法
后台方法的参数必须是@RequestBody修饰的. 前台关键代码: axios ( { method : 'post', url : api.exportPlayTime , // 请求地址 dat ...
- C学习笔记(7)--- typedef,输入输出
1.typedef: C 语言提供了 typedef 关键字,您可以使用它来为类型(type)取一个新的名字. 比如: typedef unsigned char BYTE; 然后你就可以把BYTE当 ...
- easyui入门
什么是easyui! easyui=jquery+html4(用来做后台的管理界面) 1.通过layout布局 我们先把该导的包导下 然后就是JSP页面布局 2.通过tree加载菜单 先来一个实体类 ...
- elementui-如何同时获取多选框的label和value
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <!-- impor ...
- Jenkins+Jmeter配置(Linux环境)
1.安装jenkins. 1.1在Linux服务器上,必须先安装jdk与Tomcat, 在/opt/tools/tomcat 安装解压Tomcat 1.2.在Linux服务器上安装jmeter 在/o ...
- 剑指Offer-10.矩形覆盖(C++/Java)
题目: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 分析: 实际上还是一道斐波那契数列的应用,要填2*n的大矩形, ...