我重新发布一个mysql,使用的是之前mysql挂载的数据卷,为什么登录时提示密码错误

根据现有的mysql镜像的entrypoint.sh,容器启动时,若/var/lib/mysql文件夹存在,则不再进行初始化操作,不会再使用最新的MYSQL_ROOT_PASSWORD创建root账号。

#!/bin/bash
set -e

# if command starts with an option, prepend mysqld
if [ "${1:0:1}" = '-' ]; then
    set -- mysqld "$@"
fi

if [ "$1" = 'mysqld' ]; then
    # Get config
    DATADIR="$("$@" --verbose --help 2>/dev/null | awk '$1 == "datadir" { print $2; exit }')"

    if [ ! -d "$DATADIR/mysql" ]; then
        ...#若存在/var/lib/mysql目录,则进行初始化操作
    fi
    # 否则直接开始运行mysqld
    chown -R mysql:mysql "$DATADIR"
fi

exec "$@"

发表回复

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