Quick Start
How It Works
MySQL stores conversation data in optimized InnoDB tables:| Table | Engine | Features |
|---|---|---|
conversations | InnoDB | ACID transactions, foreign keys |
messages | InnoDB | Full-text indexes, UTF8MB4 support |
runs | InnoDB | Execution tracking, performance stats |
tool_calls | InnoDB | JSON column type (MySQL 5.7+) |
Configuration Options
Database URL Formats
Advanced MySQL Configuration
Docker Setup
Quick MySQL setup with Docker:Advanced Features
JSON Data Storage (MySQL 5.7+)
Full-Text Search
Replication Setup
MySQL master-slave replication for high availability:Migration and Backup
Data Export and Import
Database Backup Script
Best Practices
Performance Optimization
Performance Optimization
- Use InnoDB engine for ACID compliance and performance
- Create indexes on frequently queried columns (session_id, created_at)
- Configure appropriate innodb_buffer_pool_size (50-80% of available RAM)
- Use connection pooling to manage concurrent connections
Character Set and Collation
Character Set and Collation
- Use utf8mb4 character set for full Unicode support (including emojis)
- Set utf8mb4_unicode_ci collation for proper sorting
- Configure connection charset to match database charset
- Test with international characters and emojis
Security
Security
- Use SSL connections for production deployments
- Create dedicated database users with minimal required privileges
- Regularly update MySQL to latest stable version
- Monitor failed login attempts and unusual query patterns
Monitoring and Maintenance
Monitoring and Maintenance
- Monitor slow query log for optimization opportunities
- Set up automated backups with point-in-time recovery
- Use MySQL Enterprise Monitor or Percona Monitoring for detailed metrics
- Plan for periodic maintenance windows for updates
Related
PostgreSQL Persistence
Alternative SQL database with advanced features
Database Persistence Overview
Compare all available persistence backends

