Not every database user needs full access. The Nobregas MySQL Panel lets you pick exactly which MySQL privileges to grant when creating a user — from read-only SELECT to full administrative control. This guide explains every privilege and how to select the right ones.
Accessing the Privilege Selector
- Go to Database Users > click Create User.
- Fill in username, password, and host.
- In the Grant to Database dropdown, select a database.
- The Privileges section appears automatically below the dropdown.
By default, ALL PRIVILEGES is checked, granting full access. Uncheck it to reveal individual privilege checkboxes organized into three categories.
The Three Privilege Categories
Data Privileges
These control reading and writing data within tables:
| Privilege | What It Allows |
|---|---|
| SELECT | Read data from tables (queries using SELECT) |
| INSERT | Add new rows to tables |
| UPDATE | Modify existing row values |
| DELETE | Remove rows from tables |
Structure Privileges
These control creating and modifying database objects:
| Privilege | What It Allows |
|---|---|
| CREATE | Create new tables, indexes |
| ALTER | Modify existing table structure (add/change columns) |
| DROP | Delete tables, views |
| INDEX | Create and drop indexes on tables |
| REFERENCES | Create foreign key constraints |
Administration Privileges
These cover advanced database operations:
| Privilege | What It Allows |
|---|---|
| CREATE TEMPORARY TABLES | Create temporary tables for session-scoped data |
| LOCK TABLES | Lock tables for exclusive read/write access |
| CREATE VIEW | Create virtual tables (views) |
| SHOW VIEW | View the SQL behind a view |
| CREATE ROUTINE | Create stored procedures and functions |
| ALTER ROUTINE | Modify or delete stored procedures and functions |
| EXECUTE | Run stored procedures and functions |
| EVENT | Create, alter, and drop scheduled events |
| TRIGGER | Create and drop triggers that fire on table events |
Common Privilege Combinations
Read-Only User (Reporting, Analytics)
- SELECT only
Application User (Standard Web App)
- SELECT, INSERT, UPDATE, DELETE
Developer User (Full Data + Structure)
- SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, INDEX
Full Access (Admin)
- ALL PRIVILEGES
How to Select Privileges
- Uncheck the "ALL PRIVILEGES" checkbox at the top.
- The individual privilege checkboxes appear, organized by category.
- Check the specific privileges you want to grant.
- If you check all 18 individual privileges, the panel automatically treats it as ALL PRIVILEGES.
- Click Create User to finalize.
Principle of Least Privilege
Security best practice recommends granting only the minimum permissions needed:
- A reporting dashboard only needs SELECT.
- A blog CMS needs SELECT, INSERT, UPDATE, DELETE but not DROP.
- Only trusted admin users should have DROP, ALTER, or ALL PRIVILEGES.
This limits damage if a user's credentials are ever compromised.