Files
auto_cursor/MYSQL_README.md
2025-04-01 15:43:27 +08:00

2.6 KiB
Raw Permalink Blame History

Cursor注册工具 - MySQL & Redis支持

本文档说明了如何将Cursor注册工具从SQLite数据库迁移到MySQL数据库并可选地启用Redis缓存以提高性能。

变更内容

  1. 数据库后端从SQLite更换为MySQL
  2. 可选启用Redis缓存
  3. 提供数据迁移脚本
  4. 优化数据库查询性能
  5. 增加数据库连接池管理

前置要求

  1. Python 3.7+
  2. MySQL/MariaDB 服务器
  3. Redis服务器 (可选)
  4. 安装依赖:pip install -r requirements.txt

配置说明

config.yaml中添加了MySQL和Redis相关配置

# 数据库配置
database:
  # SQLite配置兼容旧版本
  path: "cursor.db"
  pool_size: 10
  
  # MySQL配置
  host: "localhost"
  port: 3306
  username: "root"
  password: ""
  database: "cursor_register"
  
  # 是否使用Redis缓存
  use_redis: true

# Redis配置可选当use_redis为true时生效
redis:
  host: "127.0.0.1"
  port: 6379
  password: ""
  db: 0

数据迁移步骤

  1. 确保MySQL服务器已启动并已创建好数据库
  2. 更新config.yaml配置文件,设置正确的数据库连接信息
  3. 运行迁移脚本:python migrate_db.py
  4. 迁移脚本会自动创建表结构并将旧数据导入MySQL

使用Redis缓存

若要启用Redis缓存以提高性能

  1. 安装Redis服务器

    • Windows: 使用WSL或Windows版Redis
    • Linux: sudo apt install redis-server (Ubuntu) 或 sudo yum install redis (CentOS)
    • macOS: brew install redis
  2. config.yaml中设置use_redis: true并配置Redis连接信息

  3. 确保安装了aioredis包:pip install aioredis>=2.0.0

常见问题

  1. 无法连接到MySQL

    • 确认MySQL服务已启动
    • 检查用户名和密码是否正确
    • 确认数据库是否已创建
    • 检查防火墙设置
  2. 无法连接到Redis

    • 确认Redis服务已启动
    • 检查端口和密码设置
    • 如不需要Redis可设置use_redis: false
  3. 迁移失败

    • 检查原SQLite数据库文件是否存在且有效
    • 确认MySQL用户有创建表和写入数据的权限

性能调优

  1. 优化MySQL配置

    [mysqld]
    innodb_buffer_pool_size = 128M
    innodb_log_file_size = 32M
    max_connections = 100
    
  2. 优化Redis配置

    maxmemory 128mb
    maxmemory-policy allkeys-lru
    
  3. 优化连接池大小:根据并发需要调整pool_size参数

注意事项

  • 请确保定期备份MySQL数据库
  • Redis仅用于缓存断电或重启会丢失缓存数据
  • 如在多机部署,需确保时区配置一致