English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

How to add super privileges to a MySQL database?

Firstly, use the DESC command to check the MySQL database.

mysql>DESC mysql.db;

The following is the output.

+-----------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+---------------+------+-----+---------+-------+
| Host | char(|60) | NO | PRI | | | | |
| Db | char(|64) | NO | PRI | | | | |
| User | char(|32) | NO | PRI | | | | |
| Select_priv | enum('N','Y') | NO | | N | | |
| Insert_priv | enum('N','Y') | NO | | N | | |
| Update_priv | enum('N','Y') | NO | | N | | |
| Delete_priv | enum('N','Y') | NO | | N | | |
| Create_priv | enum('N','Y') | NO | | N | | |
| Drop_priv | enum('N','Y') | NO | | N | | |
| Grant_priv | enum('N','Y') | NO | | N | | |
| References_priv | enum('N','Y') | NO | | N | | |
| Index_priv | enum('N','Y') | NO | | N | | |
| Alter_priv | enum('N','Y') | NO | | N | | |
| Create_tmp_table_priv | enum('N','Y') | NO | | N | | |
| Lock_tables_priv | enum('N','Y') | NO | | N | | |
| Create_view_priv | enum('N','Y') | NO | | N | | |
| Show_view_priv | enum('N','Y') | NO | | N | | |
| Create_routine_priv | enum('N','Y') | NO | | N | | |
| Alter_routine_priv | enum('N','Y') | NO | | N | | |
| Execute_priv | enum('N','Y') | NO | | N | | |
| Event_priv | enum('N','Y') | NO | | N | | |
| Trigger_priv | enum('N','Y') | NO | | N | | |
+-----------------------+---------------+------+-----+---------+-------+
22 rows in set (0.06 sec)

Now let us see the query to grant privileges.

mysql> UPDATE mysql.user SET Super_Priv='Y' WHERE user='Manish' AND host='%';
Rows matched: 1  Changed: 0 Warnings: 0

Now let us use the DESC command to display the table.

mysql> desc mysql.user;
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host | char(|60) | NO | PRI | | | | | |
| User | char(|32) | NO | PRI | | | | | |
| Select_priv | enum('N','Y') | NO | | N | | | |
| Insert_priv | enum('N','Y') | NO | | N | | | |
| Update_priv            | enum('N','Y')                   | NO   |     | N                   |       |
| Delete_priv            | enum('N','Y')                   | NO   |     | N                   |       |
| Create_priv            | enum('N','Y')                   | NO   |     | N                   |       |
| Drop_priv              | enum('N','Y')                   | NO   |     | N                   |       |
| Reload_priv            | enum('N','Y')                   | NO   |     | N                   |       |
| Shutdown_priv          | enum('N','Y')                   | NO   |     | N                   |       |
| Process_priv           | enum('N','Y')                   | NO   |     | N                   |       |
| File_priv              | enum('N','Y')                   | NO   |     | N                   |       |
| Grant_priv             | enum('N','Y')                   | NO   |     | N                   |       |
| References_priv | enum('N','Y') | NO | | N | | | |
| Index_priv | enum('N','Y') | NO | | N | | | |
| Alter_priv | enum('N','Y') | NO | | N | | | |
| Show_db_priv | enum('N','Y') | NO | | N | | | |
| Super_priv | enum('N','Y') | NO | | N | | | |
| Create_tmp_table_priv | enum('N','Y') | NO | | N | | | |
| Lock_tables_priv | enum('N','Y') | NO | | N | | | |
| Execute_priv | enum('N','Y') | NO | | N | | | |
| Repl_slave_priv | enum('N','Y') | NO | | N | | | |
| Repl_client_priv | enum('N','Y') | NO | | N | | | |
| Create_view_priv | enum('N','Y') | NO | | N | | | |
| Show_view_priv | enum('N','Y') | NO | | N | | | |
| Create_routine_priv | enum('N','Y') | NO | | N | | | |
| Alter_routine_priv | enum('N','Y') | NO | | N | | | |
| Create_user_priv | enum('N','Y') | NO | | N | | | |
| Event_priv | enum('N','Y') | NO | | N | | | |
| Trigger_priv | enum('N','Y') | NO | | N | | | |
| Create_tablespace_priv | enum('N','Y') | NO | | N | | | |
| ssl_type | enum('','ANY','X')509','SPECIFIED') | NO | | | | | | |
| ssl_cipher | blob | NO | | NULL | | | |
| x509_issuer | blob | NO | | NULL | | | |
| x509_subject | blob | NO | | NULL | | | |
| max_questions | int(11) unsigned | NO | | 0 | | | |
| max_updates | int(11) unsigned | NO | | 0 | | | |
| max_connections | int(11) unsigned | NO | | 0 | | | |
| max_user_connections | int(11) unsigned | NO | | 0 | | | |
| plugin | char(64) | NO | | caching_sha2_password |
| authentication_string | text | YES | | NULL | | | |
| password_expired | enum('N','Y') | NO | | N | | | |
| password_last_changed                                    | timestamp                                            | YES                                            |                                            | NULL                                            |                                            |
| password_lifetime                                         | smallint(5) unsigned                                            | YES                                            |                                                    | NULL                                                    |                                                    |
| account_locked                                            | enum('N','Y')                                            | NO                                            |                                            | N                                            |                                            |
| Create_role_priv                                         | enum('N','Y')                                            | NO                                            |                                            | N                                            |                                            |
| Drop_role_priv                                          | enum('N','Y')                                            | NO                                            |                                            | N                                            |                                            |
| Password_reuse_history                                  | smallint(5) unsigned                                            | YES                                            |                                                    | NULL                                                    |                                                    |
| Password_reuse_time                                      | smallint(5) unsigned                                            | YES                                            |                                                    | NULL                                                    |                                                    |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
49 rows in set (0.01 sec)

You can easily see the added privileges in the above table. The following is the syntax to add super privileges to the MySQL database.

mysql> GRANT SUPER ON *.* TO user@'localhost' IDENTIFIED BY 'passwordName';

After executing the above query, do not forget to end it with the following command.

FLUSH PRIVILEGES;