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

107 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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相关配置
```yaml
# 数据库配置
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](https://github.com/microsoftarchive/redis/releases)
- 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配置
```ini
[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仅用于缓存断电或重启会丢失缓存数据
- 如在多机部署,需确保时区配置一致