描述

 
    用docker容器安装软件非常方便,省了太多麻烦。通过docker运行mysql8.0,再用navicat客户端连接出现client does not support authentication protocol requested by server。
 
    像似认真失败,检查mysql.user表,已经配置了用户,为什么还出现认真失败?这是因为mysql8.0改了密码加密方法。客户端与服务器端不对应就会出现该错误。
 

正确的docker-compose.yml,通过command指定加密插件

version: "3.1"
services:
    mysqlrepm:
        image: "mysql:8.0.12"
        #指定认证插件
        command: --default-authentication-plugin=mysql_native_password
        environment:
            - MYSQL_ROOT_PASSWORD=111111
        ports:
            - "3307:3306"