How to Revoke Privileges in MySQL

The admin panel that you'll actually want to use. Try for free.

November 30, 2023

If you’re a database administrator for MySQL, you probably want to remove user access rights to database objects from time to time. This guide covers how to do so.

Understanding MySQL privileges

MySQL manages access through a set of privileges that define what a user can and cannot do. These privileges include actions like SELECT, INSERT, UPDATE, DELETE, and more, applicable at different levels such as global, database, table, column, or routine.

Identifying privileges to revoke

Before revoking privileges, use the SHOW GRANTS command to review a user's current privileges.

SHOW GRANTS FOR 'username'@'host';

Replace username and host with the specific user account and host details.

Revoking global privileges

To revoke global privileges, use the REVOKE statement. Global privileges are revoked from the mysql.user table.

REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'host';

Revoking database-level privileges

Database-level privileges are revoked from the mysql.db table. Specify the database name in the query.

REVOKE ALL PRIVILEGES ON `database_name`.* FROM 'username'@'host';

You could ship faster.

Imagine the time you'd save if you never had to build another internal tool, write a SQL report, or manage another admin panel again. Basedash is built by internal tool builders, for internal tool builders. Our mission is to change the way developers work, so you can focus on building your product.

Revoking table-level privileges

To remove privileges on a specific table, mention the database and table name.

REVOKE ALL PRIVILEGES ON `database_name`.`table_name` FROM 'username'@'host';

Revoking column-level privileges

Column-level privileges are removed by specifying the database, table, and column.

REVOKE ALL PRIVILEGES ON `database_name`.`table_name`(`column_name`) FROM 'username'@'host';

Revoking routine-level privileges

For stored routines like procedures and functions, specify the routine type and name.

REVOKE EXECUTE ON PROCEDURE `database_name`.`procedure_name` FROM 'username'@'host';

Flushing privileges

After revoking privileges, run the FLUSH PRIVILEGES command to reload the privilege tables and apply changes immediately.

FLUSH PRIVILEGES;

Monitoring and adjusting user privileges

Regularly monitor user privileges and adjust them as needed. This ensures that users have only the necessary privileges, enhancing database security.


For more advanced user management and monitoring tools, consider using Basedash. Basedash allows you to generate an admin panel, share access with your team with controlled permissions, and create charts and dashboards from your data. Learn more at Basedash.

TOC

Understanding MySQL privileges
Identifying privileges to revoke
Revoking global privileges
Revoking database-level privileges
Revoking table-level privileges
Revoking column-level privileges
Revoking routine-level privileges
Flushing privileges
Monitoring and adjusting user privileges

November 30, 2023

If you’re a database administrator for MySQL, you probably want to remove user access rights to database objects from time to time. This guide covers how to do so.

Understanding MySQL privileges

MySQL manages access through a set of privileges that define what a user can and cannot do. These privileges include actions like SELECT, INSERT, UPDATE, DELETE, and more, applicable at different levels such as global, database, table, column, or routine.

Identifying privileges to revoke

Before revoking privileges, use the SHOW GRANTS command to review a user's current privileges.

SHOW GRANTS FOR 'username'@'host';

Replace username and host with the specific user account and host details.

Revoking global privileges

To revoke global privileges, use the REVOKE statement. Global privileges are revoked from the mysql.user table.

REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'host';

Revoking database-level privileges

Database-level privileges are revoked from the mysql.db table. Specify the database name in the query.

REVOKE ALL PRIVILEGES ON `database_name`.* FROM 'username'@'host';

You could ship faster.

Imagine the time you'd save if you never had to build another internal tool, write a SQL report, or manage another admin panel again. Basedash is built by internal tool builders, for internal tool builders. Our mission is to change the way developers work, so you can focus on building your product.

Revoking table-level privileges

To remove privileges on a specific table, mention the database and table name.

REVOKE ALL PRIVILEGES ON `database_name`.`table_name` FROM 'username'@'host';

Revoking column-level privileges

