diff options
Diffstat (limited to 'mysql-test/suite/perfschema/r/privilege.result')
-rw-r--r-- | mysql-test/suite/perfschema/r/privilege.result | 616 |
1 files changed, 616 insertions, 0 deletions
diff --git a/mysql-test/suite/perfschema/r/privilege.result b/mysql-test/suite/perfschema/r/privilege.result new file mode 100644 index 00000000..75b01842 --- /dev/null +++ b/mysql-test/suite/perfschema/r/privilege.result @@ -0,0 +1,616 @@ +show grants; +Grants for root@localhost +GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` WITH GRANT OPTION +GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION +create user 'pfs_user_1'@localhost; +create user 'pfs_user_2'@localhost; +create user 'pfs_user_3'@localhost; +grant SELECT,INSERT,UPDATE,DELETE,DROP,CREATE on test.* to 'pfs_user_1'@localhost; +grant SELECT,INSERT,UPDATE,DELETE,DROP,CREATE on test.* to 'pfs_user_2'@localhost; +grant SELECT,INSERT,UPDATE,DELETE,DROP,CREATE on test.* to 'pfs_user_3'@localhost; +grant ALL on *.* to 'pfs_user_1'@localhost with GRANT OPTION; +grant ALL on performance_schema.* to 'pfs_user_2'@localhost +with GRANT OPTION; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant CREATE on performance_schema.* to 'pfs_user_2'@localhost; +grant DROP on performance_schema.* to 'pfs_user_2'@localhost; +grant REFERENCES on performance_schema.* to 'pfs_user_2'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant INDEX on performance_schema.* to 'pfs_user_2'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant ALTER on performance_schema.* to 'pfs_user_2'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant CREATE TEMPORARY TABLES on performance_schema.* to 'pfs_user_2'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant EXECUTE on performance_schema.* to 'pfs_user_2'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant CREATE VIEW on performance_schema.* to 'pfs_user_2'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant SHOW VIEW on performance_schema.* to 'pfs_user_2'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant CREATE ROUTINE on performance_schema.* to 'pfs_user_2'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant ALTER ROUTINE on performance_schema.* to 'pfs_user_2'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant EVENT on performance_schema.* to 'pfs_user_2'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant TRIGGER on performance_schema.* to 'pfs_user_2'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant SELECT on performance_schema.* to 'pfs_user_2'@localhost; +grant INSERT on performance_schema.* to 'pfs_user_2'@localhost; +grant UPDATE on performance_schema.* to 'pfs_user_2'@localhost; +grant DELETE on performance_schema.* to 'pfs_user_2'@localhost; +grant LOCK TABLES on performance_schema.* to 'pfs_user_2'@localhost; +grant ALL on performance_schema.setup_instruments to 'pfs_user_3'@localhost +with GRANT OPTION; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant CREATE on performance_schema.setup_instruments to 'pfs_user_3'@localhost; +grant DROP on performance_schema.setup_instruments to 'pfs_user_3'@localhost; +grant REFERENCES on performance_schema.setup_instruments to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant INDEX on performance_schema.setup_instruments to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant ALTER on performance_schema.setup_instruments to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant CREATE VIEW on performance_schema.setup_instruments to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant SHOW VIEW on performance_schema.setup_instruments to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant TRIGGER on performance_schema.setup_instruments to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant INSERT on performance_schema.setup_instruments to 'pfs_user_3'@localhost; +ERROR 42000: INSERT, GRANT command denied to user 'root'@'localhost' for table `performance_schema`.`setup_instruments` +grant DELETE on performance_schema.setup_instruments to 'pfs_user_3'@localhost; +ERROR 42000: DELETE, GRANT command denied to user 'root'@'localhost' for table `performance_schema`.`setup_instruments` +grant SELECT on performance_schema.setup_instruments to 'pfs_user_3'@localhost +with GRANT OPTION; +grant UPDATE on performance_schema.setup_instruments to 'pfs_user_3'@localhost +with GRANT OPTION; +grant ALL on performance_schema.events_waits_current to 'pfs_user_3'@localhost +with GRANT OPTION; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant CREATE on performance_schema.events_waits_current to 'pfs_user_3'@localhost; +grant DROP on performance_schema.events_waits_current to 'pfs_user_3'@localhost; +grant REFERENCES on performance_schema.events_waits_current to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant INDEX on performance_schema.events_waits_current to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant ALTER on performance_schema.events_waits_current to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant CREATE VIEW on performance_schema.events_waits_current to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant SHOW VIEW on performance_schema.events_waits_current to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant TRIGGER on performance_schema.events_waits_current to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant INSERT on performance_schema.events_waits_current to 'pfs_user_3'@localhost; +ERROR 42000: INSERT, GRANT command denied to user 'root'@'localhost' for table `performance_schema`.`events_waits_current` +grant UPDATE on performance_schema.events_waits_current to 'pfs_user_3'@localhost; +ERROR 42000: UPDATE, GRANT command denied to user 'root'@'localhost' for table `performance_schema`.`events_waits_current` +grant DELETE on performance_schema.events_waits_current to 'pfs_user_3'@localhost; +ERROR 42000: DELETE, GRANT command denied to user 'root'@'localhost' for table `performance_schema`.`events_waits_current` +grant SELECT on performance_schema.events_waits_current to 'pfs_user_3'@localhost +with GRANT OPTION; +grant ALL on performance_schema.file_instances to 'pfs_user_3'@localhost +with GRANT OPTION; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant CREATE on performance_schema.file_instances to 'pfs_user_3'@localhost; +grant DROP on performance_schema.file_instances to 'pfs_user_3'@localhost; +grant REFERENCES on performance_schema.file_instances to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant INDEX on performance_schema.file_instances to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant ALTER on performance_schema.file_instances to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant CREATE VIEW on performance_schema.file_instances to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant SHOW VIEW on performance_schema.file_instances to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant TRIGGER on performance_schema.file_instances to 'pfs_user_3'@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +grant INSERT on performance_schema.file_instances to 'pfs_user_3'@localhost; +ERROR 42000: INSERT, GRANT command denied to user 'root'@'localhost' for table `performance_schema`.`file_instances` +grant UPDATE on performance_schema.file_instances to 'pfs_user_3'@localhost; +ERROR 42000: UPDATE, GRANT command denied to user 'root'@'localhost' for table `performance_schema`.`file_instances` +grant DELETE on performance_schema.file_instances to 'pfs_user_3'@localhost; +ERROR 42000: DELETE, GRANT command denied to user 'root'@'localhost' for table `performance_schema`.`file_instances` +grant SELECT on performance_schema.file_instances to 'pfs_user_3'@localhost +with GRANT OPTION; +grant LOCK TABLES on performance_schema.* to 'pfs_user_3'@localhost +with GRANT OPTION; +flush privileges; +drop table if exists test.t1; +rename table performance_schema.setup_instruments to test.t1; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +rename table performance_schema.events_waits_current to test.t1; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +rename table performance_schema.file_instances to test.t1; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +rename table performance_schema.setup_instruments to performance_schema.t1; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +rename table performance_schema.events_waits_current to performance_schema.t1; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +rename table performance_schema.file_instances to performance_schema.t1; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +rename table performance_schema.setup_instruments +to performance_schema.events_waits_current; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +rename table performance_schema.events_waits_current +to performance_schema.setup_instruments; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +create procedure performance_schema.my_proc() begin end; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +create function performance_schema.my_func() returns int return 0; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +create event performance_schema.my_event on schedule every 15 minute +do begin end; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +create trigger performance_schema.bi_setup_instruments +before insert on performance_schema.setup_instruments +for each row begin end; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +create trigger performance_schema.bi_events_waits_current +before insert on performance_schema.events_waits_current +for each row begin end; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +create trigger performance_schema.bi_file_instances +before insert on performance_schema.file_instances +for each row begin end; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +create table test.t1(a int) engine=PERFORMANCE_SCHEMA; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +create table test.t1 like performance_schema.setup_instruments; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +create table test.t1 like performance_schema.events_waits_current; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +create table test.t1 like performance_schema.file_instances; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +insert into performance_schema.setup_instruments +set name="foo"; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table `performance_schema`.`setup_instruments` +insert into performance_schema.events_waits_current +set name="foo"; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table `performance_schema`.`events_waits_current` +insert into performance_schema.file_instances +set name="foo"; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table `performance_schema`.`file_instances` +delete from performance_schema.setup_instruments; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table `performance_schema`.`setup_instruments` +delete from performance_schema.events_waits_current; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table `performance_schema`.`events_waits_current` +delete from performance_schema.file_instances; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table `performance_schema`.`file_instances` +lock table performance_schema.setup_instruments read; +unlock tables; +lock table performance_schema.setup_instruments write; +unlock tables; +lock table performance_schema.events_waits_current read; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table `performance_schema`.`events_waits_current` +unlock tables; +lock table performance_schema.events_waits_current write; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table `performance_schema`.`events_waits_current` +unlock tables; +lock table performance_schema.file_instances read; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table `performance_schema`.`file_instances` +unlock tables; +lock table performance_schema.file_instances write; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table `performance_schema`.`file_instances` +unlock tables; +# +# WL#4818, NFS2: Can use grants to give normal user access +# to view data from _current and _history tables +# +# Should work as pfs_user_1 and pfs_user_2, but not as pfs_user_3. +# (Except for events_waits_current, which is granted.) +SELECT "can select" FROM performance_schema.events_waits_history LIMIT 1; +can select +can select +SELECT "can select" FROM performance_schema.events_waits_history_long LIMIT 1; +can select +can select +SELECT "can select" FROM performance_schema.events_waits_current LIMIT 1; +can select +can select +SELECT "can select" FROM performance_schema.events_waits_summary_by_instance LIMIT 1; +can select +can select +SELECT "can select" FROM performance_schema.file_summary_by_instance LIMIT 1; +can select +can select +connect con1, localhost, pfs_user_1, , ; +drop table if exists test.t1; +rename table performance_schema.setup_instruments to test.t1; +ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema' +rename table performance_schema.events_waits_current to test.t1; +ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema' +rename table performance_schema.file_instances to test.t1; +ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema' +rename table performance_schema.setup_instruments to performance_schema.t1; +ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema' +rename table performance_schema.events_waits_current to performance_schema.t1; +ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema' +rename table performance_schema.file_instances to performance_schema.t1; +ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema' +rename table performance_schema.setup_instruments +to performance_schema.events_waits_current; +ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema' +rename table performance_schema.events_waits_current +to performance_schema.setup_instruments; +ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema' +create procedure performance_schema.my_proc() begin end; +ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema' +create function performance_schema.my_func() returns int return 0; +ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema' +create event performance_schema.my_event on schedule every 15 minute +do begin end; +ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema' +create trigger performance_schema.bi_setup_instruments +before insert on performance_schema.setup_instruments +for each row begin end; +ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema' +create trigger performance_schema.bi_events_waits_current +before insert on performance_schema.events_waits_current +for each row begin end; +ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema' +create trigger performance_schema.bi_file_instances +before insert on performance_schema.file_instances +for each row begin end; +ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema' +create table test.t1(a int) engine=PERFORMANCE_SCHEMA; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +create table test.t1 like performance_schema.setup_instruments; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +create table test.t1 like performance_schema.events_waits_current; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +create table test.t1 like performance_schema.file_instances; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +insert into performance_schema.setup_instruments +set name="foo"; +ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table `performance_schema`.`setup_instruments` +insert into performance_schema.events_waits_current +set name="foo"; +ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table `performance_schema`.`events_waits_current` +insert into performance_schema.file_instances +set name="foo"; +ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table `performance_schema`.`file_instances` +delete from performance_schema.setup_instruments; +ERROR 42000: DELETE command denied to user 'pfs_user_1'@'localhost' for table `performance_schema`.`setup_instruments` +delete from performance_schema.events_waits_current; +ERROR 42000: DELETE command denied to user 'pfs_user_1'@'localhost' for table `performance_schema`.`events_waits_current` +delete from performance_schema.file_instances; +ERROR 42000: DELETE command denied to user 'pfs_user_1'@'localhost' for table `performance_schema`.`file_instances` +lock table performance_schema.setup_instruments read; +unlock tables; +lock table performance_schema.setup_instruments write; +unlock tables; +lock table performance_schema.events_waits_current read; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_1'@'localhost' for table `performance_schema`.`events_waits_current` +unlock tables; +lock table performance_schema.events_waits_current write; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_1'@'localhost' for table `performance_schema`.`events_waits_current` +unlock tables; +lock table performance_schema.file_instances read; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_1'@'localhost' for table `performance_schema`.`file_instances` +unlock tables; +lock table performance_schema.file_instances write; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_1'@'localhost' for table `performance_schema`.`file_instances` +unlock tables; +# +# WL#4818, NFS2: Can use grants to give normal user access +# to view data from _current and _history tables +# +# Should work as pfs_user_1 and pfs_user_2, but not as pfs_user_3. +# (Except for events_waits_current, which is granted.) +SELECT "can select" FROM performance_schema.events_waits_history LIMIT 1; +can select +can select +SELECT "can select" FROM performance_schema.events_waits_history_long LIMIT 1; +can select +can select +SELECT "can select" FROM performance_schema.events_waits_current LIMIT 1; +can select +can select +SELECT "can select" FROM performance_schema.events_waits_summary_by_instance LIMIT 1; +can select +can select +SELECT "can select" FROM performance_schema.file_summary_by_instance LIMIT 1; +can select +can select +disconnect con1; +connect con2, localhost, pfs_user_2, , ; +drop table if exists test.t1; +rename table performance_schema.setup_instruments to test.t1; +ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema' +rename table performance_schema.events_waits_current to test.t1; +ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema' +rename table performance_schema.file_instances to test.t1; +ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema' +rename table performance_schema.setup_instruments to performance_schema.t1; +ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema' +rename table performance_schema.events_waits_current to performance_schema.t1; +ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema' +rename table performance_schema.file_instances to performance_schema.t1; +ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema' +rename table performance_schema.setup_instruments +to performance_schema.events_waits_current; +ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema' +rename table performance_schema.events_waits_current +to performance_schema.setup_instruments; +ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema' +create procedure performance_schema.my_proc() begin end; +ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema' +create function performance_schema.my_func() returns int return 0; +ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema' +create event performance_schema.my_event on schedule every 15 minute +do begin end; +ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema' +create trigger performance_schema.bi_setup_instruments +before insert on performance_schema.setup_instruments +for each row begin end; +ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema' +create trigger performance_schema.bi_events_waits_current +before insert on performance_schema.events_waits_current +for each row begin end; +ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema' +create trigger performance_schema.bi_file_instances +before insert on performance_schema.file_instances +for each row begin end; +ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema' +create table test.t1(a int) engine=PERFORMANCE_SCHEMA; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +create table test.t1 like performance_schema.setup_instruments; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +create table test.t1 like performance_schema.events_waits_current; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +create table test.t1 like performance_schema.file_instances; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +insert into performance_schema.setup_instruments +set name="foo"; +ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table `performance_schema`.`setup_instruments` +insert into performance_schema.events_waits_current +set name="foo"; +ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table `performance_schema`.`events_waits_current` +insert into performance_schema.file_instances +set name="foo"; +ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table `performance_schema`.`file_instances` +delete from performance_schema.setup_instruments; +ERROR 42000: DELETE command denied to user 'pfs_user_2'@'localhost' for table `performance_schema`.`setup_instruments` +delete from performance_schema.events_waits_current; +ERROR 42000: DELETE command denied to user 'pfs_user_2'@'localhost' for table `performance_schema`.`events_waits_current` +delete from performance_schema.file_instances; +ERROR 42000: DELETE command denied to user 'pfs_user_2'@'localhost' for table `performance_schema`.`file_instances` +lock table performance_schema.setup_instruments read; +unlock tables; +lock table performance_schema.setup_instruments write; +unlock tables; +lock table performance_schema.events_waits_current read; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_2'@'localhost' for table `performance_schema`.`events_waits_current` +unlock tables; +lock table performance_schema.events_waits_current write; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_2'@'localhost' for table `performance_schema`.`events_waits_current` +unlock tables; +lock table performance_schema.file_instances read; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_2'@'localhost' for table `performance_schema`.`file_instances` +unlock tables; +lock table performance_schema.file_instances write; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_2'@'localhost' for table `performance_schema`.`file_instances` +unlock tables; +# +# WL#4818, NFS2: Can use grants to give normal user access +# to view data from _current and _history tables +# +# Should work as pfs_user_1 and pfs_user_2, but not as pfs_user_3. +# (Except for events_waits_current, which is granted.) +SELECT "can select" FROM performance_schema.events_waits_history LIMIT 1; +can select +can select +SELECT "can select" FROM performance_schema.events_waits_history_long LIMIT 1; +can select +can select +SELECT "can select" FROM performance_schema.events_waits_current LIMIT 1; +can select +can select +SELECT "can select" FROM performance_schema.events_waits_summary_by_instance LIMIT 1; +can select +can select +SELECT "can select" FROM performance_schema.file_summary_by_instance LIMIT 1; +can select +can select +disconnect con2; +connect con3, localhost, pfs_user_3, , ; +drop table if exists test.t1; +rename table performance_schema.setup_instruments to test.t1; +ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema' +rename table performance_schema.events_waits_current to test.t1; +ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema' +rename table performance_schema.file_instances to test.t1; +ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema' +rename table performance_schema.setup_instruments to performance_schema.t1; +ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema' +rename table performance_schema.events_waits_current to performance_schema.t1; +ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema' +rename table performance_schema.file_instances to performance_schema.t1; +ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema' +rename table performance_schema.setup_instruments +to performance_schema.events_waits_current; +ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema' +rename table performance_schema.events_waits_current +to performance_schema.setup_instruments; +ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema' +create procedure performance_schema.my_proc() begin end; +ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema' +create function performance_schema.my_func() returns int return 0; +ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema' +create event performance_schema.my_event on schedule every 15 minute +do begin end; +ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema' +create trigger performance_schema.bi_setup_instruments +before insert on performance_schema.setup_instruments +for each row begin end; +ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema' +create trigger performance_schema.bi_events_waits_current +before insert on performance_schema.events_waits_current +for each row begin end; +ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema' +create trigger performance_schema.bi_file_instances +before insert on performance_schema.file_instances +for each row begin end; +ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema' +create table test.t1(a int) engine=PERFORMANCE_SCHEMA; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +create table test.t1 like performance_schema.setup_instruments; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +create table test.t1 like performance_schema.events_waits_current; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +create table test.t1 like performance_schema.file_instances; +ERROR HY000: Can't create table `test`.`t1` (errno: 131 "Command not supported by the engine") +insert into performance_schema.setup_instruments +set name="foo"; +ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table `performance_schema`.`setup_instruments` +insert into performance_schema.events_waits_current +set name="foo"; +ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table `performance_schema`.`events_waits_current` +insert into performance_schema.file_instances +set name="foo"; +ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table `performance_schema`.`file_instances` +delete from performance_schema.setup_instruments; +ERROR 42000: DELETE command denied to user 'pfs_user_3'@'localhost' for table `performance_schema`.`setup_instruments` +delete from performance_schema.events_waits_current; +ERROR 42000: DELETE command denied to user 'pfs_user_3'@'localhost' for table `performance_schema`.`events_waits_current` +delete from performance_schema.file_instances; +ERROR 42000: DELETE command denied to user 'pfs_user_3'@'localhost' for table `performance_schema`.`file_instances` +lock table performance_schema.setup_instruments read; +unlock tables; +lock table performance_schema.setup_instruments write; +unlock tables; +lock table performance_schema.events_waits_current read; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_3'@'localhost' for table `performance_schema`.`events_waits_current` +unlock tables; +lock table performance_schema.events_waits_current write; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_3'@'localhost' for table `performance_schema`.`events_waits_current` +unlock tables; +lock table performance_schema.file_instances read; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_3'@'localhost' for table `performance_schema`.`file_instances` +unlock tables; +lock table performance_schema.file_instances write; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'pfs_user_3'@'localhost' for table `performance_schema`.`file_instances` +unlock tables; +# +# WL#4818, NFS2: Can use grants to give normal user access +# to view data from _current and _history tables +# +# Should work as pfs_user_1 and pfs_user_2, but not as pfs_user_3. +# (Except for events_waits_current, which is granted.) +SELECT "can select" FROM performance_schema.events_waits_history LIMIT 1; +ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table `performance_schema`.`events_waits_history` +SELECT "can select" FROM performance_schema.events_waits_history_long LIMIT 1; +ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table `performance_schema`.`events_waits_history_long` +SELECT "can select" FROM performance_schema.events_waits_current LIMIT 1; +can select +can select +SELECT "can select" FROM performance_schema.events_waits_summary_by_instance LIMIT 1; +ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table `performance_schema`.`events_waits_summary_by_instance` +SELECT "can select" FROM performance_schema.file_summary_by_instance LIMIT 1; +ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table `performance_schema`.`file_summary_by_instance` +disconnect con3; +connection default; +revoke all privileges, grant option from 'pfs_user_1'@localhost; +revoke all privileges, grant option from 'pfs_user_2'@localhost; +revoke all privileges, grant option from 'pfs_user_3'@localhost; +drop user 'pfs_user_1'@localhost; +drop user 'pfs_user_2'@localhost; +drop user 'pfs_user_3'@localhost; +flush privileges; +# Test cases from WL#4818 +# Setup user +CREATE user pfs_user_4; +connect pfs_user_4, localhost, pfs_user_4, ,"*NO-ONE*"; +# +# WL#4818, NFS4: Normal user does not have access to view data +# without grants +# +connection pfs_user_4; +# Select as pfs_user_4 should fail without grant +SELECT event_id FROM performance_schema.events_waits_history; +ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table `performance_schema`.`events_waits_history` +SELECT event_id FROM performance_schema.events_waits_history_long; +ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table `performance_schema`.`events_waits_history_long` +SELECT event_id FROM performance_schema.events_waits_current; +ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table `performance_schema`.`events_waits_current` +SELECT event_name FROM performance_schema.events_waits_summary_by_instance; +ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table `performance_schema`.`events_waits_summary_by_instance` +SELECT event_name FROM performance_schema.file_summary_by_instance; +ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table `performance_schema`.`file_summary_by_instance` +# +# WL#4818, NFS3: Normal user does not have access to change what is +# instrumented without grants +# +connection pfs_user_4; +# User pfs_user_4 should not be allowed to tweak instrumentation without +# explicit grant +UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES'; +ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table `performance_schema`.`setup_instruments` +UPDATE performance_schema.setup_instruments SET enabled = 'YES' +WHERE name LIKE 'wait/synch/mutex/%' + OR name LIKE 'wait/synch/rwlock/%'; +ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table `performance_schema`.`setup_instruments` +UPDATE performance_schema.setup_consumers SET enabled = 'YES'; +ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table `performance_schema`.`setup_consumers` +UPDATE performance_schema.setup_timers SET timer_name = 'TICK'; +ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table `performance_schema`.`setup_timers` +TRUNCATE TABLE performance_schema.events_waits_history_long; +ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table `performance_schema`.`events_waits_history_long` +TRUNCATE TABLE performance_schema.events_waits_history; +ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table `performance_schema`.`events_waits_history` +TRUNCATE TABLE performance_schema.events_waits_current; +ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table `performance_schema`.`events_waits_current` +# +# WL#4814, NFS1: Can use grants to give normal user access +# to turn on and off instrumentation +# +connection default; +# Grant access to change tables with the root account +GRANT UPDATE ON performance_schema.setup_consumers TO pfs_user_4; +GRANT UPDATE, SELECT ON performance_schema.setup_timers TO pfs_user_4; +GRANT UPDATE, SELECT ON performance_schema.setup_instruments TO pfs_user_4; +GRANT DROP ON performance_schema.events_waits_current TO pfs_user_4; +GRANT DROP ON performance_schema.events_waits_history TO pfs_user_4; +GRANT DROP ON performance_schema.events_waits_history_long TO pfs_user_4; +connection pfs_user_4; +# User pfs_user_4 should now be allowed to tweak instrumentation +UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES'; +UPDATE performance_schema.setup_instruments SET enabled = 'YES' +WHERE name LIKE 'wait/synch/mutex/%' + OR name LIKE 'wait/synch/rwlock/%'; +UPDATE performance_schema.setup_consumers SET enabled = 'YES'; +UPDATE performance_schema.setup_timers SET timer_name = 'TICK' WHERE name <> "wait"; +Warnings: +Warning 1681 'performance_schema.setup_timers' is deprecated and will be removed in a future release +TRUNCATE TABLE performance_schema.events_waits_history_long; +TRUNCATE TABLE performance_schema.events_waits_history; +TRUNCATE TABLE performance_schema.events_waits_current; +# Clean up +disconnect pfs_user_4; +connection default; +REVOKE ALL PRIVILEGES, GRANT OPTION FROM pfs_user_4; +DROP USER pfs_user_4; +flush privileges; +UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES'; +UPDATE performance_schema.setup_consumers SET enabled = 'YES'; +UPDATE performance_schema.setup_timers SET timer_name = 'MICROSECOND' where name="idle"; +Warnings: +Warning 1681 'performance_schema.setup_timers' is deprecated and will be removed in a future release +UPDATE performance_schema.setup_timers SET timer_name = 'NANOSECOND' where name="stage"; +Warnings: +Warning 1681 'performance_schema.setup_timers' is deprecated and will be removed in a future release +UPDATE performance_schema.setup_timers SET timer_name = 'NANOSECOND' where name="statement"; +Warnings: +Warning 1681 'performance_schema.setup_timers' is deprecated and will be removed in a future release +# +# WL#2284: Increase the length of a user name +# +CREATE USER 'user_name_len_22_01234'@localhost; +GRANT ALL ON performance_schema.* TO 'user_name_len_22_01234'@localhost with GRANT OPTION; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_name_len_22_01234'@localhost; +DROP USER 'user_name_len_22_01234'@localhost; |