Course
Show Privileges
MySQL Tutorial
This SQL tutorial is structured for beginners to guide them from the foundational concepts to advanced data manipulation and querying techniques in SQL. By the end of this tutorial, you will have developed a robust understanding of SQL, equipping you with the knowledge to efficiently manage and analyze data across various database systems. This guide sets the stage for your growth into a skilled data professional, ready to tackle complex data challenges and contribute to the field of data analysis and database management.
Show Privileges
The users in MySQL must have enough privileges to interact with the server. This is possible by assigning authentication details, like passwords to the users. In addition to this, operational or administrative privileges are granted separately if a user wants to interact with and operate on the data.
The MySQL SHOW Privileges
The MySQL SHOW PRIVILEGES Statement displays the list of privileges that are supported by the MYSQL server. The displayed list includes all static and currently registered dynamic privileges.
The information (returned list) contains three columns
- Privilege − Name of the privilege
- Context − Name of the MySQL object for which the privilege is applicable.
- Comment − A string value describing the purpose of the privilege.
Syntax
Following is the syntax to list out all privileges in a MySQL Server
SHOW PRIVILEGES;
Example
Following query lists out all the privileges supported by the MySQL server
SHOW PRIVILEGES
Output
After executing the above code, we get the following output
Listing Privileges Using a Client Program
Now, let us see how to retrieve/list all the privileges granted to the current MySQL user using a client program in programming languages like Java, PHP, Python, JavaScript, C++ etc.
Syntax
Following are the syntaxes
PHPNodeJSJavaPython
To show all the privileges granted to an user, we need to pass the SHOW PRIVILEGES statement as a parameter to the query() function of the PHP mysqli library as
$sql = "SHOW PRIVILEGES";$mysqli->query($sql);
Example
Following are the programs
PHPNodeJSJavaPython
$dbhost = 'localhost';$dbuser = 'root';$dbpass = 'password';$mysqli = new mysqli($dbhost, $dbuser, $dbpass);if($mysqli->connect_errno ) { printf("Connect failed: %s", $mysqli->connect_error); exit();}//printf('Connected successfully.');$sql = "SHOW PRIVILEGES";if($result = $mysqli->query($sql)){ printf("PRIVILEGES found successfully...!"); printf("Lists are: "); while($row = mysqli_fetch_array($result)){ print_r($row); }}if($mysqli->error){ printf("Failed..!" , $mysqli->error);}$mysqli->close();
Output
The output obtained is as follows
PRIVILEGES found successfully...!Lists are: Array( [0] => Alter [Privilege] => Alter [1] => Tables [Context] => Tables [2] => To alter the table [Comment] => To alter the table)Array( [0] => Alter routine [Privilege] => Alter routine [1] => Functions,Procedures [Context] => Functions,Procedures [2] => To alter or drop stored functions/procedures [Comment] => To alter or drop stored functions/procedures)Array( [0] => Create [Privilege] => Create [1] => Databases,Tables,Indexes [Context] => Databases,Tables,Indexes [2] => To create new databases and tables [Comment] => To create new databases and tables)Array( [0] => Create routine [Privilege] => Create routine [1] => Databases [Context] => Databases [2] => To use CREATE FUNCTION/PROCEDURE [Comment] => To use CREATE FUNCTION/PROCEDURE)Array( [0] => Create role [Privilege] => Create role [1] => Server Admin [Context] => Server Admin [2] => To create new roles [Comment] => To create new roles)..........
( [0] => REPLICATION_SLAVE_ADMIN [Privilege] => REPLICATION_SLAVE_ADMIN [1] => Server Admin [Context] => Server Admin [2] => [Comment] =>)Array( [0] => SENSITIVE_VARIABLES_OBSERVER [Privilege] => SENSITIVE_VARIABLES_OBSERVER [1] => Server Admin [Context] => Server Admin [2] => [Comment] =>)