navicat连接docker mysql v8.0(注意版本)

856 阅读1分钟

tips:mac电脑使用docker可以安装 docker for mac 地址 可视化界面

文档对docker小白极为友好

docker常用命令在这 docker常用指令

  1. 生成容器 镜像文档
    # 下载镜像
    docker pull mysql 
    # 生成容器 some-mysql 是生成容器的名字 my-secret-pw是容器mysql登陆密码   latest是mysql镜像最新版本
    # -it 后台运行并为容器重新分配一个伪终端   -p 3306:3306 映射端口号 前面的是本机访问端口 后面是容器输出端口
    docker run -it -p 3306:3306 --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
  1. 修改容器mysql配置 (为了ip访问)
    # 进入容器  exec 进入容器 退出容器时不会停止
    docker exec 容器名或containerID  -it /bin/bash
    # 进入mysql 
    mysql -u root -p
    #输入密码
    # 查看root权限 mysql库下的user表 查看下图 
    select user,host,authentication_string from mysql.user;
    # 为root分配权限,方便远程连接 !!!重要!!!
    grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
    # 此时navicat连接会提示 Authentication plugin 'caching_sha2_password' cannot be loaded,因为mysql8版本和之前的版本加密方式不同
    # 更新算法
    ALTER user 'root'@'%' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;
    # 修改密码
    ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
    # 刷新权限
    FLUSH PRIVILEGES;

root权限图 WeChat3d8649befe088323fb0d843088fb7b9b.png 3.navicat连接

    1. 主机:为本机ip
    2. 端口:容器映射端口
    3. 用户:root
    4. 密码:修改算法后的密码
  1. 连接成功🎉🎉🎉

面向google开发tips:

  • 如果文章使用版本不一致最好别用
  • 如果文章代码自己不理解为什么这样写,一定要查清再用
  • 删除、修改本机用户文件一定要备份或记录内容,不然吃大亏(就是本人没错了[旺柴])