上文介绍了MacOS安装Docker傻瓜式教程,安装好后第一件事就决定把本地数据库迁移过来,那么首先就得安装mysql,下面就开始我们的安装之旅吧。

一、docker配置镜像加速器

我们使用docker pull拉取镜像时,因为网络原因,有时候从Docker Hub拉取镜像会非常缓慢耗时,甚至下载失败,这时候需要我们自己配置国内镜像加速器,docker官方和国内很多服务商都提供了加速服务,比如阿里云、七牛云等,下面就说一下怎样配置。

1、打开docker配置,点击Preferences

2、点击Daemon选项卡,在Registry mirrors下方点击+号,输入镜像地址,输入好后点击下方的Apply & Restart按钮,耐心等待重启。

用终端的朋友,可以在/daemon.json中配置,配置如下:

{  "debug" : true,  "registry-mirrors" : [    "http://hub-mirror.c.163.com",    "https://docker.mirrors.ustc.edu.cn",    "https://你的阿里云自动分配前缀.mirror.aliyuncs.com"  ],  "experimental" : false}

然后重启,重启好之后,就可以使用国内镜像加速拉取镜像了。

常用镜像地址

  • 阿里云镜像地址:https://你的阿里云自动分配前缀.mirror.aliyuncs.com
  • Docker官方提供的中国镜像库:https://registry.docker-cn.com
  • 七牛云镜像加速器:https://reg-mirror.qiniu.com
  • 网易镜像地址:http://hub-mirror.c.163.com

阿里云镜像加速详情见:https://help.aliyun.com/document_detail/60750.html?spm=a2c4g.11186623.6.549.53594685cbQcAy&accounttraceid=8fd73b11a6fe4707ad1735365d98d778kysa

二、docker安装mysql8

1、查看有哪些镜像,我的是刚安装docker,所以镜像为空。先搜索mysql有哪些镜像

2、我拉取的是最新版的mysql8.0.18,支持hash join

可以看到我的镜像列表里有mysql8.0.18的镜像了。

3、启动mysql服务

参数说明:

  • docker run:运行docker容器命令
  • --name mysql :给容器设置别名
  • -p 3306:3306:将容器的3306端口映射到宿主机的3306端口
  • -e MYSQL_ROOT_PASSWORD=你的密码 : 初始化root用户登录密码
  • -d : 后台运行容器,并返回容器id
  • mysql:8.0.18:也可以使用镜像id,就是image ID

4、查看运行中的容器

mysql已经启动成功了。

5、进入mysql容器

可以看到根目录已经切换到容器的根目录

6、登录mysql

可以看到我们已经成功登录了,至此,docker安装mysql服务大功告成。

三、使用navacat连接mysql

开发中大多数都使用客户端工具连接mysql,常用的就是navicat,但是我们安装navicat以后,第一次连接mysql时通常会报下图中2059 - Authentication plugin 'caching_sha2_password' can't be loaded ...这个错误。

登录一下mysql看一下加密方式,可以看到mysql8的加密方式是新的caching_sha2_password

错误分析:

错误信息的意思是caching_sha2_password不能被加载,这是由于目前已有的客户端连接软件还不支持Mysql8新增加的加密方式caching_sha2_password,所以我们需要修改用户的加密方式,将其改为老的加密验证方式。

解决方案:

1、修改localhost加密方式:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

但是这里的localhost对应本地,如果是远程访问 mysql的话,需要将localhost改成%。

2、修改远程连接加密方式,localhost改为%

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';

再次连接,显示连接成功,就可以使用客户端工具来管理我们的数据库了。

本文主要讲了macos系统下,Docker配置镜像加速,docker安装mysql,以及使用navicat premium连接mysql,所有步骤都经过亲测,希望能给需要的朋友以帮助,如果有问题,欢迎留言讨论。

文章同步公众号:码之初,每天推送Java技术文章,期待您的关注!

原创不易,转载请注明出处,谢谢!

