mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 03:21:53 +01:00
474fe6d9d9
and small collateral changes mysql-test/lib/My/Test.pm: somehow with "print" we get truncated writes sometimes mysql-test/suite/perfschema/r/digest_table_full.result: md5 hashes of statement digests differ, because yacc token codes are different in mariadb mysql-test/suite/perfschema/r/dml_handler.result: host table is not ported over yet mysql-test/suite/perfschema/r/information_schema.result: host table is not ported over yet mysql-test/suite/perfschema/r/nesting.result: this differs, because we don't rewrite general log queries, and multi-statement packets are logged as a one entry. this result file is identical to what mysql-5.6.5 produces with the --log-raw option. mysql-test/suite/perfschema/r/relaylog.result: MariaDB modifies the binlog index file directly, while MySQL 5.6 has a feature "crash-safe binlog index" and modifies a special "crash-safe" shadow copy of the index file and then moves it over. That's why this test shows "NONE" index file writes in MySQL and "MANY" in MariaDB. mysql-test/suite/perfschema/r/server_init.result: MariaDB initializes the "manager" resources from the "manager" thread, and starts this thread only when --flush-time is not 0. MySQL 5.6 initializes "manager" resources unconditionally on server startup. mysql-test/suite/perfschema/r/stage_mdl_global.result: this differs, because MariaDB disables query cache when query_cache_size=0. MySQL does not do that, and this causes useless mutex locks and waits. mysql-test/suite/perfschema/r/statement_digest.result: md5 hashes of statement digests differ, because yacc token codes are different in mariadb mysql-test/suite/perfschema/r/statement_digest_consumers.result: md5 hashes of statement digests differ, because yacc token codes are different in mariadb mysql-test/suite/perfschema/r/statement_digest_long_query.result: md5 hashes of statement digests differ, because yacc token codes are different in mariadb mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result: will be updated to match 5.6 when alfranio.correia@oracle.com-20110512172919-c1b5kmum4h52g0ni and anders.song@greatopensource.com-20110105052107-zoab0bsf5a6xxk2y are merged mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result: will be updated to match 5.6 when anders.song@greatopensource.com-20110105052107-zoab0bsf5a6xxk2y is merged
581 lines
35 KiB
Text
581 lines
35 KiB
Text
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
|
|
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 '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 '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 '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 '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 '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 '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 '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 '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 database")
|
|
create table test.t1 like performance_schema.setup_instruments;
|
|
ERROR HY000: Can't create table 'test.t1' (errno: 131 "Command not supported by database")
|
|
create table test.t1 like performance_schema.events_waits_current;
|
|
ERROR HY000: Can't create table 'test.t1' (errno: 131 "Command not supported by database")
|
|
create table test.t1 like performance_schema.file_instances;
|
|
ERROR HY000: Can't create table 'test.t1' (errno: 131 "Command not supported by database")
|
|
insert into performance_schema.setup_instruments
|
|
set name="foo";
|
|
ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'setup_instruments'
|
|
insert into performance_schema.events_waits_current
|
|
set name="foo";
|
|
ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_waits_current'
|
|
insert into performance_schema.file_instances
|
|
set name="foo";
|
|
ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'file_instances'
|
|
delete from performance_schema.setup_instruments;
|
|
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'setup_instruments'
|
|
delete from performance_schema.events_waits_current;
|
|
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_current'
|
|
delete from performance_schema.file_instances;
|
|
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table '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 '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 '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 'file_instances'
|
|
unlock tables;
|
|
lock table performance_schema.file_instances write;
|
|
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table '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
|
|
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 database")
|
|
create table test.t1 like performance_schema.setup_instruments;
|
|
ERROR HY000: Can't create table 'test.t1' (errno: 131 "Command not supported by database")
|
|
create table test.t1 like performance_schema.events_waits_current;
|
|
ERROR HY000: Can't create table 'test.t1' (errno: 131 "Command not supported by database")
|
|
create table test.t1 like performance_schema.file_instances;
|
|
ERROR HY000: Can't create table 'test.t1' (errno: 131 "Command not supported by database")
|
|
insert into performance_schema.setup_instruments
|
|
set name="foo";
|
|
ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table '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 '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 'file_instances'
|
|
delete from performance_schema.setup_instruments;
|
|
ERROR 42000: DELETE command denied to user 'pfs_user_1'@'localhost' for table 'setup_instruments'
|
|
delete from performance_schema.events_waits_current;
|
|
ERROR 42000: DELETE command denied to user 'pfs_user_1'@'localhost' for table 'events_waits_current'
|
|
delete from performance_schema.file_instances;
|
|
ERROR 42000: DELETE command denied to user 'pfs_user_1'@'localhost' for table '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 '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 '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 '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 '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
|
|
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 database")
|
|
create table test.t1 like performance_schema.setup_instruments;
|
|
ERROR HY000: Can't create table 'test.t1' (errno: 131 "Command not supported by database")
|
|
create table test.t1 like performance_schema.events_waits_current;
|
|
ERROR HY000: Can't create table 'test.t1' (errno: 131 "Command not supported by database")
|
|
create table test.t1 like performance_schema.file_instances;
|
|
ERROR HY000: Can't create table 'test.t1' (errno: 131 "Command not supported by database")
|
|
insert into performance_schema.setup_instruments
|
|
set name="foo";
|
|
ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table '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 '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 'file_instances'
|
|
delete from performance_schema.setup_instruments;
|
|
ERROR 42000: DELETE command denied to user 'pfs_user_2'@'localhost' for table 'setup_instruments'
|
|
delete from performance_schema.events_waits_current;
|
|
ERROR 42000: DELETE command denied to user 'pfs_user_2'@'localhost' for table 'events_waits_current'
|
|
delete from performance_schema.file_instances;
|
|
ERROR 42000: DELETE command denied to user 'pfs_user_2'@'localhost' for table '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 '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 '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 '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 '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
|
|
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 database")
|
|
create table test.t1 like performance_schema.setup_instruments;
|
|
ERROR HY000: Can't create table 'test.t1' (errno: 131 "Command not supported by database")
|
|
create table test.t1 like performance_schema.events_waits_current;
|
|
ERROR HY000: Can't create table 'test.t1' (errno: 131 "Command not supported by database")
|
|
create table test.t1 like performance_schema.file_instances;
|
|
ERROR HY000: Can't create table 'test.t1' (errno: 131 "Command not supported by database")
|
|
insert into performance_schema.setup_instruments
|
|
set name="foo";
|
|
ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table '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 '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 'file_instances'
|
|
delete from performance_schema.setup_instruments;
|
|
ERROR 42000: DELETE command denied to user 'pfs_user_3'@'localhost' for table 'setup_instruments'
|
|
delete from performance_schema.events_waits_current;
|
|
ERROR 42000: DELETE command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_current'
|
|
delete from performance_schema.file_instances;
|
|
ERROR 42000: DELETE command denied to user 'pfs_user_3'@'localhost' for table '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 '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 '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 '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 '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 '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 '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 '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 'file_summary_by_instance'
|
|
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;
|
|
#
|
|
# WL#4818, NFS4: Normal user does not have access to view data
|
|
# without grants
|
|
#
|
|
# 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 '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 '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 '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 '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 'file_summary_by_instance'
|
|
#
|
|
# WL#4818, NFS3: Normal user does not have access to change what is
|
|
# instrumented without grants
|
|
#
|
|
# 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 '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 'setup_instruments'
|
|
UPDATE performance_schema.setup_consumers SET enabled = 'YES';
|
|
ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table 'setup_consumers'
|
|
UPDATE performance_schema.setup_timers SET timer_name = 'TICK';
|
|
ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table 'setup_timers'
|
|
TRUNCATE TABLE performance_schema.events_waits_history_long;
|
|
ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table 'events_waits_history_long'
|
|
TRUNCATE TABLE performance_schema.events_waits_history;
|
|
ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table 'events_waits_history'
|
|
TRUNCATE TABLE performance_schema.events_waits_current;
|
|
ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table 'events_waits_current'
|
|
#
|
|
# WL#4814, NFS1: Can use grants to give normal user access
|
|
# to turn on and off instrumentation
|
|
#
|
|
# Grant access to change tables with the root account
|
|
GRANT UPDATE ON performance_schema.setup_consumers TO pfs_user_4;
|
|
GRANT UPDATE 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;
|
|
# 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';
|
|
TRUNCATE TABLE performance_schema.events_waits_history_long;
|
|
TRUNCATE TABLE performance_schema.events_waits_history;
|
|
TRUNCATE TABLE performance_schema.events_waits_current;
|
|
# Clean up
|
|
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";
|
|
UPDATE performance_schema.setup_timers SET timer_name = 'CYCLE' where name="wait";
|
|
UPDATE performance_schema.setup_timers SET timer_name = 'NANOSECOND' where name="stage";
|
|
UPDATE performance_schema.setup_timers SET timer_name = 'NANOSECOND' where name="statement";
|