Commit 61d08f74 authored by Oleksandr Byelkin's avatar Oleksandr Byelkin

mysql-5.7.39

parent bee3e96d
/* Copyright (c) 2008, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2008, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......
/* Copyright (c) 2011, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2011, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......
/* Copyright (c) 2012, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2012, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......
/* Copyright (c) 2012, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2012, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......
/* Copyright (c) 2014, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2014, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......
/* Copyright (c) 2010, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2010, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......
/* Copyright (c) 2013, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2013, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......
/* Copyright (c) 2010, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2010, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......
/* Copyright (c) 2010, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2010, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......
/* Copyright (c) 2010, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2010, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......
/* Copyright (c) 2008, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2008, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......@@ -1320,6 +1320,13 @@ static inline void inline_mysql_thread_set_psi_THD(THD *thd)
}
#endif /* __cplusplus */
static inline void mysql_thread_set_peer_port(uint port MY_ATTRIBUTE ((unused))) {
#ifdef HAVE_PSI_THREAD_INTERFACE
struct PSI_thread *psi = PSI_THREAD_CALL(get_thread)();
PSI_THREAD_CALL(set_thread_peer_port)(psi, port);
#endif
}
#endif
#endif /* DISABLE_MYSQL_THREAD_H */
......
/* Copyright (c) 2013, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2013, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......
/* Copyright (c) 2008, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2008, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......@@ -1678,6 +1678,15 @@ typedef void (*set_thread_info_v1_t)(const char* info, uint info_len);
*/
typedef void (*set_thread_v1_t)(struct PSI_thread *thread);
/**
Assign the remote (peer) port to the instrumented thread.
@param thread pointer to the thread instrumentation
@param port the remote port
*/
typedef void (*set_thread_peer_port_v1_t)(PSI_thread *thread,
unsigned int port);
/** Delete the current thread instrumentation. */
typedef void (*delete_current_thread_v1_t)(void);
......@@ -2724,6 +2733,8 @@ struct PSI_v1
start_metadata_wait_v1_t start_metadata_wait;
end_metadata_wait_v1_t end_metadata_wait;
set_thread_peer_port_v1_t set_thread_peer_port;
};
/** @} (end of group Group_PSI_v1) */
......
/* Copyright (c) 2011, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2011, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......
/* Copyright (c) 2008, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2008, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......
......@@ -463,6 +463,8 @@ typedef void (*set_thread_start_time_v1_t)(time_t start_time);
typedef void (*set_thread_state_v1_t)(const char* state);
typedef void (*set_thread_info_v1_t)(const char* info, uint info_len);
typedef void (*set_thread_v1_t)(struct PSI_thread *thread);
typedef void (*set_thread_peer_port_v1_t)(PSI_thread *thread,
unsigned int port);
typedef void (*delete_current_thread_v1_t)(void);
typedef void (*delete_thread_v1_t)(struct PSI_thread *thread);
typedef struct PSI_file_locker* (*get_thread_file_name_locker_v1_t)
......@@ -834,6 +836,7 @@ struct PSI_v1
destroy_metadata_lock_v1_t destroy_metadata_lock;
start_metadata_wait_v1_t start_metadata_wait;
end_metadata_wait_v1_t end_metadata_wait;
set_thread_peer_port_v1_t set_thread_peer_port;
};
typedef struct PSI_v1 PSI;
typedef struct PSI_mutex_info_v1 PSI_mutex_info;
......
/* Copyright (c) 2008, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2008, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......
/* Copyright (c) 2008, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2008, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......@@ -89,6 +89,12 @@ extern "C" {
*/
#define PSI_FLAG_VOLATILITY_SESSION (1 << 6)
/**
System thread flag.
Indicates that the instrumented object exists on a system thread.
*/
#define PSI_FLAG_THREAD_SYSTEM (1 << 9)
#ifdef HAVE_PSI_INTERFACE
/**
......
/* Copyright (c) 2013, 2021, Oracle and/or its affiliates.
/* Copyright (c) 2013, 2022, Oracle and/or its affiliates.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
......
# ../include/processlist_load.inc
#
# SUMMARY
#
# Execute PROCESSLIST queries, sorted by user
#
# USAGE
#
# Example: Using processlist_set.inc to set @@global.performance_schema_show_processlist
#
# let $pfs_spl = on/off
# --source ../include/processlist_set.inc
# --source ../include/processlist_load.inc
#
# Columns
# 1 <Id> 2 <User> 3 <Host> 4 <db> 5 <Command> 6 <Time> 7 <State> 8 <Info>
# Sort SHOW PROCESSLIST by User instead of Id because Id is not zero-padded
# Unique usernames give best results
--echo
--replace_column 1 <Id> 3 <Host> 6 <Time> 7 <State>
--replace_regex /Daemon/<Command>/ /Connect/<Command>/ /Sleep/<Command>/
--sorted_result
SHOW FULL PROCESSLIST;
--echo
--echo # Performance Schema processlist table
--echo
--replace_column 1 <Id> 3 <Host> 6 <Time> 7 <State>
--replace_regex /Daemon/<Command>/ /Connect/<Command>/ /Sleep/<Command>/
select * from performance_schema.processlist order by user, id;
--echo
--echo # Information Schema processlist table
--echo
--replace_column 1 <Id> 3 <Host> 6 <Time> 7 <State>
--replace_regex /Daemon/<Command>/ /Connect/<Command>/ /Sleep/<Command>/
select * from information_schema.processlist order by user, id;
# ../include/processlist_set.inc
#
# SUMMARY
#
# Set the value of performance_schema_show_proceslist then
# wait for the operation to complete
#
# USAGE
#
# let $pfs_spl = on;
# --source ../include/processlist_set.inc
eval set @@global.performance_schema_show_processlist = $pfs_spl;
let $wait_condition = show variables where variable_name like '%show_processlist%' and value = '$pfs_spl';
--source include/wait_condition.inc
select @@global.performance_schema_show_processlist into @save_processlist;
set @@global.performance_schema_show_processlist = 'on';
alter table performance_schema.processlist
add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
truncate table performance_schema.processlist;
ERROR HY000: Invalid performance_schema usage.
alter table performance_schema.processlist
add index test_index(info);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
create unique index test_index
on performance_schema.processlist(host);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
drop index `PRIMARY`
on performance_schema.processlist;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
CREATE TABLE test.create_select
AS SELECT * from performance_schema.processlist;
DROP TABLE test.create_select;
set @@global.performance_schema_show_processlist = @save_processlist;
......@@ -9,105 +9,108 @@ SELECT COUNT(*) FROM table_list INTO @table_count;
# For each table in the performance schema, attempt HANDLER...OPEN,
# which should fail with an error 1031, ER_ILLEGAL_HA.
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=87;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=88;
HANDLER performance_schema.variables_by_thread OPEN;
ERROR HY000: Table storage engine for 'variables_by_thread' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=86;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=87;
HANDLER performance_schema.users OPEN;
ERROR HY000: Table storage engine for 'users' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=85;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=86;
HANDLER performance_schema.user_variables_by_thread OPEN;
ERROR HY000: Table storage engine for 'user_variables_by_thread' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=84;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=85;
HANDLER performance_schema.threads OPEN;
ERROR HY000: Table storage engine for 'threads' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=83;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=84;
HANDLER performance_schema.table_lock_waits_summary_by_table OPEN;
ERROR HY000: Table storage engine for 'table_lock_waits_summary_by_table' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=82;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=83;
HANDLER performance_schema.table_io_waits_summary_by_table OPEN;
ERROR HY000: Table storage engine for 'table_io_waits_summary_by_table' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=81;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=82;
HANDLER performance_schema.table_io_waits_summary_by_index_usage OPEN;
ERROR HY000: Table storage engine for 'table_io_waits_summary_by_index_usage' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=80;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=81;
HANDLER performance_schema.table_handles OPEN;
ERROR HY000: Table storage engine for 'table_handles' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=79;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=80;
HANDLER performance_schema.status_by_user OPEN;
ERROR HY000: Table storage engine for 'status_by_user' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=78;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=79;
HANDLER performance_schema.status_by_thread OPEN;
ERROR HY000: Table storage engine for 'status_by_thread' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=77;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=78;
HANDLER performance_schema.status_by_host OPEN;
ERROR HY000: Table storage engine for 'status_by_host' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=76;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=77;
HANDLER performance_schema.status_by_account OPEN;
ERROR HY000: Table storage engine for 'status_by_account' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=75;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=76;
HANDLER performance_schema.socket_summary_by_instance OPEN;
ERROR HY000: Table storage engine for 'socket_summary_by_instance' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=74;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=75;
HANDLER performance_schema.socket_summary_by_event_name OPEN;
ERROR HY000: Table storage engine for 'socket_summary_by_event_name' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=73;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=74;
HANDLER performance_schema.socket_instances OPEN;
ERROR HY000: Table storage engine for 'socket_instances' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=72;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=73;
HANDLER performance_schema.setup_timers OPEN;
ERROR HY000: Table storage engine for 'setup_timers' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=71;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=72;
HANDLER performance_schema.setup_objects OPEN;
ERROR HY000: Table storage engine for 'setup_objects' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=70;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=71;
HANDLER performance_schema.setup_instruments OPEN;
ERROR HY000: Table storage engine for 'setup_instruments' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=69;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=70;
HANDLER performance_schema.setup_consumers OPEN;
ERROR HY000: Table storage engine for 'setup_consumers' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=68;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=69;
HANDLER performance_schema.setup_actors OPEN;
ERROR HY000: Table storage engine for 'setup_actors' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=67;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=68;
HANDLER performance_schema.session_variables OPEN;
ERROR HY000: Table storage engine for 'session_variables' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=66;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=67;
HANDLER performance_schema.session_status OPEN;
ERROR HY000: Table storage engine for 'session_status' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=65;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=66;
HANDLER performance_schema.session_connect_attrs OPEN;
ERROR HY000: Table storage engine for 'session_connect_attrs' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=64;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=65;
HANDLER performance_schema.session_account_connect_attrs OPEN;
ERROR HY000: Table storage engine for 'session_account_connect_attrs' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=63;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=64;
HANDLER performance_schema.rwlock_instances OPEN;
ERROR HY000: Table storage engine for 'rwlock_instances' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=62;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=63;
HANDLER performance_schema.replication_group_members OPEN;
ERROR HY000: Table storage engine for 'replication_group_members' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=61;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=62;
HANDLER performance_schema.replication_group_member_stats OPEN;
ERROR HY000: Table storage engine for 'replication_group_member_stats' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=60;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=61;
HANDLER performance_schema.replication_connection_status OPEN;
ERROR HY000: Table storage engine for 'replication_connection_status' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=59;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=60;
HANDLER performance_schema.replication_connection_configuration OPEN;
ERROR HY000: Table storage engine for 'replication_connection_configuration' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=58;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=59;
HANDLER performance_schema.replication_applier_status_by_worker OPEN;
ERROR HY000: Table storage engine for 'replication_applier_status_by_worker' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=57;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=58;
HANDLER performance_schema.replication_applier_status_by_coordinator OPEN;
ERROR HY000: Table storage engine for 'replication_applier_status_by_coordinator' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=56;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=57;
HANDLER performance_schema.replication_applier_status OPEN;
ERROR HY000: Table storage engine for 'replication_applier_status' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=55;
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=56;
HANDLER performance_schema.replication_applier_configuration OPEN;
ERROR HY000: Table storage engine for 'replication_applier_configuration' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=55;
HANDLER performance_schema.processlist OPEN;
ERROR HY000: Table storage engine for 'processlist' doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=54;
HANDLER performance_schema.prepared_statements_instances OPEN;
ERROR HY000: Table storage engine for 'prepared_statements_instances' doesn't have this option
......
select @@global.performance_schema_show_processlist into @save_processlist;
set @@global.performance_schema_show_processlist = 'on';
select * from performance_schema.processlist
where user like 'event_scheduler';
select * from performance_schema.processlist
where user = 'FOO';
insert into performance_schema.processlist
values (12, 'foo', 'bar', 'test', null, 1000, 'state', 'info');
ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'processlist'
update performance_schema.processlist
set id=12, user='foo';
ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'processlist'
delete from performance_schema.processlist
where id <> 99;
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'processlist'
delete from performance_schema.processlist;
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'processlist'
LOCK TABLES performance_schema.processlist READ;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'processlist'
UNLOCK TABLES;
LOCK TABLES performance_schema.processlist WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'processlist'
UNLOCK TABLES;
set @@global.performance_schema_show_processlist = @save_processlist;
......@@ -56,6 +56,7 @@ performance_schema mutex_instances def
performance_schema objects_summary_global_by_type def
performance_schema performance_timers def
performance_schema prepared_statements_instances def
performance_schema processlist def
performance_schema replication_applier_configuration def
performance_schema replication_applier_status def
performance_schema replication_applier_status_by_coordinator def
......@@ -147,6 +148,7 @@ mutex_instances BASE TABLE PERFORMANCE_SCHEMA
objects_summary_global_by_type BASE TABLE PERFORMANCE_SCHEMA
performance_timers BASE TABLE PERFORMANCE_SCHEMA
prepared_statements_instances BASE TABLE PERFORMANCE_SCHEMA
processlist BASE TABLE PERFORMANCE_SCHEMA
replication_applier_configuration BASE TABLE PERFORMANCE_SCHEMA
replication_applier_status BASE TABLE PERFORMANCE_SCHEMA
replication_applier_status_by_coordinator BASE TABLE PERFORMANCE_SCHEMA
......@@ -238,6 +240,7 @@ mutex_instances 10 Dynamic
objects_summary_global_by_type 10 Dynamic
performance_timers 10 Fixed
prepared_statements_instances 10 Dynamic
processlist 10 Dynamic
replication_applier_configuration 10 Fixed
replication_applier_status 10 Fixed
replication_applier_status_by_coordinator 10 Dynamic
......@@ -328,6 +331,7 @@ mutex_instances 0
objects_summary_global_by_type 0
performance_timers 0
prepared_statements_instances 0
processlist 0
replication_applier_configuration 0
replication_applier_status 0
replication_applier_status_by_coordinator 0
......@@ -426,6 +430,7 @@ mutex_instances 0 0
objects_summary_global_by_type 0 0
performance_timers 0 0
prepared_statements_instances 0 0
processlist 0 0
replication_applier_configuration 0 0
replication_applier_status 0 0
replication_applier_status_by_coordinator 0 0
......@@ -517,6 +522,7 @@ mutex_instances 0 0 NULL
objects_summary_global_by_type 0 0 NULL
performance_timers 0 0 NULL
prepared_statements_instances 0 0 NULL
processlist 0 0 NULL
replication_applier_configuration 0 0 NULL
replication_applier_status 0 0 NULL
replication_applier_status_by_coordinator 0 0 NULL
......@@ -608,6 +614,7 @@ mutex_instances NULL NULL NULL
objects_summary_global_by_type NULL NULL NULL
performance_timers NULL NULL NULL
prepared_statements_instances NULL NULL NULL
processlist NULL NULL NULL
replication_applier_configuration NULL NULL NULL
replication_applier_status NULL NULL NULL
replication_applier_status_by_coordinator NULL NULL NULL
......@@ -699,6 +706,7 @@ mutex_instances utf8_general_ci NULL
objects_summary_global_by_type utf8_general_ci NULL
performance_timers utf8_general_ci NULL
prepared_statements_instances utf8_general_ci NULL
processlist utf8_general_ci NULL
replication_applier_configuration utf8_general_ci NULL
replication_applier_status utf8_general_ci NULL
replication_applier_status_by_coordinator utf8_general_ci NULL
......@@ -790,6 +798,7 @@ mutex_instances
objects_summary_global_by_type
performance_timers
prepared_statements_instances
processlist
replication_applier_configuration
replication_applier_status
replication_applier_status_by_coordinator
......@@ -881,6 +890,7 @@ mutex_instances
objects_summary_global_by_type
performance_timers
prepared_statements_instances
processlist
replication_applier_configuration
replication_applier_status
replication_applier_status_by_coordinator
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
CREATE USER user1@localhost;
CREATE USER user2@localhost;
CREATE USER user3@localhost;
grant ALL on *.* to user1@localhost;
grant ALL on *.* to user2@localhost;
grant ALL on *.* to user3@localhost;
SET GLOBAL show_compatibility_56=0;
TRUNCATE TABLE performance_schema.accounts;
FLUSH PRIVILEGES;
CREATE TABLE test.t_range(a int, b int, PRIMARY KEY(a));
INSERT INTO test.t_range values (1, 1), (2,2), (3, 3), (4, 4), (5, 5);
INSERT INTO test.t_range values (6, 6), (7,7), (8, 8), (9, 9), (10, 10);
FLUSH STATUS;
SELECT * from test.t_range where (a >= 3) AND (a <= 5);
a b
3 3
4 4
5 5
SELECT * from performance_schema.session_status
WHERE VARIABLE_NAME = 'Select_range';
VARIABLE_NAME VARIABLE_VALUE
Select_range 1
VARIABLE_NAME DELTA
Select_range 1
SELECT * from test.t_range where (a >= 3) AND (a <= 5);
a b
3 3
4 4
5 5
SELECT * from performance_schema.session_status
WHERE VARIABLE_NAME = 'Select_range';
VARIABLE_NAME VARIABLE_VALUE
Select_range 1
VARIABLE_NAME DELTA
Select_range 2
SELECT * from test.t_range where (a >= 3) AND (a <= 5);
a b
3 3
4 4
5 5
SELECT * from test.t_range where (a >= 4) AND (a <= 6);
a b
4 4
5 5
6 6
SELECT * from performance_schema.session_status
WHERE VARIABLE_NAME = 'Select_range';
VARIABLE_NAME VARIABLE_VALUE
Select_range 2
VARIABLE_NAME DELTA
Select_range 4
SELECT * from test.t_range where (a >= 3) AND (a <= 5);
a b
3 3
4 4
5 5
SELECT * from test.t_range where (a >= 4) AND (a <= 6);
a b
4 4
5 5
6 6
SELECT * from test.t_range where (a >= 5) AND (a <= 7);
a b
5 5
6 6
7 7
SELECT * from performance_schema.session_status
WHERE VARIABLE_NAME = 'Select_range';
VARIABLE_NAME VARIABLE_VALUE
Select_range 3
VARIABLE_NAME DELTA
Select_range 7
VARIABLE_NAME DELTA
Select_range 7
SELECT `USER`, `HOST`, VARIABLE_NAME, VARIABLE_VALUE
FROM performance_schema.status_by_account WHERE VARIABLE_NAME = 'Select_range'
AND `USER` LIKE 'user%'
ORDER BY `USER`;
USER HOST VARIABLE_NAME VARIABLE_VALUE
user1 localhost Select_range 1
user2 localhost Select_range 2
user3 localhost Select_range 3
VARIABLE_NAME DELTA
Select_range 7
TRUNCATE TABLE performance_schema.accounts;
VARIABLE_NAME DELTA
Select_range 7
VARIABLE_NAME DELTA
Select_range 7
TRUNCATE TABLE performance_schema.accounts;
VARIABLE_NAME DELTA
Select_range 7
DROP TABLE test.t_range;
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user1@localhost;
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user2@localhost;
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user3@localhost;
DROP USER user1@localhost;
DROP USER user2@localhost;
DROP USER user3@localhost;
SET GLOBAL show_compatibility_56=1;
FLUSH PRIVILEGES;
......@@ -258,6 +258,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
call check_instrument("wait/synch/mutex/");
instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction
......
......@@ -33,6 +33,7 @@ mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_index_usage' alrea
mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_table' already exists
mysql_upgrade: [ERROR] 1050: Table 'table_lock_waits_summary_by_table' already exists
mysql_upgrade: [ERROR] 1050: Table 'threads' already exists
mysql_upgrade: [ERROR] 1050: Table 'processlist' already exists
mysql_upgrade: [ERROR] 1050: Table 'events_stages_current' already exists
mysql_upgrade: [ERROR] 1050: Table 'events_stages_history' already exists
mysql_upgrade: [ERROR] 1050: Table 'events_stages_history_long' already exists
......
......@@ -33,6 +33,7 @@ mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_index_usage' alrea
mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_table' already exists
mysql_upgrade: [ERROR] 1050: Table 'table_lock_waits_summary_by_table' already exists
mysql_upgrade: [ERROR] 1050: Table 'threads' already exists
mysql_upgrade: [ERROR] 1050: Table 'processlist' already exists
mysql_upgrade: [ERROR] 1050: Table 'events_stages_current' already exists
mysql_upgrade: [ERROR] 1050: Table 'events_stages_history' already exists
mysql_upgrade: [ERROR] 1050: Table 'events_stages_history_long' already exists
......
......@@ -33,6 +33,7 @@ mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_index_usage' alrea
mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_table' already exists
mysql_upgrade: [ERROR] 1050: Table 'table_lock_waits_summary_by_table' already exists
mysql_upgrade: [ERROR] 1050: Table 'threads' already exists
mysql_upgrade: [ERROR] 1050: Table 'processlist' already exists
mysql_upgrade: [ERROR] 1050: Table 'events_stages_current' already exists
mysql_upgrade: [ERROR] 1050: Table 'events_stages_history' already exists
mysql_upgrade: [ERROR] 1050: Table 'events_stages_history_long' already exists
......
......@@ -35,6 +35,7 @@ mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_index_usage' alrea
mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_table' already exists
mysql_upgrade: [ERROR] 1050: Table 'table_lock_waits_summary_by_table' already exists
mysql_upgrade: [ERROR] 1050: Table 'threads' already exists
mysql_upgrade: [ERROR] 1050: Table 'processlist' already exists
mysql_upgrade: [ERROR] 1050: Table 'events_stages_current' already exists
mysql_upgrade: [ERROR] 1050: Table 'events_stages_history' already exists
mysql_upgrade: [ERROR] 1050: Table 'events_stages_history_long' already exists
......
......@@ -35,6 +35,7 @@ mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_index_usage' alrea
mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_table' already exists
mysql_upgrade: [ERROR] 1050: Table 'table_lock_waits_summary_by_table' already exists
mysql_upgrade: [ERROR] 1050: Table 'threads' already exists
mysql_upgrade: [ERROR] 1050: Table 'processlist' already exists
mysql_upgrade: [ERROR] 1050: Table 'events_stages_current' already exists
mysql_upgrade: [ERROR] 1050: Table 'events_stages_history' already exists
mysql_upgrade: [ERROR] 1050: Table 'events_stages_history_long' already exists
......
......@@ -65,6 +65,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show global status like "performance_schema%";
Variable_name Value
......
##
## Test the Performance Schema-based implementation of SHOW PROCESSLIST.
##
## Test cases:
## 1. Execute the new SHOW [FULL] PROCESSLIST and SELECT on performance_schema.processlist
## 2. Execute the legacy SHOW [FULL] PROCESSLIST and SELECT on information_schema.processlist
## 3. Verify that performance_schema_show_processlist = ON executes the new implementation
## 4. Verify that performance_schema_show_processlist = OFF executes the legacy code path
##
## Results must be manually verified.
### Setup ###
select @@global.performance_schema_show_processlist into @save_processlist;
create user user1@localhost, user2@localhost,
user3@localhost, user4@localhost;
grant ALL on *.* to user1@localhost;
grant ALL on *.* to user2@localhost;
grant ALL on *.* to user3@localhost;
grant ALL on *.* to user4@localhost;
flush privileges;
use test;
create table test.t1 (s1 int, s2 int, s3 int, s4 int);
# Switch to (con0, localhost, root, , )
insert into test.t1 values(1, 1, 1, 1);
insert into test.t1 values(2, 2, 2, 2);
insert into test.t1 values(3, 3, 3, 3);
insert into test.t1 values(4, 4, 4, 4);
# Lock test.t1, insert/update/deletes will block
lock tables t1 read;
# Connect (con1, localhost, user1, , )
insert into test.t1 values (0, 0, 0, 0);
# Connect (con2, localhost, user2, , )
update test.t1 set s1 = s1 + 1, s2 = s2 + 2, s3 = s3 + 3, s4 = ((s4 + 4) * (s4 + 5)) + 12345 + 67890 + 11111 + 22222 + 33333 + 44444 + 55555 + 99999;;
# Connect (con3, localhost, user3, , )
delete from test.t1 where s1 = 3;
# Connect (con4, localhost, user4, , )
insert into test.t1 values (4, 4, 4, 4);
# Connection default
# Wait for queries to appear in the processlist table
### Execute new SHOW [FULL] PROCESSLIST and SELECT on performance_schema.processlist
set @@global.performance_schema_show_processlist = on;
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info
<Id> event_scheduler <Host> NULL <Command> <Time> <State> NULL
<Id> root <Host> test <Command> <Time> <State> NULL
<Id> root <Host> test Query <Time> <State> SHOW FULL PROCESSLIST
<Id> user1 <Host> test Query <Time> <State> insert into test.t1 values (0, 0, 0, 0)
<Id> user2 <Host> test Query <Time> <State> update test.t1 set s1 = s1 + 1, s2 = s2 + 2, s3 = s3 + 3, s4 = ((s4 + 4) * (s4 + 5)) + 12345 + 67890 + 11111 + 22222 + 33333 + 44444 + 55555 + 99999
<Id> user3 <Host> test Query <Time> <State> delete from test.t1 where s1 = 3
<Id> user4 <Host> test Query <Time> <State> insert into test.t1 values (4, 4, 4, 4)
# Performance Schema processlist table
select * from performance_schema.processlist order by user, id;
ID USER HOST DB COMMAND TIME STATE INFO
<Id> event_scheduler <Host> NULL <Command> <Time> <State> NULL
<Id> root <Host> test Query <Time> <State> select * from performance_schema.processlist order by user, id
<Id> root <Host> test <Command> <Time> <State> NULL
<Id> user1 <Host> test Query <Time> <State> insert into test.t1 values (0, 0, 0, 0)
<Id> user2 <Host> test Query <Time> <State> update test.t1 set s1 = s1 + 1, s2 = s2 + 2, s3 = s3 + 3, s4 = ((s4 + 4) * (s4 + 5)) + 12345 + 67890 + 11111 + 22222 + 33333 + 44444 + 55555 + 99999
<Id> user3 <Host> test Query <Time> <State> delete from test.t1 where s1 = 3
<Id> user4 <Host> test Query <Time> <State> insert into test.t1 values (4, 4, 4, 4)
# Information Schema processlist table
select * from information_schema.processlist order by user, id;
ID USER HOST DB COMMAND TIME STATE INFO
<Id> event_scheduler <Host> NULL <Command> <Time> <State> NULL
<Id> root <Host> test Query <Time> <State> select * from information_schema.processlist order by user, id
<Id> root <Host> test <Command> <Time> <State> NULL
<Id> user1 <Host> test Query <Time> <State> insert into test.t1 values (0, 0, 0, 0)
<Id> user2 <Host> test Query <Time> <State> update test.t1 set s1 = s1 + 1, s2 = s2 + 2, s3 = s3 + 3, s4 = ((s4 + 4) * (s4 + 5)) + 12345 + 67890 + 11111 + 22222 + 33333 + 44444 + 55555 + 99999
<Id> user3 <Host> test Query <Time> <State> delete from test.t1 where s1 = 3
<Id> user4 <Host> test Query <Time> <State> insert into test.t1 values (4, 4, 4, 4)
### Execute legacy SHOW [FULL] PROCESSLIST and SELECT on information_schema.processlist
set @@global.performance_schema_show_processlist = off;
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info
<Id> event_scheduler <Host> NULL <Command> <Time> <State> NULL
<Id> root <Host> test <Command> <Time> <State> NULL
<Id> root <Host> test Query <Time> <State> SHOW FULL PROCESSLIST
<Id> user1 <Host> test Query <Time> <State> insert into test.t1 values (0, 0, 0, 0)
<Id> user2 <Host> test Query <Time> <State> update test.t1 set s1 = s1 + 1, s2 = s2 + 2, s3 = s3 + 3, s4 = ((s4 + 4) * (s4 + 5)) + 12345 + 67890 + 11111 + 22222 + 33333 + 44444 + 55555 + 99999
<Id> user3 <Host> test Query <Time> <State> delete from test.t1 where s1 = 3
<Id> user4 <Host> test Query <Time> <State> insert into test.t1 values (4, 4, 4, 4)
# Performance Schema processlist table
select * from performance_schema.processlist order by user, id;
ID USER HOST DB COMMAND TIME STATE INFO
<Id> event_scheduler <Host> NULL <Command> <Time> <State> NULL
<Id> root <Host> test Query <Time> <State> select * from performance_schema.processlist order by user, id
<Id> root <Host> test <Command> <Time> <State> NULL
<Id> user1 <Host> test Query <Time> <State> insert into test.t1 values (0, 0, 0, 0)
<Id> user2 <Host> test Query <Time> <State> update test.t1 set s1 = s1 + 1, s2 = s2 + 2, s3 = s3 + 3, s4 = ((s4 + 4) * (s4 + 5)) + 12345 + 67890 + 11111 + 22222 + 33333 + 44444 + 55555 + 99999
<Id> user3 <Host> test Query <Time> <State> delete from test.t1 where s1 = 3
<Id> user4 <Host> test Query <Time> <State> insert into test.t1 values (4, 4, 4, 4)
# Information Schema processlist table
select * from information_schema.processlist order by user, id;
ID USER HOST DB COMMAND TIME STATE INFO
<Id> event_scheduler <Host> NULL <Command> <Time> <State> NULL
<Id> root <Host> test Query <Time> <State> select * from information_schema.processlist order by user, id
<Id> root <Host> test <Command> <Time> <State> NULL
<Id> user1 <Host> test Query <Time> <State> insert into test.t1 values (0, 0, 0, 0)
<Id> user2 <Host> test Query <Time> <State> update test.t1 set s1 = s1 + 1, s2 = s2 + 2, s3 = s3 + 3, s4 = ((s4 + 4) * (s4 + 5)) + 12345 + 67890 + 11111 + 22222 + 33333 + 44444 + 55555 + 99999
<Id> user3 <Host> test Query <Time> <State> delete from test.t1 where s1 = 3
<Id> user4 <Host> test Query <Time> <State> insert into test.t1 values (4, 4, 4, 4)
### Verify feature code path
# Enable SHOW PROCESSLIST via the Performance Schema
set @@global.performance_schema_show_processlist = on;
# Connection default, send SHOW PROCESSLIST
SET DEBUG_SYNC='pfs_show_processlist_performance_schema SIGNAL pfs_processlist_pfs WAIT_FOR continue';
SHOW FULL PROCESSLIST;
# Connection con0
SET DEBUG_SYNC='now WAIT_FOR pfs_processlist_pfs';
SET DEBUG_SYNC='now SIGNAL continue';
# Connection default, reap
Id User Host db Command Time State Info
<Id> event_scheduler <Host> NULL <Command> <Time> <State> <Info>
<Id> root <Host> test <Command> <Time> <State> <Info>
<Id> root <Host> test <Command> <Time> <State> <Info>
<Id> user1 <Host> test <Command> <Time> <State> <Info>
<Id> user2 <Host> test <Command> <Time> <State> <Info>
<Id> user3 <Host> test <Command> <Time> <State> <Info>
<Id> user4 <Host> test <Command> <Time> <State> <Info>
### Verify legacy code path
# Enable the legacy SHOW PROCESSLIST
set @@global.performance_schema_show_processlist = off;
# Connection default, send SHOW PROCESSLIST
SET DEBUG_SYNC='RESET';
SET DEBUG_SYNC='pfs_show_processlist_legacy SIGNAL pfs_processlist_legacy WAIT_FOR continue';
SHOW FULL PROCESSLIST;
# Connection con0
SET DEBUG_SYNC='now WAIT_FOR pfs_processlist_legacy';
SET DEBUG_SYNC='now SIGNAL continue';
# Connection default, reap
Id User Host db Command Time State Info
<Id> event_scheduler <Host> NULL <Command> <Time> <State> <Info>
<Id> root <Host> test <Command> <Time> <State> <Info>
<Id> root <Host> test <Command> <Time> <State> <Info>
<Id> user1 <Host> test <Command> <Time> <State> <Info>
<Id> user2 <Host> test <Command> <Time> <State> <Info>
<Id> user3 <Host> test <Command> <Time> <State> <Info>
<Id> user4 <Host> test <Command> <Time> <State> <Info>
### Clean up ###
# Connection con0, unlock test.t1, disconnect
unlock tables;
# Connection con1, reap, disconnect
# Connection con2, reap, disconnect
# Connection con3, reap, disconnect
# Connection con4, reap, disconnect
# Connection default
drop table test.t1;
drop user user1@localhost;
drop user user2@localhost;
drop user user3@localhost;
drop user user4@localhost;
set @@global.performance_schema_show_processlist = @save_processlist;
This diff is collapsed.
This diff is collapsed.
##
## Test the Performance Schema-based implementation of SHOW PROCESSLIST.
## Verify behavior for anonymous users and PROCESS_ACL.
##
SELECT @@global.performance_schema_show_processlist INTO @save_processlist;
SET @@global.performance_schema_show_processlist = OFF;
SHOW GRANTS;
Grants for @localhost
GRANT USAGE ON *.* TO ''@'localhost'
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
ID USER HOST DB COMMAND TIME STATE INFO
SELECT * FROM performance_schema.processlist;
ID USER HOST DB COMMAND TIME STATE INFO
SHOW PROCESSLIST;
ERROR 42000: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation
SET @@global.performance_schema_show_processlist = ON;
SHOW GRANTS;
Grants for @localhost
GRANT USAGE ON *.* TO ''@'localhost'
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
ID USER HOST DB COMMAND TIME STATE INFO
SELECT * FROM performance_schema.processlist;
ID USER HOST DB COMMAND TIME STATE INFO
SHOW PROCESSLIST;
ERROR 42000: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation
GRANT PROCESS ON *.* TO ''@'localhost';
SET @@global.performance_schema_show_processlist = OFF;
SHOW GRANTS;
Grants for @localhost
GRANT PROCESS ON *.* TO ''@'localhost'
SELECT count(*) >= 2 FROM INFORMATION_SCHEMA.PROCESSLIST;
count(*) >= 2
1
SELECT count(*) >= 2 FROM performance_schema.processlist;
count(*) >= 2
1
SHOW PROCESSLIST;
SELECT "Previous statement is now completed." as status;
status
Previous statement is now completed.
SELECT EVENT_NAME, SQL_TEXT, ROWS_SENT as BROKEN_ROWS_SENT
FROM performance_schema.events_statements_history
WHERE SQL_TEXT = "SHOW PROCESSLIST";
EVENT_NAME SQL_TEXT BROKEN_ROWS_SENT
statement/sql/show_processlist SHOW PROCESSLIST 0
TRUNCATE TABLE performance_schema.events_statements_history;
set @@global.performance_schema_show_processlist = ON;
SHOW GRANTS;
Grants for @localhost
GRANT PROCESS ON *.* TO ''@'localhost'
SELECT count(*) >= 2 FROM INFORMATION_SCHEMA.PROCESSLIST;
count(*) >= 2
1
SELECT count(*) >= 2 FROM performance_schema.processlist;
count(*) >= 2
1
SHOW PROCESSLIST;
SELECT "Previous statement is now completed." as status;
status
Previous statement is now completed.
SELECT EVENT_NAME, SQL_TEXT, ROWS_SENT >= 2
FROM performance_schema.events_statements_history
WHERE SQL_TEXT = "SHOW PROCESSLIST";
EVENT_NAME SQL_TEXT ROWS_SENT >= 2
statement/sql/show_processlist SHOW PROCESSLIST 1
SET @@global.performance_schema_show_processlist = @save_processlist;
show databases;
Database
information_schema
mtr
mysql
performance_schema
sys
test
select count(*) from performance_schema.performance_timers;
count(*)
0
select count(*) from performance_schema.setup_consumers;
count(*)
0
select count(*) > 4 from performance_schema.setup_instruments;
count(*) > 4
0
select count(*) from performance_schema.setup_timers;
count(*)
0
Warnings:
Warning 1681 'performance_schema.setup_timers' is deprecated and will be removed in a future release.
select * from performance_schema.accounts;
select * from performance_schema.cond_instances;
select * from performance_schema.events_stages_current;
select * from performance_schema.events_stages_history;
select * from performance_schema.events_stages_history_long;
select * from performance_schema.events_stages_summary_by_account_by_event_name;
select * from performance_schema.events_stages_summary_by_host_by_event_name;
select * from performance_schema.events_stages_summary_by_thread_by_event_name;
select * from performance_schema.events_stages_summary_by_user_by_event_name;
select * from performance_schema.events_stages_summary_global_by_event_name;
select * from performance_schema.events_statements_current;
select * from performance_schema.events_statements_history;
select * from performance_schema.events_statements_history_long;
select * from performance_schema.events_statements_summary_by_account_by_event_name;
select * from performance_schema.events_statements_summary_by_digest;
select * from performance_schema.events_statements_summary_by_host_by_event_name;
select * from performance_schema.events_statements_summary_by_thread_by_event_name;
select * from performance_schema.events_statements_summary_by_user_by_event_name;
select * from performance_schema.events_statements_summary_global_by_event_name;
select * from performance_schema.events_transactions_current;
select * from performance_schema.events_transactions_history;
select * from performance_schema.events_transactions_history_long;
select * from performance_schema.events_transactions_summary_by_account_by_event_name;
select * from performance_schema.events_transactions_summary_by_host_by_event_name;
select * from performance_schema.events_transactions_summary_by_thread_by_event_name;
select * from performance_schema.events_transactions_summary_by_user_by_event_name;
select * from performance_schema.events_transactions_summary_global_by_event_name;
select * from performance_schema.events_waits_current;
select * from performance_schema.events_waits_history;
select * from performance_schema.events_waits_history_long;
select * from performance_schema.events_waits_summary_by_account_by_event_name;
select * from performance_schema.events_waits_summary_by_host_by_event_name;
select * from performance_schema.events_waits_summary_by_instance;
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
select * from performance_schema.events_waits_summary_by_user_by_event_name;
select * from performance_schema.events_waits_summary_global_by_event_name;
select * from performance_schema.memory_summary_by_account_by_event_name;
select * from performance_schema.memory_summary_by_host_by_event_name;
select * from performance_schema.memory_summary_by_thread_by_event_name;
select * from performance_schema.memory_summary_by_user_by_event_name;
select * from performance_schema.memory_summary_global_by_event_name;
select * from performance_schema.file_instances;
select * from performance_schema.file_summary_by_event_name;
select * from performance_schema.file_summary_by_instance;
select * from performance_schema.host_cache;
select * from performance_schema.hosts;
select * from performance_schema.memory_summary_by_account_by_event_name;
select * from performance_schema.memory_summary_by_host_by_event_name;
select * from performance_schema.memory_summary_by_thread_by_event_name;
select * from performance_schema.memory_summary_by_user_by_event_name;
select * from performance_schema.memory_summary_global_by_event_name;
select * from performance_schema.metadata_locks;
select * from performance_schema.mutex_instances;
select * from performance_schema.objects_summary_global_by_type;
select * from performance_schema.performance_timers;
select * from performance_schema.rwlock_instances;
select * from performance_schema.session_account_connect_attrs;
select * from performance_schema.session_connect_attrs;
select * from performance_schema.setup_actors;
select * from performance_schema.setup_consumers;
select * from performance_schema.setup_instruments;
select * from performance_schema.setup_objects;
select * from performance_schema.setup_timers;
select * from performance_schema.socket_instances;
select * from performance_schema.socket_summary_by_instance;
select * from performance_schema.socket_summary_by_event_name;
select * from performance_schema.table_handles;
select * from performance_schema.table_io_waits_summary_by_index_usage;
select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
select * from performance_schema.replication_connection_configuration;
select * from performance_schema.replication_connection_status;
select * from performance_schema.replication_applier_configuration;
select * from performance_schema.replication_applier_status;
select * from performance_schema.replication_applier_status_by_coordinator;
select * from performance_schema.replication_applier_status_by_worker;
select * from performance_schema.global_status;
select * from performance_schema.status_by_thread;
select * from performance_schema.status_by_user;
select * from performance_schema.status_by_host;
select * from performance_schema.status_by_account;
select * from performance_schema.session_status;
select * from performance_schema.global_variables;
select * from performance_schema.variables_by_thread;
select * from performance_schema.session_variables;
show global variables like "performance_schema%";
Variable_name Value
performance_schema OFF
performance_schema_accounts_size 0
performance_schema_digests_size 0
performance_schema_events_stages_history_long_size 0
performance_schema_events_stages_history_size 0
performance_schema_events_statements_history_long_size 0
performance_schema_events_statements_history_size 0
performance_schema_events_transactions_history_long_size 0
performance_schema_events_transactions_history_size 0
performance_schema_events_waits_history_long_size 0
performance_schema_events_waits_history_size 0
performance_schema_hosts_size 0
performance_schema_max_cond_classes 0
performance_schema_max_cond_instances 0
performance_schema_max_digest_length 0
performance_schema_max_file_classes 0
performance_schema_max_file_handles 0
performance_schema_max_file_instances 0
performance_schema_max_index_stat 0
performance_schema_max_memory_classes 0
performance_schema_max_metadata_locks 0
performance_schema_max_mutex_classes 0
performance_schema_max_mutex_instances 0
performance_schema_max_prepared_statements_instances 0
performance_schema_max_program_instances 0
performance_schema_max_rwlock_classes 0
performance_schema_max_rwlock_instances 0
performance_schema_max_socket_classes 0
performance_schema_max_socket_instances 0
performance_schema_max_sql_text_length 0
performance_schema_max_stage_classes 0
performance_schema_max_statement_classes 0
performance_schema_max_statement_stack 0
performance_schema_max_table_handles 0
performance_schema_max_table_instances 0
performance_schema_max_table_lock_stat 0
performance_schema_max_thread_classes 0
performance_schema_max_thread_instances 0
performance_schema_session_connect_attrs_size 0
performance_schema_setup_actors_size 0
performance_schema_setup_objects_size 0
performance_schema_show_processlist ON
performance_schema_users_size 0
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
select * from information_schema.engines
where engine = "PERFORMANCE_SCHEMA";
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
PERFORMANCE_SCHEMA YES Performance Schema NO NO NO
# If the Performance Schema is disabled, then expect
# performance-schema-show-processlist = OFF
# regardless of its initial setting
select @@global.performance_schema_show_processlist;
@@global.performance_schema_show_processlist
1
# If the Performance Schema is disabled, then setting
# performance-schema-show-processlist = ON
# succeeds, SHOW PROCESSLIST returns no data.
set @@global.performance_schema_show_processlist = ON;
SHOW PROCESSLIST;
Id User Host db Command Time State Info
show global variables like "performance_schema";
Variable_name Value
performance_schema OFF
##
## Test the Performance Schema-based implementation of SHOW PROCESSLIST.
##
## Verify the Host field (hostname:port) against the legacy implementation.
##
### Setup ###
select @@global.performance_schema_show_processlist into @save_processlist;
# Control user
create user user0@localhost;
grant ALL on *.* to user0@localhost;
# Test users
create user user1@localhost, user2@localhost,
user3@localhost, user4@localhost;
grant USAGE on *.* to user1@localhost;
grant ALL on *.* to user2@localhost;
grant ALL on *.* to user3@localhost;
grant ALL on *.* to user4@localhost;
flush privileges;
show grants for user1@localhost;
Grants for user1@localhost
GRANT USAGE ON *.* TO 'user1'@'localhost'
# Connect (con_user0, 127.0.0.1, user0, , , MASTER_MYPORT, )
select connection_id() into @con_user0_id;
# Connect (con_user1, 127.0.0.1, user1, , , MASTER_MYPORT, )
# Connect (con_user2, 127.0.0.1, user2, , , MASTER_MYPORT, )
# Connect (con_user3, 127.0.0.1, user3, , , MASTER_MYPORT, )
# Connect (con_user4, 127.0.0.1, user4, , , MASTER_MYPORT, )
# Connection user0
### Compare the SHOW PROCESSLIST Host column between the new and old implementations
## New SHOW PROCESSLIST
set @@global.performance_schema_show_processlist = on;
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info
<Id> event_scheduler <Host> NULL <Command> <Time> <State> NULL
<Id> root <Host> test <Command> <Time> <State> NULL
<Id> user0 <Host> test Query <Time> <State> SHOW FULL PROCESSLIST
<Id> user1 <Host> test <Command> <Time> <State> NULL
<Id> user2 <Host> test <Command> <Time> <State> NULL
<Id> user3 <Host> test <Command> <Time> <State> NULL
<Id> user4 <Host> test <Command> <Time> <State> NULL
# Performance Schema processlist table
select * from performance_schema.processlist order by user, id;
ID USER HOST DB COMMAND TIME STATE INFO
<Id> event_scheduler <Host> NULL <Command> <Time> <State> NULL
<Id> root <Host> test <Command> <Time> <State> NULL
<Id> user0 <Host> test Query <Time> <State> select * from performance_schema.processlist order by user, id
<Id> user1 <Host> test <Command> <Time> <State> NULL
<Id> user2 <Host> test <Command> <Time> <State> NULL
<Id> user3 <Host> test <Command> <Time> <State> NULL
<Id> user4 <Host> test <Command> <Time> <State> NULL
# Information Schema processlist table
select * from information_schema.processlist order by user, id;
ID USER HOST DB COMMAND TIME STATE INFO
<Id> event_scheduler <Host> NULL <Command> <Time> <State> NULL
<Id> root <Host> test <Command> <Time> <State> NULL
<Id> user0 <Host> test Query <Time> <State> select * from information_schema.processlist order by user, id
<Id> user1 <Host> test <Command> <Time> <State> NULL
<Id> user2 <Host> test <Command> <Time> <State> NULL
<Id> user3 <Host> test <Command> <Time> <State> NULL
<Id> user4 <Host> test <Command> <Time> <State> NULL
# Connection user1
# Get Host:Port, new
## Legacy SHOW PROCESSLIST
set @@global.performance_schema_show_processlist = off;
SHOW FULL PROCESSLIST;
Id User Host db Command Time State Info
<Id> event_scheduler <Host> NULL <Command> <Time> <State> NULL
<Id> root <Host> test <Command> <Time> <State> NULL
<Id> user0 <Host> test Query <Time> <State> SHOW FULL PROCESSLIST
<Id> user1 <Host> test <Command> <Time> <State> NULL
<Id> user2 <Host> test <Command> <Time> <State> NULL
<Id> user3 <Host> test <Command> <Time> <State> NULL
<Id> user4 <Host> test <Command> <Time> <State> NULL
# Performance Schema processlist table
select * from performance_schema.processlist order by user, id;
ID USER HOST DB COMMAND TIME STATE INFO
<Id> event_scheduler <Host> NULL <Command> <Time> <State> NULL
<Id> root <Host> test <Command> <Time> <State> NULL
<Id> user0 <Host> test Query <Time> <State> select * from performance_schema.processlist order by user, id
<Id> user1 <Host> test <Command> <Time> <State> NULL
<Id> user2 <Host> test <Command> <Time> <State> NULL
<Id> user3 <Host> test <Command> <Time> <State> NULL
<Id> user4 <Host> test <Command> <Time> <State> NULL
# Information Schema processlist table
select * from information_schema.processlist order by user, id;
ID USER HOST DB COMMAND TIME STATE INFO
<Id> event_scheduler <Host> NULL <Command> <Time> <State> NULL
<Id> root <Host> test <Command> <Time> <State> NULL
<Id> user0 <Host> test Query <Time> <State> select * from information_schema.processlist order by user, id
<Id> user1 <Host> test <Command> <Time> <State> NULL
<Id> user2 <Host> test <Command> <Time> <State> NULL
<Id> user3 <Host> test <Command> <Time> <State> NULL
<Id> user4 <Host> test <Command> <Time> <State> NULL
# Connection user1
# Get Host:Port, legacy
***SUCCESS*** The SHOW PROCESSLIST Host fields match
### Compare the processlist Host column between Performance Schema and the Information Schema
# Connection con_user0
***SUCCESS*** The processlist Host fields match between the Performance Schema and the Information Schema
### Clean up ###
# Disconnect con_user0
# Disconnect con_user1
# Disconnect con_user2
# Disconnect con_user3
# Disconnect con_user4
# Connection default
drop user user0@localhost;
drop user user1@localhost;
drop user user2@localhost;
drop user user3@localhost;
drop user user4@localhost;
set @@global.performance_schema_show_processlist = @save_processlist;
##
## Test the Performance Schema-based implementation of SHOW PROCESSLIST.
## Verify behavior for regular users and PROCESS_ACL.
##
SELECT @@global.performance_schema_show_processlist INTO @save_processlist;
SET @@global.performance_schema_show_processlist = OFF;
CREATE USER 'regular'@'localhost';
SHOW GRANTS;
Grants for regular@localhost
GRANT USAGE ON *.* TO 'regular'@'localhost'
SELECT USER, INFO FROM INFORMATION_SCHEMA.PROCESSLIST;
USER INFO
regular SELECT USER, INFO FROM INFORMATION_SCHEMA.PROCESSLIST
SELECT USER, INFO FROM performance_schema.processlist;
USER INFO
regular SELECT USER, INFO FROM performance_schema.processlist
SHOW PROCESSLIST;
SELECT "Previous statement is now completed." as status;
status
Previous statement is now completed.
SELECT EVENT_NAME, SQL_TEXT, ROWS_SENT as BROKEN_ROWS_SENT
FROM performance_schema.events_statements_history
WHERE SQL_TEXT = "SHOW PROCESSLIST";
EVENT_NAME SQL_TEXT BROKEN_ROWS_SENT
statement/sql/show_processlist SHOW PROCESSLIST 0
TRUNCATE TABLE performance_schema.events_statements_history;
SET @@global.performance_schema_show_processlist = ON;
SHOW GRANTS;
Grants for regular@localhost
GRANT USAGE ON *.* TO 'regular'@'localhost'
SELECT USER, INFO FROM INFORMATION_SCHEMA.PROCESSLIST;
USER INFO
regular SELECT USER, INFO FROM INFORMATION_SCHEMA.PROCESSLIST
SELECT USER, INFO FROM performance_schema.processlist;
USER INFO
regular SELECT USER, INFO FROM performance_schema.processlist
SHOW PROCESSLIST;
SELECT "Previous statement is now completed." as status;
status
Previous statement is now completed.
SELECT EVENT_NAME, SQL_TEXT, ROWS_SENT
FROM performance_schema.events_statements_history
WHERE SQL_TEXT = "SHOW PROCESSLIST";
EVENT_NAME SQL_TEXT ROWS_SENT
statement/sql/show_processlist SHOW PROCESSLIST 1
TRUNCATE TABLE performance_schema.events_statements_history;
GRANT PROCESS ON *.* TO 'regular'@'localhost';
SET @@global.performance_schema_show_processlist = OFF;
SHOW GRANTS;
Grants for regular@localhost
GRANT PROCESS ON *.* TO 'regular'@'localhost'
SELECT count(*) >= 2 FROM INFORMATION_SCHEMA.PROCESSLIST;
count(*) >= 2
1
SELECT count(*) >= 2 FROM performance_schema.processlist;
count(*) >= 2
1
SHOW PROCESSLIST;
SELECT "Previous statement is now completed." as status;
status
Previous statement is now completed.
SELECT EVENT_NAME, SQL_TEXT, ROWS_SENT as BROKEN_ROWS_SENT
FROM performance_schema.events_statements_history
WHERE SQL_TEXT = "SHOW PROCESSLIST";
EVENT_NAME SQL_TEXT BROKEN_ROWS_SENT
statement/sql/show_processlist SHOW PROCESSLIST 0
TRUNCATE TABLE performance_schema.events_statements_history;
SET @@global.performance_schema_show_processlist = ON;
SHOW GRANTS;
Grants for regular@localhost
GRANT PROCESS ON *.* TO 'regular'@'localhost'
SELECT count(*) >= 2 FROM INFORMATION_SCHEMA.PROCESSLIST;
count(*) >= 2
1
SELECT count(*) >= 2 FROM performance_schema.processlist;
count(*) >= 2
1
SHOW PROCESSLIST;
SELECT "Previous statement is now completed." as status;
status
Previous statement is now completed.
SELECT EVENT_NAME, SQL_TEXT, ROWS_SENT >= 2
FROM performance_schema.events_statements_history
WHERE SQL_TEXT = "SHOW PROCESSLIST";
EVENT_NAME SQL_TEXT ROWS_SENT >= 2
statement/sql/show_processlist SHOW PROCESSLIST 1
TRUNCATE TABLE performance_schema.events_statements_history;
SET @@global.performance_schema_show_processlist = @save_processlist;
DROP USER 'regular'@'localhost';
......@@ -61,6 +61,7 @@ mutex_instances
objects_summary_global_by_type
performance_timers
prepared_statements_instances
processlist
replication_applier_configuration
replication_applier_status
replication_applier_status_by_coordinator
......
......@@ -414,6 +414,7 @@ SHOW_MODE SOURCE VARIABLE_NAME
5.6 I_S.SESSION_VARIABLES INNODB_STATS_INCLUDE_DELETE_MARKED
5.6 I_S.SESSION_VARIABLES KEYRING_OPERATIONS
5.6 I_S.SESSION_VARIABLES LOG_STATEMENTS_UNSAFE_FOR_BINLOG
5.6 I_S.SESSION_VARIABLES PERFORMANCE_SCHEMA_SHOW_PROCESSLIST
5.6 I_S.SESSION_VARIABLES REPLICATION_OPTIMIZE_FOR_STATIC_PLUGIN_CONFIG
5.6 I_S.SESSION_VARIABLES REPLICATION_SENDER_OBSERVE_COMMIT_ONLY
5.6 I_S.SESSION_VARIABLES TLS_VERSION
......@@ -444,6 +445,7 @@ SHOW_MODE SOURCE VARIABLE_NAME
5.6 I_S.SESSION_VARIABLES INNODB_STATS_INCLUDE_DELETE_MARKED
5.6 I_S.SESSION_VARIABLES KEYRING_OPERATIONS
5.6 I_S.SESSION_VARIABLES LOG_STATEMENTS_UNSAFE_FOR_BINLOG
5.6 I_S.SESSION_VARIABLES PERFORMANCE_SCHEMA_SHOW_PROCESSLIST
5.6 I_S.SESSION_VARIABLES REPLICATION_OPTIMIZE_FOR_STATIC_PLUGIN_CONFIG
5.6 I_S.SESSION_VARIABLES REPLICATION_SENDER_OBSERVE_COMMIT_ONLY
5.6 I_S.SESSION_VARIABLES TLS_VERSION
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 0
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 0
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances 0
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 0
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances 0
performance_schema_session_connect_attrs_size 0
performance_schema_setup_actors_size 0
performance_schema_setup_objects_size 0
performance_schema_show_processlist OFF
performance_schema_users_size 0
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......@@ -196,6 +197,7 @@ performance_schema_max_thread_instances 0
performance_schema_session_connect_attrs_size 0
performance_schema_setup_actors_size 0
performance_schema_setup_objects_size 0
performance_schema_show_processlist OFF
performance_schema_users_size 0
select * from performance_schema.setup_instruments
order by name;
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances 0
performance_schema_session_connect_attrs_size 0
performance_schema_setup_actors_size 0
performance_schema_setup_objects_size 0
performance_schema_show_processlist OFF
performance_schema_users_size 0
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -150,6 +150,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show engine PERFORMANCE_SCHEMA status;
show global status like "performance_schema%";
......
......@@ -97,6 +97,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show global status like "performance_schema%";
Variable_name Value
......
......@@ -96,6 +96,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show global status like "performance_schema%";
Variable_name Value
......
......@@ -97,6 +97,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show global status like "performance_schema%";
Variable_name Value
......
......@@ -96,6 +96,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show global status like "performance_schema%";
Variable_name Value
......
......@@ -95,6 +95,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show global status like "performance_schema%";
Variable_name Value
......
......@@ -94,6 +94,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show global status like "performance_schema%";
Variable_name Value
......
......@@ -95,6 +95,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show global status like "performance_schema%";
Variable_name Value
......
......@@ -94,6 +94,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show global status like "performance_schema%";
Variable_name Value
......
......@@ -96,6 +96,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show global status like "performance_schema%";
Variable_name Value
......
......@@ -97,6 +97,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show global status like "performance_schema%";
Variable_name Value
......
......@@ -96,6 +96,7 @@ performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_show_processlist OFF
performance_schema_users_size 100
show global status like "performance_schema%";
Variable_name Value
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment