MySQL

How to Choose Specific Privileges When Creating a User

Choose specific MySQL privileges when creating a database user on Nobregas Panel. Understand each privilege and pick the right access level.

3 min read 9 views Updated Mar 17, 2026

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

  1. Go to Database Users > click Create User.
  2. Fill in username, password, and host.
  3. In the Grant to Database dropdown, select a database.
  4. 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

  1. Uncheck the "ALL PRIVILEGES" checkbox at the top.
  2. The individual privilege checkboxes appear, organized by category.
  3. Check the specific privileges you want to grant.
  4. If you check all 18 individual privileges, the panel automatically treats it as ALL PRIVILEGES.
  5. 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.

Was this article helpful?