DAY011 – API 订单数据库路径配置错误
【摘要】 故障场景故障现象:首页与 API health 正常,但订单接口返回 500,应用日志提示数据库文件无法打开。服务器状态:server2:状态 INJECTED;开始时间 2026-07-24 00:38:22 +0800;影响范围 演练项目受影响,SSH 不受影响,非演练业务不应受影响。 排障过程先看项目文档实际curl本地订单接口看返回结果看应用日志先找是什么程序使用的数据库无法打开文...
故障场景
故障现象:首页与 API health 正常,但订单接口返回 500,应用日志提示数据库文件无法打开。
服务器状态:
server2:状态 INJECTED;开始时间 2026-07-24 00:38:22 +0800;影响范围 演练项目受影响,SSH 不受影响,非演练业务不应受影响。
排障过程
先看项目文档
实际curl本地订单接口看返回结果
看应用日志
先找是什么程序使用的数据库无法打开文件
出现两个python3进程,文档中是18081的那个,如果没有文档记录,就ps -fp找进程号对应的文件
它们文件名相同,端口不同
进入项目所在目录并搜索目录下数据库文件,并且查询数据库在代码中的加载逻辑
要用到:
find . -type f \( -name "*.db" -o -name "*.sqlite*" \)
grep -R -C 10 -n -Ei "db|sql|database" --exclude-dir=logs .
在代码逻辑的第二张图中可以明显看出来,程序、环境变量存放数据库文件的目录是不一样的
这个时候我们应该把文件备份一份,把日志审计记录下来后续看是谁在什么时候改的这文件
然后改正,恢复业务
环境变量由data-missing目录改正为data目录
现在订单API恢复正常
原文首发于个人博客:liujixiang.de5.net
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)