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

如何彻底重置Laradock中MySQL的环境与数据库?

解决Laradock中MySQL数据残留及彻底重置的问题

别担心,我来帮你搞定这个MySQL数据残留的问题——之所以docker system prune后重建容器还能看到旧数据库,是因为Laradock默认把MySQL的数据和配置存在本地挂载目录或者Docker卷里,而docker system prune默认不会删除这些持久化存储的内容。下面是彻底重置的步骤:

1. 停止并移除当前Laradock容器

先确保所有相关容器都停止运行:

docker-compose down

这个命令会停止并移除容器,但不会删除数据和配置文件。

2. 彻底删除MySQL本地数据与配置

Laradock默认将MySQL的数据挂载到项目根目录下的./data/mysql文件夹,配置文件则在./mysql/my.cnf:

  • 删除MySQL数据存储目录(这会彻底清除所有旧数据库):
    rm -rf ./data/mysql
    
  • 重置MySQL配置文件(如果之前修改过配置,可选操作):
    # 先备份旧配置(可选)
    cp ./mysql/my.cnf ./mysql/my.cnf.bak
    # 删除旧配置,重启容器时会生成默认配置
    rm ./mysql/my.cnf
    

3. 清理Docker相关卷(可选但推荐)

如果存在未关联的Docker卷,也可能残留数据,执行以下命令清理:

  • 查看所有Docker卷:
    docker volume ls
    
  • 删除和Laradock MySQL相关的卷(替换[VOLUME_NAME]为实际卷名):
    docker volume rm [VOLUME_NAME]
    
  • 或者一键清理所有未使用的卷:
    docker volume prune
    

4. 重建并启动容器

现在重新启动需要的服务:

sudo docker-compose up -d nginx mysql phpmyadmin workspace

5. 重新配置MySQL并导入数据库

容器启动后,重复你之前的操作来修复版本兼容问题:

  • 进入MySQL容器:
    docker-compose exec mysql bash
    
  • 登录MySQL并修改用户认证方式(注意:如果phpMyAdmin用远程连接,还需要修改root@%的用户):
    mysql -u root -p
    # 输入默认密码后执行
    ALTER USER 'root'@'localhost' identified WITH mysql_native_password BY 'root';
    ALTER USER 'root'@'%' identified WITH mysql_native_password BY 'root';
    FLUSH PRIVILEGES;
    
  • 最后通过http://localhost:8080的phpMyAdmin重新导入你的数据库即可。

这样操作后,MySQL就会完全重置,你可以验证这个版本兼容问题是否会在其他平台复现了。

内容的提问来源于stack exchange,提问作者Vladimir Štus

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:17:40