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
2、本站文章部分来源注册用户发布或互联网收集而来,若有侵权,请邮件联系作者。
邮箱地址:wtao219@qq.com
THE END
二维码