Column-level privileges are removed by specifying the database, table, and column.

REVOKE ALL PRIVILEGES ON `database_name`.`table_name`(`column_name`) FROM 'username'@'host';

Revoking routine-level privileges

For stored routines like procedures and functions, specify the routine type and name.

REVOKE EXECUTE ON PROCEDURE `database_name`.`procedure_name` FROM 'username'@'host';

Flushing privileges

After revoking privileges, run the FLUSH PRIVILEGES command to reload the privilege tables and apply changes immediately.

FLUSH PRIVILEGES;

Monitoring and adjusting user privileges

Regularly monitor user privileges and adjust them as needed. This ensures that users have only the necessary privileges, enhancing database security.


For more advanced user management and monitoring tools, consider using Basedash. Basedash allows you to generate an admin panel, share access with your team with controlled permissions, and create charts and dashboards from your data. Learn more at Basedash.

November 30, 2023

If you’re a database administrator for MySQL, you probably want to remove user access rights to database objects from time to time. This guide covers how to do so.

Understanding MySQL privileges

MySQL manages access through a set of privileges that define what a user can and cannot do. These privileges include actions like SELECT, INSERT, UPDATE, DELETE, and more, applicable at different levels such as global, database, table, column, or routine.

Identifying privileges to revoke

Before revoking privileges, use the SHOW GRANTS command to review a user's current privileges.

SHOW GRANTS FOR 'username'@'host';

Replace username and host with the specific user account and host details.

Revoking global privileges

To revoke global privileges, use the REVOKE statement. Global privileges are revoked from the mysql.user table.

REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'host';

Revoking database-level privileges

Database-level privileges are revoked from the mysql.db table. Specify the database name in the query.

REVOKE ALL PRIVILEGES ON `database_name`.* FROM 'username'@'host';

You could ship faster.

Imagine the time you'd save if you never had to build another internal tool, write a SQL report, or manage another admin panel again. Basedash is built by internal tool builders, for internal tool builders. Our mission is to change the way developers work, so you can focus on building your product.

Revoking table-level privileges

To remove privileges on a specific table, mention the database and table name.

REVOKE ALL PRIVILEGES ON `database_name`.`table_name` FROM 'username'@'host';

Revoking column-level privileges

Column-level privileges are removed by specifying the database, table, and column.

REVOKE ALL PRIVILEGES ON `database_name`.`table_name`(`column_name`) FROM 'username'@'host';

Revoking routine-level privileges

For stored routines like procedures and functions, specify the routine type and name.

REVOKE EXECUTE ON PROCEDURE `database_name`.`procedure_name` FROM 'username'@'host';

Flushing privileges

After revoking privileges, run the FLUSH PRIVILEGES command to reload the privilege tables and apply changes immediately.

FLUSH PRIVILEGES;

Monitoring and adjusting user privileges

Regularly monitor user privileges and adjust them as needed. This ensures that users have only the necessary privileges, enhancing database security.


For more advanced user management and monitoring tools, consider using Basedash. Basedash allows you to generate an admin panel, share access with your team with controlled permissions, and create charts and dashboards from your data. Learn more at Basedash.

What is Basedash?

What is Basedash?

What is Basedash?

Basedash is the best MySQL admin panel

Basedash is the best MySQL admin panel

Basedash is the best MySQL admin panel

If you're building with MySQL, you need Basedash. It gives you an instantly generated admin panel to understand, query, build dashboards, edit, and share access to your data.

If you're building with MySQL, you need Basedash. It gives you an instantly generated admin panel to understand, query, build dashboards, edit, and share access to your data.

If you're building with MySQL, you need Basedash. It gives you an instantly generated admin panel to understand, query, build dashboards, edit, and share access to your data.

Dashboards and charts

Edit data, create records, oversee how your product is running without the need to build or manage custom software.

USER CRM

ADMIN PANEL

SQL COMPOSER WITH AI

Screenshot of a users table in a database. The interface is very data-dense with information.