docker中mysql镜像 mysql_secure_installation 禁用root远程登录的疑惑?

环境:#

win10 + wsl2 + ubuntu 20.04 子系统 + docker version 20.10.6, build 370c289,

Dockerfile 如下:

ARG MYSQL_VERSION
FROM mysql:${MYSQL_VERSION}

ARG TZ=PRC
ENV TZ ${TZ}
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

docker-compose.yml mysql 部分如下:

mysql:
    container_name: mysql
    build:
      context: .
      dockerfile: ./mysql/Dockerfile
      args:
        - TZ=${TZ}
        - MYSQL_VERSION=${MYSQL_VERSION}
    env_file:
      - ./mysql/.env
    volumes:
      - ./data/mysql:/var/lib/mysql
      - ./mysql/conf.d/my.cnf:/etc/mysql/conf.d/my.cnf
    networks:
      - frontend
      - backend
    ports:
      - "3306:3306"
    restart: always

描述:#

mysql_secure_installation 脚本执行
当遇到 Disallow root login remotely? 输入 N
当遇到 Reload privilege tables now? 输入 Y
然后远程登录报错:

docker中 mysql镜像 mysql_secure_installation 中Disallow root login remotely N 无效,是什么导致的?
进入容器,查询 mysql 如下,发现未变更:如图
docker中 mysql镜像 mysql_secure_installation 中Disallow root login remotely N 无效,是什么导致的?
host 不会变为 %,这个原因是什么导致的?另外一种通过 GRANT ALL PRIVILEGES 是可以成功的,但是对这个小坑,不知道为什么有点难受,希望有明白的小伙伴留言告诉我一下,谢啦~

讨论数量: 1

mysql -u root -p ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; flush privileges; exit;

3年前 评论
爆炸青山绿水 (楼主) 3年前