You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker MariaDB容器登录MySQL报1045错误,求解决方法

解决Docker MariaDB登录失败问题

问题分析

你遇到的ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)错误,核心原因有两点:

  1. 数据卷挂载路径错误,导致MariaDB初始化时未正确保存root密码配置
  2. 旧的无效数据残留,干扰了容器的初始化逻辑

修复步骤

1. 修正docker-compose.yaml的挂载配置

将volumes部分的挂载路径从./dbdata:/home改为MariaDB默认的数据目录./dbdata:/var/lib/mysql,修改后的完整配置片段如下:

database:
  image: mariadb:latest
  container_name: mariadb
  ports:
    - 3306:3306
  environment:
    - MYSQL_USER=me
    - MYSQL_PASSWORD=password
    - MYSQL_ROOT_PASSWORD=password
  volumes:
    - "./dbdata:/var/lib/mysql"

2. 清理旧的无效数据

之前错误挂载生成的./dbdata目录存储的是无效的容器/home数据,需删除该目录(如有重要数据请先备份):

rm -rf ./dbdata

3. 重启容器并正确登录

  • 重启容器:
docker-compose down && docker-compose up -d
  • 宿主机登录(强制TCP连接,避免socket路径不匹配问题):
mysql -h 127.0.0.1 -u root -p

输入设置的password即可登录。

  • 容器内部登录:
docker exec -it mariadb bash
mysql -u root -p

同样输入password完成登录。

内容的提问来源于stack exchange,提问作者Max Pattern

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 22:25:17