美文网首页
mac上docker安装mysql8.0#报错2059

mac上docker安装mysql8.0#报错2059

作者: 樱桃小盒子 | 来源:发表于2018-07-06 16:27 被阅读0次
  1. 下载mysql镜像
  $ docker search mysql (搜索mysql镜像)
  $ docker pull mysql (下载mysql镜像,默认最新版本)

2.运行镜像

  $ docker run -it  --name mysql8 -p 3307:3306 -v /Users/qian/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456  -d mysql
/*
 参数说明
 -p 3307:3306:将容器的3306端口映射到主机的3307端口
 -v /Users/qian/docker/mysql/data:/var/lib/mysql:将主机目录/Users/qian/docker/mysql/data挂载到容器的目录/var/lib/mysql
 -e MYSQL_ROOT_PASSWORD=123456: 初始化root用户的密码
 -it:运行交互式的容器,让docker运行的容器实现"对话"的能力
 -d:后台运行容器,并返回容器ID
 -name:命名容器
*/

这时候用navicat测试登陆报错:2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(../Frameworks/caching_sha2_password.so, 2): image not found
原因是mysql8.0改变了身份验证插件


登陆失败

3.查看已运行的容器

  $ docker ps -a

4.进入mysql8容器

  $ docker exec -it mysql8 bash

5.在容器内登陆mysql

root@74a6c7997285:/# mysql -uroot -p

6.查看root等用户信息

mysql> select user,host,authentication_string from mysql.user;

7.为root分配权限,以便可以远程连接

mysql> grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;

8.更新密码算法

mysql> ALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;

mysql> ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

mysql> FLUSH PRIVILEGES;
  1. 连接navicat,新建库laswoole,在/Users/qian/docker/mysql/data中查看挂载成功


    挂载成功
  2. 下载adminer镜像

  $ docker pull adminer 
  1. 运行adminer镜像
  $ docker run --link mysql8:db -p 8080:8080 --name adminer -d adminer
  1. 浏览器访问 localhost:8080


    adminer

相关文章

网友评论

      本文标题:mac上docker安装mysql8.0#报错2059

      本文链接:https://www.haomeiwen.com/subject/hefbuftx.html