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;

2周前 评论
bynow1994 (楼主) 2周前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!