上文介绍了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技术文章,期待您的关注!
原创不易,转载请注明出处,谢谢!