在 Cursor 个人知识库项目中,通过更新 config.ini 中的 root 密码完成数据库连接,然后运行 main.py 初始化表结构并执行首次采集,验证增量逻辑。日常可使用命令行自动导入新对话记录。

核心问题

如何为个人知识库项目配置 MySQL 数据库密码并完成初始化与采集?


背景

在基于 Cursor 的个人知识库项目(d-python-project)中,需要连接 MySQL 数据库来存储采集的提问记录。用户提供了数据库账户信息(root / 123456),但首次初始化时因配置读取顺序问题导致使用了旧密码连接失败。本文记录一次完整的密码配置、排错、初始化与增量采集验证流程。

配置数据库密码

项目使用 config.ini 存放数据库连接信息。找到该文件,修改以下字段:

[database]
user = root
password = 123456

保存后,脚本将读取新的密码。注意:如果初始化过程中同时执行了写配置和建表操作,可能因并发导致仍使用缓存的旧配置,建议修改后单独重新执行初始化。

初始化表结构

运行主脚本进行数据库初始化:

cd d:\python_project\个人知识库
python main.py

选择菜单中的初始化选项,程序会根据模型定义自动创建所需的表(如 kb_question)。成功后控制台会输出“初始化表结构成功”。

首次采集与增量逻辑

初始化完成后,执行首次采集测试:

python main.py --auto cursor

该命令会扫描指定目录下的 Cursor 对话文件,解析出提问内容并写入数据库。首次运行结果:扫描 2 个文件,新增 11 条提问。

再次运行相同命令,由于文件内容无新增行,程序正确跳过,显示“增量扫描,无新行”,避免重复导入。此时查询 kb_question 表,记录数仍为 11,去重逻辑工作正常。

常见排错:密码更新不生效

如果在修改 config.ini 后仍然提示连接失败,可能是初始化过程与配置写入并行执行,导致模块在启动时加载了旧的配置。解决方法:

  1. 确认 config.ini 已保存正确的密码。
  2. 重新启动 Python 进程或单独执行一次不带额外参数的初始化命令。
  3. 如果问题依旧,检查代码中是否有多处读取配置的缓存,必要时清理 __pycache__ 后重试。

日常使用命令

日常更新只需在有新对话后执行采集:

cd d:\python_project\个人知识库
python main.py              # 交互菜单,可手动选择采集
python main.py --auto cursor  # 直接采集 Cursor 目录

增量机制会自动识别新增内容,无需担心重复数据。

总结

本次联调验证了数据库密码配置、表初始化、采集去重等核心功能。通过一个简单的密码更新操作,快速定位了配置并发问题,确保了知识库后续稳定运行。日常使用仅需一条命令即可自动导入新问题,适合持续积累个人学习笔记。