Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 18.221.207.166
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
www /
server /
mysql /
mysql-test /
suite /
funcs_1 /
r /
[ HOME SHELL ]
Name
Size
Permission
Action
charset_collation.result
1.31
KB
-rw-r--r--
innodb_bitdata.result
117
B
-rw-r--r--
innodb_cursors.result
116
B
-rw-r--r--
innodb_func_view.result
309.26
KB
-rw-r--r--
innodb_storedproc_02.result
36.35
KB
-rw-r--r--
innodb_storedproc_03.result
15.48
KB
-rw-r--r--
innodb_storedproc_06.result
14.62
KB
-rw-r--r--
innodb_storedproc_07.result
8.36
KB
-rw-r--r--
innodb_storedproc_08.result
25.53
KB
-rw-r--r--
innodb_storedproc_10.result
13.39
KB
-rw-r--r--
innodb_trig_0102.result
15.08
KB
-rw-r--r--
innodb_trig_03.result
24.65
KB
-rw-r--r--
innodb_trig_03e.result
48.78
KB
-rw-r--r--
innodb_trig_0407.result
10.07
KB
-rw-r--r--
innodb_trig_08.result
18.46
KB
-rw-r--r--
innodb_trig_09.result
9.98
KB
-rw-r--r--
innodb_trig_1011ext.result
12.04
KB
-rw-r--r--
innodb_trig_frkey.result
2.23
KB
-rw-r--r--
innodb_views.result
588.04
KB
-rw-r--r--
is_basics_mixed.result
30.21
KB
-rw-r--r--
is_character_sets.result
3.96
KB
-rw-r--r--
is_cml_innodb.result
4.97
KB
-rw-r--r--
is_cml_memory.result
3.94
KB
-rw-r--r--
is_cml_myisam.result
4.97
KB
-rw-r--r--
is_coll_char_set_appl.result
4.34
KB
-rw-r--r--
is_collations.result
4.43
KB
-rw-r--r--
is_column_privileges.result
19.15
KB
-rw-r--r--
is_column_privileges_is_mysql_...
1.44
KB
-rw-r--r--
is_columns.result
20.71
KB
-rw-r--r--
is_columns_innodb.result
78.28
KB
-rw-r--r--
is_columns_is.result
77.55
KB
-rw-r--r--
is_columns_is_embedded.result
75.57
KB
-rw-r--r--
is_columns_memory.result
75.05
KB
-rw-r--r--
is_columns_myisam.result
83.51
KB
-rw-r--r--
is_columns_myisam_embedded.res...
72.89
KB
-rw-r--r--
is_columns_mysql.result
67.25
KB
-rw-r--r--
is_columns_mysql_embedded.resu...
58.59
KB
-rw-r--r--
is_engines.result
3.88
KB
-rw-r--r--
is_engines_archive.result
161
B
-rw-r--r--
is_engines_blackhole.result
205
B
-rw-r--r--
is_engines_csv.result
149
B
-rw-r--r--
is_engines_federated.result
173
B
-rw-r--r--
is_engines_innodb.result
202
B
-rw-r--r--
is_engines_memory.result
194
B
-rw-r--r--
is_engines_merge.result
182
B
-rw-r--r--
is_engines_myisam.result
158
B
-rw-r--r--
is_events.result
6.38
KB
-rw-r--r--
is_key_column_usage.result
20.01
KB
-rw-r--r--
is_key_column_usage_embedded.r...
16.94
KB
-rw-r--r--
is_routines.result
27.73
KB
-rw-r--r--
is_routines_embedded.result
23.94
KB
-rw-r--r--
is_schema_privileges.result
15.56
KB
-rw-r--r--
is_schema_privileges_is_mysql_...
1.84
KB
-rw-r--r--
is_schemata.result
8.67
KB
-rw-r--r--
is_schemata_embedded.result
8.75
KB
-rw-r--r--
is_schemata_is_mysql_test.resu...
1.59
KB
-rw-r--r--
is_statistics.result
20.12
KB
-rw-r--r--
is_statistics_is.result
1.01
KB
-rw-r--r--
is_statistics_mysql.result
6.23
KB
-rw-r--r--
is_statistics_mysql_embedded.r...
11.47
KB
-rw-r--r--
is_table_constraints.result
15.57
KB
-rw-r--r--
is_table_constraints_is.result
828
B
-rw-r--r--
is_table_constraints_mysql.res...
2.3
KB
-rw-r--r--
is_table_constraints_mysql_emb...
3.81
KB
-rw-r--r--
is_table_privileges.result
15.08
KB
-rw-r--r--
is_tables.result
17.27
KB
-rw-r--r--
is_tables_embedded.result
17.48
KB
-rw-r--r--
is_tables_innodb.result
4.07
KB
-rw-r--r--
is_tables_is.result
30.01
KB
-rw-r--r--
is_tables_memory.result
4.17
KB
-rw-r--r--
is_tables_myisam.result
4.23
KB
-rw-r--r--
is_tables_myisam_embedded.resu...
4.63
KB
-rw-r--r--
is_tables_mysql.result
16.11
KB
-rw-r--r--
is_tables_mysql_embedded.resul...
31.05
KB
-rw-r--r--
is_triggers.result
15.87
KB
-rw-r--r--
is_triggers_embedded.result
11.97
KB
-rw-r--r--
is_user_privileges.result
41.08
KB
-rw-r--r--
is_views.result
14.67
KB
-rw-r--r--
is_views_embedded.result
10.98
KB
-rw-r--r--
memory_bitdata.result
286
B
-rw-r--r--
memory_cursors.result
285
B
-rw-r--r--
memory_func_view.result
309.31
KB
-rw-r--r--
memory_storedproc_02.result
36.4
KB
-rw-r--r--
memory_storedproc_03.result
15.53
KB
-rw-r--r--
memory_storedproc_06.result
14.67
KB
-rw-r--r--
memory_storedproc_07.result
8.41
KB
-rw-r--r--
memory_storedproc_08.result
25.58
KB
-rw-r--r--
memory_storedproc_10.result
13.44
KB
-rw-r--r--
memory_trig_0102.result
15.25
KB
-rw-r--r--
memory_trig_03.result
24.47
KB
-rw-r--r--
memory_trig_03e.result
47.41
KB
-rw-r--r--
memory_trig_0407.result
10.23
KB
-rw-r--r--
memory_trig_08.result
18.51
KB
-rw-r--r--
memory_trig_09.result
10.14
KB
-rw-r--r--
memory_trig_1011ext.result
12.11
KB
-rw-r--r--
memory_views.result
588.33
KB
-rw-r--r--
myisam_bitdata.result
286
B
-rw-r--r--
myisam_cursors.result
285
B
-rw-r--r--
myisam_func_view.result
309.31
KB
-rw-r--r--
myisam_storedproc_02.result
36.4
KB
-rw-r--r--
myisam_storedproc_03.result
15.53
KB
-rw-r--r--
myisam_storedproc_06.result
14.67
KB
-rw-r--r--
myisam_storedproc_07.result
8.41
KB
-rw-r--r--
myisam_storedproc_08.result
25.58
KB
-rw-r--r--
myisam_storedproc_10.result
13.44
KB
-rw-r--r--
myisam_trig_0102.result
15.25
KB
-rw-r--r--
myisam_trig_03.result
24.47
KB
-rw-r--r--
myisam_trig_03e.result
47.41
KB
-rw-r--r--
myisam_trig_0407.result
10.23
KB
-rw-r--r--
myisam_trig_08.result
18.51
KB
-rw-r--r--
myisam_trig_09.result
10.14
KB
-rw-r--r--
myisam_trig_1011ext.result
12.11
KB
-rw-r--r--
myisam_views-big.result
603.32
KB
-rw-r--r--
processlist_priv_no_prot.resul...
28.91
KB
-rw-r--r--
processlist_priv_ps.result
28.94
KB
-rw-r--r--
processlist_val_no_prot.result
91.97
KB
-rw-r--r--
processlist_val_ps.result
91.98
KB
-rw-r--r--
row_count_func.result
1.4
KB
-rw-r--r--
storedproc.result
893.84
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : is_user_privileges.result
SHOW TABLES FROM information_schema LIKE 'USER_PRIVILEGES'; Tables_in_information_schema (USER_PRIVILEGES) USER_PRIVILEGES ####################################################################### # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT ####################################################################### DROP VIEW IF EXISTS test.v1; DROP PROCEDURE IF EXISTS test.p1; DROP FUNCTION IF EXISTS test.f1; CREATE VIEW test.v1 AS SELECT * FROM information_schema.USER_PRIVILEGES; CREATE PROCEDURE test.p1() SELECT * FROM information_schema.USER_PRIVILEGES; CREATE FUNCTION test.f1() returns BIGINT BEGIN DECLARE counter BIGINT DEFAULT NULL; SELECT COUNT(*) INTO counter FROM information_schema.USER_PRIVILEGES; RETURN counter; END// # Attention: The printing of the next result sets is disabled. SELECT * FROM information_schema.USER_PRIVILEGES; SELECT * FROM test.v1; CALL test.p1; SELECT test.f1(); DROP VIEW test.v1; DROP PROCEDURE test.p1; DROP FUNCTION test.f1; ######################################################################### # Testcase 3.2.16.1: INFORMATION_SCHEMA.USER_PRIVILEGES layout ######################################################################### DESCRIBE information_schema.USER_PRIVILEGES; Field Type Null Key Default Extra GRANTEE varchar(81) NO TABLE_CATALOG varchar(512) NO PRIVILEGE_TYPE varchar(64) NO IS_GRANTABLE varchar(3) NO SHOW CREATE TABLE information_schema.USER_PRIVILEGES; Table Create Table USER_PRIVILEGES CREATE TEMPORARY TABLE `USER_PRIVILEGES` ( `GRANTEE` varchar(81) NOT NULL DEFAULT '', `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '', `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '', `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT '' ) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW COLUMNS FROM information_schema.USER_PRIVILEGES; Field Type Null Key Default Extra GRANTEE varchar(81) NO TABLE_CATALOG varchar(512) NO PRIVILEGE_TYPE varchar(64) NO IS_GRANTABLE varchar(3) NO SELECT grantee, table_catalog, privilege_type FROM information_schema.user_privileges WHERE table_catalog IS NULL OR table_catalog <> 'def'; grantee table_catalog privilege_type ########################################################################## # Testcases 3.2.16.2+3.2.16.3+3.2.16.4: INFORMATION_SCHEMA.USER_PRIVILEGES # accessible information ########################################################################## DROP DATABASE IF EXISTS db_datadict; CREATE DATABASE db_datadict; DROP USER 'testuser1'@'localhost'; CREATE USER 'testuser1'@'localhost'; DROP USER 'testuser2'@'localhost'; CREATE USER 'testuser2'@'localhost'; DROP USER 'testuser3'@'localhost'; CREATE USER 'testuser3'@'localhost'; GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost'; GRANT SELECT ON mysql.user TO 'testuser1'@'localhost'; GRANT INSERT ON *.* TO 'testuser2'@'localhost'; GRANT UPDATE ON *.* TO 'testuser2'@'localhost'; SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE INSERT IS_GRANTABLE NO GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE UPDATE IS_GRANTABLE NO GRANTEE 'testuser3'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; Host localhost User testuser1 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser2 Select_priv N Insert_priv Y Update_priv Y Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser3 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N # # Add GRANT OPTION db_datadict.* to testuser1; GRANT UPDATE ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION; SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE INSERT IS_GRANTABLE NO GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE UPDATE IS_GRANTABLE NO GRANTEE 'testuser3'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; Host localhost User testuser1 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser2 Select_priv N Insert_priv Y Update_priv Y Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser3 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N # Establish connection testuser1 (user=testuser1) SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; Host localhost User testuser1 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser2 Select_priv N Insert_priv Y Update_priv Y Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser3 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N SHOW GRANTS; Grants for testuser1@localhost GRANT USAGE ON *.* TO 'testuser1'@'localhost' GRANT SELECT, UPDATE ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION GRANT SELECT ON `mysql`.`user` TO 'testuser1'@'localhost' # Now add SELECT on *.* to testuser1; # Switch to connection default GRANT SELECT ON *.* TO 'testuser1'@'localhost'; # # Here <SELECT NO> is shown correctly for testuser1; SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE SELECT IS_GRANTABLE NO GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE INSERT IS_GRANTABLE NO GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE UPDATE IS_GRANTABLE NO GRANTEE 'testuser3'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; Host localhost User testuser1 Select_priv Y Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser2 Select_priv N Insert_priv Y Update_priv Y Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser3 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION; # # Here <SELECT YES> is shown correctly for testuser1; SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE SELECT IS_GRANTABLE YES GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE INSERT IS_GRANTABLE NO GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE UPDATE IS_GRANTABLE NO GRANTEE 'testuser3'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; Host localhost User testuser1 Select_priv Y Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv Y References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser2 Select_priv N Insert_priv Y Update_priv Y Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser3 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N # Switch to connection testuser1 SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE SELECT IS_GRANTABLE YES SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; Host localhost User testuser1 Select_priv Y Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv Y References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser2 Select_priv N Insert_priv Y Update_priv Y Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser3 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N SHOW GRANTS; Grants for testuser1@localhost GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION GRANT SELECT, UPDATE ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION GRANT SELECT ON `mysql`.`user` TO 'testuser1'@'localhost' # Establish connection testuser2 (user=testuser2) SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE INSERT IS_GRANTABLE NO GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE UPDATE IS_GRANTABLE NO SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; ERROR 42000: SELECT command denied to user 'testuser2'@'localhost' for table 'user' SHOW GRANTS; Grants for testuser2@localhost GRANT INSERT, UPDATE ON *.* TO 'testuser2'@'localhost' # Establish connection testuser3 (user=testuser3) SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser3'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; ERROR 42000: SELECT command denied to user 'testuser3'@'localhost' for table 'user' SHOW GRANTS; Grants for testuser3@localhost GRANT USAGE ON *.* TO 'testuser3'@'localhost' # Revoke privileges from testuser1; # Switch to connection default REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'testuser1'@'localhost'; SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE INSERT IS_GRANTABLE NO GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE UPDATE IS_GRANTABLE NO GRANTEE 'testuser3'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; Host localhost User testuser1 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser2 Select_priv N Insert_priv Y Update_priv Y Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser3 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N # Switch to connection testuser1 SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; ERROR 42000: SELECT command denied to user 'testuser1'@'localhost' for table 'user' SHOW GRANTS; Grants for testuser1@localhost GRANT USAGE ON *.* TO 'testuser1'@'localhost' CREATE TABLE db_datadict.tb_55 ( c1 TEXT ); ERROR 42000: CREATE command denied to user 'testuser1'@'localhost' for table 'tb_55' SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; ERROR 42000: SELECT command denied to user 'testuser1'@'localhost' for table 'user' SHOW GRANTS; Grants for testuser1@localhost GRANT USAGE ON *.* TO 'testuser1'@'localhost' CREATE TABLE db_datadict.tb_66 ( c1 TEXT ); ERROR 42000: CREATE command denied to user 'testuser1'@'localhost' for table 'tb_66' # Add ALL on db_datadict.* (and select on mysql.user) to testuser1; # Switch to connection default GRANT ALL ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION; GRANT SELECT ON mysql.user TO 'testuser1'@'localhost'; SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE INSERT IS_GRANTABLE NO GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE UPDATE IS_GRANTABLE NO GRANTEE 'testuser3'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; Host localhost User testuser1 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser2 Select_priv N Insert_priv Y Update_priv Y Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser3 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N # Switch to connection testuser1 SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; Host localhost User testuser1 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser2 Select_priv N Insert_priv Y Update_priv Y Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser3 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N SHOW GRANTS; Grants for testuser1@localhost GRANT USAGE ON *.* TO 'testuser1'@'localhost' GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION GRANT SELECT ON `mysql`.`user` TO 'testuser1'@'localhost' CREATE TABLE db_datadict.tb_56 ( c1 TEXT ); ERROR 42000: CREATE command denied to user 'testuser1'@'localhost' for table 'tb_56' USE db_datadict; SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; Host localhost User testuser1 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser2 Select_priv N Insert_priv Y Update_priv Y Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser3 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N SHOW GRANTS; Grants for testuser1@localhost GRANT USAGE ON *.* TO 'testuser1'@'localhost' GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION GRANT SELECT ON `mysql`.`user` TO 'testuser1'@'localhost' CREATE TABLE tb_57 ( c1 TEXT ) ENGINE = <other_engine_type>; # Revoke privileges from testuser1; # Switch to connection default REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'testuser1'@'localhost'; SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE INSERT IS_GRANTABLE NO GRANTEE 'testuser2'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE UPDATE IS_GRANTABLE NO GRANTEE 'testuser3'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; Host localhost User testuser1 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser2 Select_priv N Insert_priv Y Update_priv Y Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N Host localhost User testuser3 Select_priv N Insert_priv N Update_priv N Delete_priv N Create_priv N Drop_priv N Reload_priv N Shutdown_priv N Process_priv N File_priv N Grant_priv N References_priv N Index_priv N Alter_priv N Show_db_priv N Super_priv N Create_tmp_table_priv N Lock_tables_priv N Execute_priv N Repl_slave_priv N Repl_client_priv N Create_view_priv N Show_view_priv N Create_routine_priv N Alter_routine_priv N Create_user_priv N Event_priv N Trigger_priv N Create_tablespace_priv N ssl_type ssl_cipher x509_issuer x509_subject max_questions 0 max_updates 0 max_connections 0 max_user_connections 0 plugin mysql_native_password authentication_string password_expired N password_last_changed DTVALUE password_lifetime NULL account_locked N # Switch to connection testuser1 SELECT * FROM information_schema.user_privileges WHERE grantee LIKE '''testuser%''' ORDER BY grantee, table_catalog, privilege_type; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO SELECT * FROM mysql.user WHERE user LIKE 'testuser%' ORDER BY host, user; ERROR 42000: SELECT command denied to user 'testuser1'@'localhost' for table 'user' SHOW GRANTS; Grants for testuser1@localhost GRANT USAGE ON *.* TO 'testuser1'@'localhost' CREATE TABLE db_datadict.tb_58 ( c1 TEXT ) ENGINE = <other_engine_type>; USE db_datadict; ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'db_datadict' CREATE TABLE db_datadict.tb_59 ( c1 TEXT ) ENGINE = <other_engine_type>; # Switch to connection default and close connections testuser1,testuser2,testuser3 DROP USER 'testuser1'@'localhost'; DROP USER 'testuser2'@'localhost'; DROP USER 'testuser3'@'localhost'; DROP DATABASE IF EXISTS db_datadict; ######################################################################################## # Testcases 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.USER_PRIVILEGES modifications ######################################################################################## SELECT * FROM information_schema.user_privileges WHERE grantee = '''testuser1''@''localhost'''; SHOW GRANTS FOR 'testuser1'@'localhost'; ERROR 42000: There is no such grant defined for user 'testuser1' on host 'localhost' DROP USER 'testuser1'@'localhost'; CREATE USER 'testuser1'@'localhost'; SELECT * FROM information_schema.user_privileges WHERE grantee = '''testuser1''@''localhost'''; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE USAGE IS_GRANTABLE NO SHOW GRANTS FOR 'testuser1'@'localhost'; Grants for testuser1@localhost GRANT USAGE ON *.* TO 'testuser1'@'localhost' GRANT SELECT, FILE ON *.* TO 'testuser1'@'localhost'; SELECT * FROM information_schema.user_privileges WHERE grantee = '''testuser1''@''localhost'''; GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE SELECT IS_GRANTABLE NO GRANTEE 'testuser1'@'localhost' TABLE_CATALOG def PRIVILEGE_TYPE FILE IS_GRANTABLE NO SHOW GRANTS FOR 'testuser1'@'localhost'; Grants for testuser1@localhost GRANT SELECT, FILE ON *.* TO 'testuser1'@'localhost' DROP USER 'testuser1'@'localhost'; SELECT * FROM information_schema.user_privileges WHERE grantee = '''testuser1''@''localhost'''; SHOW GRANTS FOR 'testuser1'@'localhost'; ERROR 42000: There is no such grant defined for user 'testuser1' on host 'localhost' ######################################################################## # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and # DDL on INFORMATION_SCHEMA tables are not supported ######################################################################## DROP USER 'testuser1'@'localhost'; CREATE USER 'testuser1'@'localhost'; INSERT INTO information_schema.user_privileges SELECT * FROM information_schema.user_privileges; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' UPDATE information_schema.user_privileges SET PRIVILEGE_TYPE = 'gaming'; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' DELETE FROM information_schema.user_privileges WHERE grantee = '''testuser1''@''localhost'''; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' TRUNCATE information_schema.user_privileges; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' CREATE INDEX i1 ON information_schema.user_privileges(grantee); ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' ALTER TABLE information_schema.user_privileges ADD f1 INT; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' DROP TABLE information_schema.user_privileges; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' ALTER TABLE information_schema.user_privileges RENAME db_datadict.user_privileges; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' ALTER TABLE information_schema.user_privileges RENAME information_schema.xuser_privileges; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' DROP USER 'testuser1'@'localhost';
Close