mac系统下docker安装配置mysql详细步骤的更多相关文章

  1. MAC系统下Sublime Text3 配置Python3详细教程

    MAC系统下Sublime Text3 配置Python3详细教程(亲测有效) https://blog.csdn.net/weixin_41768008/article/details/798590 ...

  2. [转]MAC系统下Sublime Text3 配置Python3详细教程(亲测有效)

    原文地址: https://blog.csdn.net/weixin_41768008/article/details/79859008?tdsourcetag=s_pctim_aiomsg 这段时间 ...

  3. docker安装配置gitlab详细过程

    docker安装配置gitlab详细过程   获取镜像 1.方法一 1 docker pull beginor/gitlab-ce:11.0.1-ce.0 2.方法二如果服务器网路不好或者pull不下 ...

  4. mac系统下Eclipse + pydev配置python Interpreter

    mac系统下Eclipse + pydev配置python Interpreter   之前都在windows下使用Eclipse + pydev 进行开发,未发现什么异常,最近对wxpy.itcha ...

  5. mac系统下ionic环境配置

    本人是在mac环境下进行配置的: 下载nodejs:https://nodejs.org/download/ 并双击安装 Cordova and Ionic command-line tools 安装 ...

  6. 【云计算】ubuntu下docker安装配置指南

    Docker Engine安装配置 以下描述仅Docker在Ubuntu Precise 12.04 (LTS).Ubuntu Trusty 14.04 (LTS).Ubuntu Wily 15.10 ...

  7. Linux系统下tomcat安装配置

    Linux系统中Tomcat的安装配置. 前提JDK已经安装好. 安装 下载tomcatwget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0 ...

  8. linux系统下jdk安装配置

    1.有jdk包(linux版) 2.放到linux系统下 3.建议在usr下新建jdk目录之后将jdk文件放到该目录下 3.配置系统信息   /etc/profile 需要配置的信息如下:#set j ...

  9. 无线网卡在 MAC 系统下的安装与使用过程

    MAC系统安装netgear无线网卡的方法: 1)去网件官网下载相应的驱动软件 2)单击页面左侧的“Version 1.0.0.0”进入下载页面如下图 3)选择对应您系统版本的驱动程序,按右键保存到计 ...

随机推荐

  1. OptimalSolution(2)--二叉树问题(4)子树与拓扑结构

    一.判断t1树是否包含t2树全部的拓扑结构 1 / \ 2 3 2 / \ / \ / \ 4 5 6 7 4 5 / \ / / 8 9 10 8 返回:true 解法(O(M×N)):如果t1中某 ...

  2. 我是如何在一周内拿到4份offer的?

    前言 大概一个月没写博客了吧,这段时间事情比较多(家里有事,请了一段时间假,正好利用剩余几天时间面了几次试),也没抽出来时间写博客,还好所有的事情已经处理完了,今天闲来无事就整理一下这几次面试过程中遇 ...

  3. node 短信接口的调用

    首先安装一下 短信的sdk 依赖 这里使用的是阿里云的短信SDK,在阿里云官网申请 npm install @alicloud/sms-sdk --save 调用 新建个 message.js /** ...

  4. 汇编实战准备:DOS调用命令

    mov dx,offset message mov ah, int 21h 将message的偏移地址赋值给dx,之后 MOV AH,9 INT 21H 调用DOS功能,该功能为显示打印DS:DX地址 ...

  5. C++学习笔记8_零碎的知识

    1. int main(void) { int arr[] = {1,2,3,4}; //数组的长度 int len = sizeof(arr)/sizeof(int); //由此可以看出,sizeo ...

  6. 学习笔记48_Memcache跟用户登录模块结合

    public interface ICacheWriter {  void AddCache(string key,object value, DateTime expDate);  void Add ...

  7. call 与apply深入

    http://blog.csdn.net/bao19901210/article/details/21614761

  8. [网络]HTTP

    HTTP HTTP 简介 HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本 ...

  9. 010.Kubernetes二进制部署kube-controller-manager

    一 部署高可用kube-controller-manager 1.1 高可用kube-controller-manager介绍 本实验部署一个三实例 kube-controller-manager 的 ...

  10. SqlServer2005 查询 第三讲 between

    在数据库的查询中最重要的是要知道命令的顺序,因为在sql命令中有许多的参数,例如distinct,top,in,order by,group by.......如果你不能理解什么时候该执行什么的话,很 ...