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、原创文章,作者:诺米,如若转载,请注明出处:https://www.http3w.com/archives/859

2、本站内容若有雷同从属巧合,若侵犯了您的权益,请联系本站删除,E-mail: wtao219@qq.com

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注