User & Permission Management
Overview
DBWillow's User Management feature provides a visual interface for managing MySQL users and their permissions, making it easy to create users, assign roles, and manage database access.
Accessing User Management
- Connect to a database
- Click "User Management" in the toolbar
- View all database users
- Create, edit, or delete users
Creating Users
Basic User Creation
- Click "Create User"
- Enter username
- Set password
- Choose host (localhost, %, or specific IP)
- Select role or custom permissions
- Click "Create"
User Roles
Choose from predefined roles:
- Admin: Full database access
- Read-Only: SELECT only
- Read-Write: SELECT, INSERT, UPDATE, DELETE
- Custom: Choose specific permissions
Managing Permissions
Visual Permission Manager
- See all available permissions
- Check/uncheck permissions
- Apply to specific databases or tables
- Preview changes before applying
Permission Types
- Data: SELECT, INSERT, UPDATE, DELETE
- Structure: CREATE, ALTER, DROP, INDEX
- Administration: GRANT, RELOAD, SHUTDOWN
- Process: PROCESS, FILE
Granular Control
- Database-level permissions
- Table-level permissions
- Column-level permissions (advanced)
- Function and procedure permissions
Role Templates
Using Templates
- Select a role template
- Permissions are pre-configured
- Customize if needed
- Apply to user
Creating Custom Roles
- Select "Custom" role
- Choose specific permissions
- Save as template (optional)
- Apply to user
Preview Changes
Before Applying
See exactly what will change:
- Current permissions
- New permissions
- SQL that will execute
- Impact summary
Safety Features
- Preview before applying
- Rollback on errors
- Confirmation dialogs
- Audit trail
Best Practices
Principle of Least Privilege
- Give users only what they need
- Start with minimal permissions
- Add permissions as needed
- Regular permission audits
Regular Audits
- Review user permissions regularly
- Remove unused accounts
- Update permissions as roles change
- Document permission changes
Security
- Use strong passwords
- Limit host access
- Regular security reviews
- Monitor user activity
Common Tasks
Creating Application User
- Create user with application name
- Grant read-write to specific database
- Limit to application server IP
- Test connection
Creating Reporting User
- Create read-only user
- Grant SELECT on reporting databases
- Limit to reporting server
- Set up monitoring
Updating Permissions
- Find user
- Edit permissions
- Preview changes
- Apply updates
Troubleshooting
Permission Denied
- Check user permissions
- Verify host restrictions
- Check database access
- Review error messages
Can't Create User
- Verify you have CREATE USER privilege
- Check username format
- Ensure host is valid
- Review MySQL logs
Next Steps
- Learn about Import/Export
- Read Managing Users tutorial
- Explore SSH Tunnels
