Bitnami MariaDB Docker Swarm主从架构从库root登录报错1045原因是什么
Bitnami MariaDB Docker Swarm主从架构从库1045登录错误常见原因
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
1. 环境变量配置异常
- Bitnami MariaDB 10.5及以上版本的root密码由
MARIADB_ROOT_PASSWORD环境变量控制,低版本需配合MARIADB_USER=root+MARIADB_PASSWORD两个参数配置,从库部署时传入的root密码参数和主库不一致会直接触发该报错。 - Swarm栈配置的密码secret挂载路径错误、从库节点拉取secret失败,也会导致容器读取到的root密码和预期不符。
2. 数据目录初始化冲突
- 首次启动从库时如果挂载的本地卷已存在之前部署遗留的
/bitnami/mariadb数据目录,Bitnami镜像会跳过初始化流程,不会使用新传入的环境变量重置账号密码,会沿用旧数据目录中的权限规则,导致密码不匹配。 - 主从初始同步过程中断、指定的复制账号权限不足,可能损坏
mysql.user系统权限表,导致root账号本地登录被拒绝。
3. 网络与权限规则不匹配
- 报错中显示的
root@localhost说明登录请求被判定为来自容器本地回环地址,如果root账号在权限表中未开启localhost登录权限,就会触发拦截。 - Swarm overlay网络配置错误导致从库无法和主库完成初始全量同步,从库本地权限表没有同步主库配置的root账号允许登录的host规则,也会触发该问题。
4. Bitnami镜像特定配置问题
- 从库部署时如果开启了
MARIADB_SKIP_GRANT_TABLES=true参数,初始化阶段不会加载权限表,待服务稳定后权限表加载完成会出现登录校验异常。 - 部分旧版本Bitnami MariaDB镜像存在从库初始化时未正确写入root账号权限的已知问题,可更换到对应大版本的最新镜像重试。
内容的提问来源于stack exchange,提问作者mah has
相关产品推荐
相关产品推荐

