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

Laradock环境Mariadb容器持久化数据重启后无法访问如何恢复

恢复步骤
  • 先停止运行中的mariadb容器,避免数据写入冲突
    进入laradock目录执行命令:
    docker-compose stop mariadb
  • 修复宿主机数据目录权限
    你当前数据文件的属主为systemd-coredump,属于典型的权限不匹配问题:mariadb容器内运行服务的默认用户UID为999,没有权限读取当前属主的文件,因此会显示数据库为空。执行以下命令修改权限:
    sudo chown -R 999:999 ~/laradock/data/mariadb
    直接指定UID修改权限,不需要宿主机存在对应999的用户即可生效。
  • 重启mariadb容器验证数据
    执行命令启动容器:
    docker-compose start mariadb
    等待30秒待服务完全启动后,可进入容器验证数据是否恢复:
    docker-compose exec mariadb mysql -u<MARIADB_USER> -p<MARIADB_PASSWORD> myuserdb
    替换命令中对应的数据库用户名、密码,进入库后执行show tables;即可确认原有表是否正常加载。
  • 若权限修复后仍无法读取数据,执行强制恢复操作
    1. 先完整备份现有数据目录,避免操作失误丢失数据:
      cp -r ~/laradock/data/mariadb ~/mariadb_backup_$(date +%Y%m%d)
    2. 在laradock的mariadb配置文件(路径为./mariadb/my.cnf)的[mysqld]配置段下添加强制恢复参数:
      innodb_force_recovery = 1
    3. 重启mariadb容器,正常启动后将所有库数据导出为sql备份,再删除原有数据目录,去掉强制恢复参数后重新初始化容器,导入sql备份即可完成恢复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:09:08