navicat连接mysql8报错1251

前提:

使用docker-compose安装的mysql8.0,进入mysql仓库输入mysql -uroot -p123456 可以正常连接;

解决问题,直接看最底部解决方案即可!!!

docker-compose.yml文件

version: "3"
services:
  db:
    image: mysql:8.0
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: root
      MYSQL_PASSWORD: 123456
    security_opt:
      - seccomp:unconfined

    command:
      --max_connections=1000
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --default-authentication-plugin=mysql_native_password
    ports:
      - 13306:3306
    volumes:
      - /home/mysql/logs:/logs
      - /home/mysql/conf:/etc/mysql/conf.d
      - /home/mysql/conf:/var/lib/mysql

使用navicat连接报错

1251 -Client does not support authentication protocol requested by server;consider upgrading MySQL client

解决方案

1、进入容器中

docker exec -it 容器id sh

mysql -h localhost -P3306 -uroot -p

2、修改设置所有IP都可访问(关键

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; #修改加密规则 

ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; #更新一下用户的密码 

FLUSH PRIVILEGES; #刷新权限 

问题解决

1、所有文章未经授权禁止转载、摘编、复制或建立镜像,如有违反,追究法律责任。
2、本站文章部分来源注册用户发布或互联网收集而来,若有侵权,请邮件联系作者。
邮箱地址:wtao219@qq.com
THE END
分享
二维码
< <上一篇
下一篇>>