上文介紹了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技術文章,期待您的關注!
原創不易,轉載請注明出處,謝謝!