· 8 years ago · Mar 14, 2018, 09:52 PM
1-- Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
2--
3-- This program is free software; you can redistribute it and/or modify
4-- it under the terms of the GNU General Public License as published by
5-- the Free Software Foundation; version 2 of the License.
6--
7-- This program is distributed in the hope that it will be useful,
8-- but WITHOUT ANY WARRANTY; without even the implied warranty of
9-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10-- GNU General Public License for more details.
11--
12-- You should have received a copy of the GNU General Public License
13-- along with this program; if not, write to the Free Software
14-- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
15
16--
17-- The system tables of MySQL Server
18--
19
20set sql_mode='';
21-- set storage_engine=myisam;
22
23CREATE TABLE IF NOT EXISTS db ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Event_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Trigger_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY Host (Host,Db,User), KEY User (User) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Database privileges';
24
25-- Remember for later if db table already existed
26set @had_db_table= @@warning_count != 0;
27
28CREATE TABLE IF NOT EXISTS user ( Host char(60) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Password char(41) character set latin1 collate latin1_bin DEFAULT '' NOT NULL, Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Reload_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Shutdown_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Process_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, File_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Show_db_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Super_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Repl_slave_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Repl_client_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_user_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Event_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Trigger_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_tablespace_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, ssl_type enum('','ANY','X509', 'SPECIFIED') COLLATE utf8_general_ci DEFAULT '' NOT NULL, ssl_cipher BLOB NOT NULL, x509_issuer BLOB NOT NULL, x509_subject BLOB NOT NULL, max_questions int(11) unsigned DEFAULT 0 NOT NULL, max_updates int(11) unsigned DEFAULT 0 NOT NULL, max_connections int(11) unsigned DEFAULT 0 NOT NULL, max_user_connections int(11) unsigned DEFAULT 0 NOT NULL, plugin char(64) DEFAULT '', authentication_string TEXT, password_expired ENUM('N', 'Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY Host (Host,User) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Users and global privileges';
29
30-- Remember for later if user table already existed
31set @had_user_table= @@warning_count != 0;
32
33
34CREATE TABLE IF NOT EXISTS func ( name char(64) binary DEFAULT '' NOT NULL, ret tinyint(1) DEFAULT '0' NOT NULL, dl char(128) DEFAULT '' NOT NULL, type enum ('function','aggregate') COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='User defined functions';
35
36
37CREATE TABLE IF NOT EXISTS plugin ( name varchar(64) DEFAULT '' NOT NULL, dl varchar(128) DEFAULT '' NOT NULL, PRIMARY KEY (name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci comment='MySQL plugins';
38
39
40CREATE TABLE IF NOT EXISTS servers ( Server_name char(64) NOT NULL DEFAULT '', Host char(64) NOT NULL DEFAULT '', Db char(64) NOT NULL DEFAULT '', Username char(64) NOT NULL DEFAULT '', Password char(64) NOT NULL DEFAULT '', Port INT(4) NOT NULL DEFAULT '0', Socket char(64) NOT NULL DEFAULT '', Wrapper char(64) NOT NULL DEFAULT '', Owner char(64) NOT NULL DEFAULT '', PRIMARY KEY (Server_name)) CHARACTER SET utf8 comment='MySQL Foreign Servers table';
41
42
43CREATE TABLE IF NOT EXISTS tables_priv ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Table_name char(64) binary DEFAULT '' NOT NULL, Grantor char(77) DEFAULT '' NOT NULL, Timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') COLLATE utf8_general_ci DEFAULT '' NOT NULL, Column_priv set('Select','Insert','Update','References') COLLATE utf8_general_ci DEFAULT '' NOT NULL, PRIMARY KEY (Host,Db,User,Table_name), KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Table privileges';
44
45CREATE TABLE IF NOT EXISTS columns_priv ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Table_name char(64) binary DEFAULT '' NOT NULL, Column_name char(64) binary DEFAULT '' NOT NULL, Timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, Column_priv set('Select','Insert','Update','References') COLLATE utf8_general_ci DEFAULT '' NOT NULL, PRIMARY KEY (Host,Db,User,Table_name,Column_name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Column privileges';
46
47
48CREATE TABLE IF NOT EXISTS help_topic ( help_topic_id int unsigned not null, name char(64) not null, help_category_id smallint unsigned not null, description text not null, example text not null, url text not null, primary key (help_topic_id), unique index (name) ) engine=MyISAM CHARACTER SET utf8 comment='help topics';
49
50
51CREATE TABLE IF NOT EXISTS help_category ( help_category_id smallint unsigned not null, name char(64) not null, parent_category_id smallint unsigned null, url text not null, primary key (help_category_id), unique index (name) ) engine=MyISAM CHARACTER SET utf8 comment='help categories';
52
53
54CREATE TABLE IF NOT EXISTS help_relation ( help_topic_id int unsigned not null references help_topic, help_keyword_id int unsigned not null references help_keyword, primary key (help_keyword_id, help_topic_id) ) engine=MyISAM CHARACTER SET utf8 comment='keyword-topic relation';
55
56
57CREATE TABLE IF NOT EXISTS help_keyword ( help_keyword_id int unsigned not null, name char(64) not null, primary key (help_keyword_id), unique index (name) ) engine=MyISAM CHARACTER SET utf8 comment='help keywords';
58
59
60CREATE TABLE IF NOT EXISTS time_zone_name ( Name char(64) NOT NULL, Time_zone_id int unsigned NOT NULL, PRIMARY KEY Name (Name) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone names';
61
62
63CREATE TABLE IF NOT EXISTS time_zone ( Time_zone_id int unsigned NOT NULL auto_increment, Use_leap_seconds enum('Y','N') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY TzId (Time_zone_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zones';
64
65
66CREATE TABLE IF NOT EXISTS time_zone_transition ( Time_zone_id int unsigned NOT NULL, Transition_time bigint signed NOT NULL, Transition_type_id int unsigned NOT NULL, PRIMARY KEY TzIdTranTime (Time_zone_id, Transition_time) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transitions';
67
68
69CREATE TABLE IF NOT EXISTS time_zone_transition_type ( Time_zone_id int unsigned NOT NULL, Transition_type_id int unsigned NOT NULL, Offset int signed DEFAULT 0 NOT NULL, Is_DST tinyint unsigned DEFAULT 0 NOT NULL, Abbreviation char(8) DEFAULT '' NOT NULL, PRIMARY KEY TzIdTrTId (Time_zone_id, Transition_type_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transition types';
70
71
72CREATE TABLE IF NOT EXISTS time_zone_leap_second ( Transition_time bigint signed NOT NULL, Correction int signed NOT NULL, PRIMARY KEY TranTime (Transition_time) ) engine=MyISAM CHARACTER SET utf8 comment='Leap seconds information for time zones';
73
74
75CREATE TABLE IF NOT EXISTS proc (db char(64) collate utf8_bin DEFAULT '' NOT NULL, name char(64) DEFAULT '' NOT NULL, type enum('FUNCTION','PROCEDURE') NOT NULL, specific_name char(64) DEFAULT '' NOT NULL, language enum('SQL') DEFAULT 'SQL' NOT NULL, sql_data_access enum( 'CONTAINS_SQL', 'NO_SQL', 'READS_SQL_DATA', 'MODIFIES_SQL_DATA') DEFAULT 'CONTAINS_SQL' NOT NULL, is_deterministic enum('YES','NO') DEFAULT 'NO' NOT NULL, security_type enum('INVOKER','DEFINER') DEFAULT 'DEFINER' NOT NULL, param_list blob NOT NULL, returns longblob DEFAULT '' NOT NULL, body longblob NOT NULL, definer char(77) collate utf8_bin DEFAULT '' NOT NULL, created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, modified timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', sql_mode set( 'REAL_AS_FLOAT', 'PIPES_AS_CONCAT', 'ANSI_QUOTES', 'IGNORE_SPACE', 'NOT_USED', 'ONLY_FULL_GROUP_BY', 'NO_UNSIGNED_SUBTRACTION', 'NO_DIR_IN_CREATE', 'POSTGRESQL', 'ORACLE', 'MSSQL', 'DB2', 'MAXDB', 'NO_KEY_OPTIONS', 'NO_TABLE_OPTIONS', 'NO_FIELD_OPTIONS', 'MYSQL323', 'MYSQL40', 'ANSI', 'NO_AUTO_VALUE_ON_ZERO', 'NO_BACKSLASH_ESCAPES', 'STRICT_TRANS_TABLES', 'STRICT_ALL_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'INVALID_DATES', 'ERROR_FOR_DIVISION_BY_ZERO', 'TRADITIONAL', 'NO_AUTO_CREATE_USER', 'HIGH_NOT_PRECEDENCE', 'NO_ENGINE_SUBSTITUTION', 'PAD_CHAR_TO_FULL_LENGTH') DEFAULT '' NOT NULL, comment text collate utf8_bin NOT NULL, character_set_client char(32) collate utf8_bin, collation_connection char(32) collate utf8_bin, db_collation char(32) collate utf8_bin, body_utf8 longblob, PRIMARY KEY (db,name,type)) engine=MyISAM character set utf8 comment='Stored Procedures';
76
77CREATE TABLE IF NOT EXISTS procs_priv ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Routine_name char(64) COLLATE utf8_general_ci DEFAULT '' NOT NULL, Routine_type enum('FUNCTION','PROCEDURE') NOT NULL, Grantor char(77) DEFAULT '' NOT NULL, Proc_priv set('Execute','Alter Routine','Grant') COLLATE utf8_general_ci DEFAULT '' NOT NULL, Timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (Host,Db,User,Routine_name,Routine_type), KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Procedure privileges';
78
79-- Create general_log if CSV is enabled.
80SET @have_csv = (SELECT support FROM information_schema.engines WHERE engine = 'CSV');
81SET @str = IF (@have_csv = 'YES', 'CREATE TABLE IF NOT EXISTS general_log (event_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, user_host MEDIUMTEXT NOT NULL, thread_id BIGINT(21) UNSIGNED NOT NULL, server_id INTEGER UNSIGNED NOT NULL, command_type VARCHAR(64) NOT NULL, argument MEDIUMTEXT NOT NULL) engine=CSV CHARACTER SET utf8 comment="General log"', 'SET @dummy = 0');
82
83PREPARE stmt FROM @str;
84EXECUTE stmt;
85DROP PREPARE stmt;
86
87-- Create slow_log if CSV is enabled.
88
89SET @str = IF (@have_csv = 'YES', 'CREATE TABLE IF NOT EXISTS slow_log (start_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, user_host MEDIUMTEXT NOT NULL, query_time TIME NOT NULL, lock_time TIME NOT NULL, rows_sent INTEGER NOT NULL, rows_examined INTEGER NOT NULL, db VARCHAR(512) NOT NULL, last_insert_id INTEGER NOT NULL, insert_id INTEGER NOT NULL, server_id INTEGER UNSIGNED NOT NULL, sql_text MEDIUMTEXT NOT NULL, thread_id BIGINT(21) UNSIGNED NOT NULL) engine=CSV CHARACTER SET utf8 comment="Slow log"', 'SET @dummy = 0');
90
91PREPARE stmt FROM @str;
92EXECUTE stmt;
93DROP PREPARE stmt;
94
95CREATE TABLE IF NOT EXISTS event ( db char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', name char(64) CHARACTER SET utf8 NOT NULL default '', body longblob NOT NULL, definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', execute_at DATETIME default NULL, interval_value int(11) default NULL, interval_field ENUM('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') default NULL, created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, modified TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', last_executed DATETIME default NULL, starts DATETIME default NULL, ends DATETIME default NULL, status ENUM('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL default 'ENABLED', on_completion ENUM('DROP','PRESERVE') NOT NULL default 'DROP', sql_mode set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') DEFAULT '' NOT NULL, comment char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', originator INTEGER UNSIGNED NOT NULL, time_zone char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM', character_set_client char(32) collate utf8_bin, collation_connection char(32) collate utf8_bin, db_collation char(32) collate utf8_bin, body_utf8 longblob, PRIMARY KEY (db, name) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT 'Events';
96
97
98CREATE TABLE IF NOT EXISTS ndb_binlog_index (Position BIGINT UNSIGNED NOT NULL, File VARCHAR(255) NOT NULL, epoch BIGINT UNSIGNED NOT NULL, inserts INT UNSIGNED NOT NULL, updates INT UNSIGNED NOT NULL, deletes INT UNSIGNED NOT NULL, schemaops INT UNSIGNED NOT NULL, orig_server_id INT UNSIGNED NOT NULL, orig_epoch BIGINT UNSIGNED NOT NULL, gci INT UNSIGNED NOT NULL, PRIMARY KEY(epoch, orig_server_id, orig_epoch)) ENGINE=MYISAM;
99
100SET @sql_mode_orig=@@SESSION.sql_mode;
101SET SESSION sql_mode='NO_ENGINE_SUBSTITUTION';
102
103SET @create_innodb_table_stats="CREATE TABLE IF NOT EXISTS innodb_table_stats (
104 database_name VARCHAR(64) NOT NULL,
105 table_name VARCHAR(64) NOT NULL,
106 last_update TIMESTAMP NOT NULL NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
107 n_rows BIGINT UNSIGNED NOT NULL,
108 clustered_index_size BIGINT UNSIGNED NOT NULL,
109 sum_of_other_index_sizes BIGINT UNSIGNED NOT NULL,
110 PRIMARY KEY (database_name, table_name)
111) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0";
112
113SET @create_innodb_index_stats="CREATE TABLE IF NOT EXISTS innodb_index_stats (
114 database_name VARCHAR(64) NOT NULL,
115 table_name VARCHAR(64) NOT NULL,
116 index_name VARCHAR(64) NOT NULL,
117 last_update TIMESTAMP NOT NULL NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
118 /* there are at least:
119 stat_name='size'
120 stat_name='n_leaf_pages'
121 stat_name='n_diff_pfx%' */
122 stat_name VARCHAR(64) NOT NULL,
123 stat_value BIGINT UNSIGNED NOT NULL,
124 sample_size BIGINT UNSIGNED,
125 stat_description VARCHAR(1024) NOT NULL,
126 PRIMARY KEY (database_name, table_name, index_name, stat_name)
127) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0";
128
129set @have_innodb= (select count(engine) from information_schema.engines where engine='INNODB' and support != 'NO');
130
131SET @str=IF(@have_innodb <> 0, @create_innodb_table_stats, "SET @dummy = 0");
132PREPARE stmt FROM @str;
133EXECUTE stmt;
134DROP PREPARE stmt;
135
136SET @str=IF(@have_innodb <> 0, @create_innodb_index_stats, "SET @dummy = 0");
137PREPARE stmt FROM @str;
138EXECUTE stmt;
139DROP PREPARE stmt;
140
141SET SESSION sql_mode=@sql_mode_orig;
142
143SET @cmd="CREATE TABLE IF NOT EXISTS slave_relay_log_info (
144 Number_of_lines INTEGER UNSIGNED NOT NULL COMMENT 'Number of lines in the file or rows in the table. Used to version table definitions.',
145 Relay_log_name TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the current relay log file.',
146 Relay_log_pos BIGINT UNSIGNED NOT NULL COMMENT 'The relay log position of the last executed event.',
147 Master_log_name TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log file from which the events in the relay log file were read.',
148 Master_log_pos BIGINT UNSIGNED NOT NULL COMMENT 'The master log position of the last executed event.',
149 Sql_delay INTEGER NOT NULL COMMENT 'The number of seconds that the slave must lag behind the master.',
150 Number_of_workers INTEGER UNSIGNED NOT NULL,
151 Id INTEGER UNSIGNED NOT NULL COMMENT 'Internal Id that uniquely identifies this record.',
152 PRIMARY KEY(Id)) DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT 'Relay Log Information'";
153
154SET @str=IF(@have_innodb <> 0, CONCAT(@cmd, ' ENGINE= INNODB;'), CONCAT(@cmd, ' ENGINE= MYISAM;'));
155PREPARE stmt FROM @str;
156EXECUTE stmt;
157DROP PREPARE stmt;
158
159SET @cmd= "CREATE TABLE IF NOT EXISTS slave_master_info (
160 Number_of_lines INTEGER UNSIGNED NOT NULL COMMENT 'Number of lines in the file.',
161 Master_log_name TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log currently being read from the master.',
162 Master_log_pos BIGINT UNSIGNED NOT NULL COMMENT 'The master log position of the last read event.',
163 Host CHAR(64) CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The host name of the master.',
164 User_name TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The user name used to connect to the master.',
165 User_password TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The password used to connect to the master.',
166 Port INTEGER UNSIGNED NOT NULL COMMENT 'The network port used to connect to the master.',
167 Connect_retry INTEGER UNSIGNED NOT NULL COMMENT 'The period (in seconds) that the slave will wait before trying to reconnect to the master.',
168 Enabled_ssl BOOLEAN NOT NULL COMMENT 'Indicates whether the server supports SSL connections.',
169 Ssl_ca TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Authority (CA) certificate.',
170 Ssl_capath TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path to the Certificate Authority (CA) certificates.',
171 Ssl_cert TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL certificate file.',
172 Ssl_cipher TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the cipher in use for the SSL connection.',
173 Ssl_key TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL key file.',
174 Ssl_verify_server_cert BOOLEAN NOT NULL COMMENT 'Whether to verify the server certificate.',
175 Heartbeat FLOAT NOT NULL COMMENT '',
176 Bind TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'Displays which interface is employed when connecting to the MySQL server',
177 Ignored_server_ids TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The number of server IDs to be ignored, followed by the actual server IDs',
178 Uuid TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The master server uuid.',
179 Retry_count BIGINT UNSIGNED NOT NULL COMMENT 'Number of reconnect attempts, to the master, before giving up.',
180 Ssl_crl TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Revocation List (CRL)',
181 Ssl_crlpath TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path used for Certificate Revocation List (CRL) files',
182 Enabled_auto_position BOOLEAN NOT NULL COMMENT 'Indicates whether GTIDs will be used to retrieve events from the master.',
183 PRIMARY KEY(Host, Port)) DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT 'Master Information'";
184
185SET @str=IF(@have_innodb <> 0, CONCAT(@cmd, ' ENGINE= INNODB;'), CONCAT(@cmd, ' ENGINE= MYISAM;'));
186PREPARE stmt FROM @str;
187EXECUTE stmt;
188DROP PREPARE stmt;
189
190SET @cmd= "CREATE TABLE IF NOT EXISTS slave_worker_info (
191 Id INTEGER UNSIGNED NOT NULL,
192 Relay_log_name TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
193 Relay_log_pos BIGINT UNSIGNED NOT NULL,
194 Master_log_name TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
195 Master_log_pos BIGINT UNSIGNED NOT NULL,
196 Checkpoint_relay_log_name TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
197 Checkpoint_relay_log_pos BIGINT UNSIGNED NOT NULL,
198 Checkpoint_master_log_name TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
199 Checkpoint_master_log_pos BIGINT UNSIGNED NOT NULL,
200 Checkpoint_seqno INT UNSIGNED NOT NULL,
201 Checkpoint_group_size INTEGER UNSIGNED NOT NULL,
202 Checkpoint_group_bitmap BLOB NOT NULL,
203 PRIMARY KEY(Id)) DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT 'Worker Information'";
204
205SET @str=IF(@have_innodb <> 0, CONCAT(@cmd, ' ENGINE= INNODB;'), CONCAT(@cmd, ' ENGINE= MYISAM;'));
206PREPARE stmt FROM @str;
207EXECUTE stmt;
208DROP PREPARE stmt;
209
210--
211-- PERFORMANCE SCHEMA INSTALLATION
212-- Note that this script is also reused by mysql_upgrade,
213-- so we have to be very careful here to not destroy any
214-- existing database named 'performance_schema' if it
215-- can contain user data.
216-- In case of downgrade, it's ok to drop unknown tables
217-- from a future version, as long as they belong to the
218-- performance schema engine.
219--
220
221set @have_old_pfs= (select count(*) from information_schema.schemata where schema_name='performance_schema');
222
223SET @cmd="SET @broken_tables = (select count(*) from information_schema.tables"
224 " where engine != \'PERFORMANCE_SCHEMA\' and table_schema=\'performance_schema\')";
225
226-- Work around for bug#49542
227SET @str = IF(@have_old_pfs = 1, @cmd, 'SET @broken_tables = 0');
228PREPARE stmt FROM @str;
229EXECUTE stmt;
230DROP PREPARE stmt;
231
232SET @cmd="SET @broken_views = (select count(*) from information_schema.views"
233 " where table_schema='performance_schema')";
234
235-- Work around for bug#49542
236SET @str = IF(@have_old_pfs = 1, @cmd, 'SET @broken_views = 0');
237PREPARE stmt FROM @str;
238EXECUTE stmt;
239DROP PREPARE stmt;
240
241SET @broken_routines = (select count(*) from mysql.proc where db='performance_schema');
242
243SET @broken_events = (select count(*) from mysql.event where db='performance_schema');
244
245SET @broken_pfs= (select @broken_tables + @broken_views + @broken_routines + @broken_events);
246
247--
248-- The performance schema database.
249-- Only drop and create the database if this is safe (no broken_pfs).
250-- This database is created, even in --without-perfschema builds,
251-- so that the database name is always reserved by the MySQL implementation.
252--
253
254SET @cmd= "DROP DATABASE IF EXISTS performance_schema";
255
256SET @str = IF(@broken_pfs = 0, @cmd, 'SET @dummy = 0');
257PREPARE stmt FROM @str;
258EXECUTE stmt;
259DROP PREPARE stmt;
260
261SET @cmd= "CREATE DATABASE performance_schema character set utf8";
262
263SET @str = IF(@broken_pfs = 0, @cmd, 'SET @dummy = 0');
264PREPARE stmt FROM @str;
265EXECUTE stmt;
266DROP PREPARE stmt;
267
268--
269-- From this point, only create the performance schema tables
270-- if the server is built with performance schema
271--
272
273set @have_pfs= (select count(engine) from information_schema.engines where engine='PERFORMANCE_SCHEMA' and support != 'NO');
274
275--
276-- TABLE COND_INSTANCES
277--
278
279SET @cmd="CREATE TABLE performance_schema.cond_instances("
280 "NAME VARCHAR(128) not null,"
281 "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null"
282 ")ENGINE=PERFORMANCE_SCHEMA;";
283
284SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
285PREPARE stmt FROM @str;
286EXECUTE stmt;
287DROP PREPARE stmt;
288
289--
290-- TABLE EVENTS_WAITS_CURRENT
291--
292
293SET @cmd="CREATE TABLE performance_schema.events_waits_current("
294 "THREAD_ID BIGINT unsigned not null,"
295 "EVENT_ID BIGINT unsigned not null,"
296 "END_EVENT_ID BIGINT unsigned,"
297 "EVENT_NAME VARCHAR(128) not null,"
298 "SOURCE VARCHAR(64),"
299 "TIMER_START BIGINT unsigned,"
300 "TIMER_END BIGINT unsigned,"
301 "TIMER_WAIT BIGINT unsigned,"
302 "SPINS INTEGER unsigned,"
303 "OBJECT_SCHEMA VARCHAR(64),"
304 "OBJECT_NAME VARCHAR(512),"
305 "INDEX_NAME VARCHAR(64),"
306 "OBJECT_TYPE VARCHAR(64),"
307 "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null,"
308 "NESTING_EVENT_ID BIGINT unsigned,"
309 "NESTING_EVENT_TYPE ENUM('STATEMENT', 'STAGE', 'WAIT'),"
310 "OPERATION VARCHAR(32) not null,"
311 "NUMBER_OF_BYTES BIGINT,"
312 "FLAGS INTEGER unsigned"
313 ")ENGINE=PERFORMANCE_SCHEMA;";
314
315SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
316PREPARE stmt FROM @str;
317EXECUTE stmt;
318DROP PREPARE stmt;
319
320--
321-- TABLE EVENTS_WAITS_HISTORY
322--
323
324SET @cmd="CREATE TABLE performance_schema.events_waits_history("
325 "THREAD_ID BIGINT unsigned not null,"
326 "EVENT_ID BIGINT unsigned not null,"
327 "END_EVENT_ID BIGINT unsigned,"
328 "EVENT_NAME VARCHAR(128) not null,"
329 "SOURCE VARCHAR(64),"
330 "TIMER_START BIGINT unsigned,"
331 "TIMER_END BIGINT unsigned,"
332 "TIMER_WAIT BIGINT unsigned,"
333 "SPINS INTEGER unsigned,"
334 "OBJECT_SCHEMA VARCHAR(64),"
335 "OBJECT_NAME VARCHAR(512),"
336 "INDEX_NAME VARCHAR(64),"
337 "OBJECT_TYPE VARCHAR(64),"
338 "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null,"
339 "NESTING_EVENT_ID BIGINT unsigned,"
340 "NESTING_EVENT_TYPE ENUM('STATEMENT', 'STAGE', 'WAIT'),"
341 "OPERATION VARCHAR(32) not null,"
342 "NUMBER_OF_BYTES BIGINT,"
343 "FLAGS INTEGER unsigned"
344 ")ENGINE=PERFORMANCE_SCHEMA;";
345
346SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
347PREPARE stmt FROM @str;
348EXECUTE stmt;
349DROP PREPARE stmt;
350
351--
352-- TABLE EVENTS_WAITS_HISTORY_LONG
353--
354
355SET @cmd="CREATE TABLE performance_schema.events_waits_history_long("
356 "THREAD_ID BIGINT unsigned not null,"
357 "EVENT_ID BIGINT unsigned not null,"
358 "END_EVENT_ID BIGINT unsigned,"
359 "EVENT_NAME VARCHAR(128) not null,"
360 "SOURCE VARCHAR(64),"
361 "TIMER_START BIGINT unsigned,"
362 "TIMER_END BIGINT unsigned,"
363 "TIMER_WAIT BIGINT unsigned,"
364 "SPINS INTEGER unsigned,"
365 "OBJECT_SCHEMA VARCHAR(64),"
366 "OBJECT_NAME VARCHAR(512),"
367 "INDEX_NAME VARCHAR(64),"
368 "OBJECT_TYPE VARCHAR(64),"
369 "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null,"
370 "NESTING_EVENT_ID BIGINT unsigned,"
371 "NESTING_EVENT_TYPE ENUM('STATEMENT', 'STAGE', 'WAIT'),"
372 "OPERATION VARCHAR(32) not null,"
373 "NUMBER_OF_BYTES BIGINT,"
374 "FLAGS INTEGER unsigned"
375 ")ENGINE=PERFORMANCE_SCHEMA;";
376
377SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
378PREPARE stmt FROM @str;
379EXECUTE stmt;
380DROP PREPARE stmt;
381
382--
383-- TABLE EVENTS_WAITS_SUMMARY_BY_INSTANCE
384--
385
386SET @cmd="CREATE TABLE performance_schema.events_waits_summary_by_instance("
387 "EVENT_NAME VARCHAR(128) not null,"
388 "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null,"
389 "COUNT_STAR BIGINT unsigned not null,"
390 "SUM_TIMER_WAIT BIGINT unsigned not null,"
391 "MIN_TIMER_WAIT BIGINT unsigned not null,"
392 "AVG_TIMER_WAIT BIGINT unsigned not null,"
393 "MAX_TIMER_WAIT BIGINT unsigned not null"
394 ")ENGINE=PERFORMANCE_SCHEMA;";
395
396SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
397PREPARE stmt FROM @str;
398EXECUTE stmt;
399DROP PREPARE stmt;
400
401--
402-- TABLE EVENTS_WAITS_SUMMARY_BY_HOST_BY_EVENT_NAME
403--
404
405SET @cmd="CREATE TABLE performance_schema.events_waits_summary_by_host_by_event_name("
406 "HOST CHAR(60) collate utf8_bin default null,"
407 "EVENT_NAME VARCHAR(128) not null,"
408 "COUNT_STAR BIGINT unsigned not null,"
409 "SUM_TIMER_WAIT BIGINT unsigned not null,"
410 "MIN_TIMER_WAIT BIGINT unsigned not null,"
411 "AVG_TIMER_WAIT BIGINT unsigned not null,"
412 "MAX_TIMER_WAIT BIGINT unsigned not null"
413 ")ENGINE=PERFORMANCE_SCHEMA;";
414
415SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
416PREPARE stmt FROM @str;
417EXECUTE stmt;
418DROP PREPARE stmt;
419
420--
421-- TABLE EVENTS_WAITS_SUMMARY_BY_USER_BY_EVENT_NAME
422--
423
424SET @cmd="CREATE TABLE performance_schema.events_waits_summary_by_user_by_event_name("
425 "USER CHAR(16) collate utf8_bin default null,"
426 "EVENT_NAME VARCHAR(128) not null,"
427 "COUNT_STAR BIGINT unsigned not null,"
428 "SUM_TIMER_WAIT BIGINT unsigned not null,"
429 "MIN_TIMER_WAIT BIGINT unsigned not null,"
430 "AVG_TIMER_WAIT BIGINT unsigned not null,"
431 "MAX_TIMER_WAIT BIGINT unsigned not null"
432 ")ENGINE=PERFORMANCE_SCHEMA;";
433
434SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
435PREPARE stmt FROM @str;
436EXECUTE stmt;
437DROP PREPARE stmt;
438
439--
440-- TABLE EVENTS_WAITS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME
441--
442
443SET @cmd="CREATE TABLE performance_schema.events_waits_summary_by_account_by_event_name("
444 "USER CHAR(16) collate utf8_bin default null,"
445 "HOST CHAR(60) collate utf8_bin default null,"
446 "EVENT_NAME VARCHAR(128) not null,"
447 "COUNT_STAR BIGINT unsigned not null,"
448 "SUM_TIMER_WAIT BIGINT unsigned not null,"
449 "MIN_TIMER_WAIT BIGINT unsigned not null,"
450 "AVG_TIMER_WAIT BIGINT unsigned not null,"
451 "MAX_TIMER_WAIT BIGINT unsigned not null"
452 ")ENGINE=PERFORMANCE_SCHEMA;";
453
454SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
455PREPARE stmt FROM @str;
456EXECUTE stmt;
457DROP PREPARE stmt;
458
459--
460-- TABLE EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
461--
462
463SET @cmd="CREATE TABLE performance_schema.events_waits_summary_by_thread_by_event_name("
464 "THREAD_ID BIGINT unsigned not null,"
465 "EVENT_NAME VARCHAR(128) not null,"
466 "COUNT_STAR BIGINT unsigned not null,"
467 "SUM_TIMER_WAIT BIGINT unsigned not null,"
468 "MIN_TIMER_WAIT BIGINT unsigned not null,"
469 "AVG_TIMER_WAIT BIGINT unsigned not null,"
470 "MAX_TIMER_WAIT BIGINT unsigned not null"
471 ")ENGINE=PERFORMANCE_SCHEMA;";
472
473SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
474PREPARE stmt FROM @str;
475EXECUTE stmt;
476DROP PREPARE stmt;
477
478--
479-- TABLE EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
480--
481
482SET @cmd="CREATE TABLE performance_schema.events_waits_summary_global_by_event_name("
483 "EVENT_NAME VARCHAR(128) not null,"
484 "COUNT_STAR BIGINT unsigned not null,"
485 "SUM_TIMER_WAIT BIGINT unsigned not null,"
486 "MIN_TIMER_WAIT BIGINT unsigned not null,"
487 "AVG_TIMER_WAIT BIGINT unsigned not null,"
488 "MAX_TIMER_WAIT BIGINT unsigned not null"
489 ")ENGINE=PERFORMANCE_SCHEMA;";
490
491SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
492PREPARE stmt FROM @str;
493EXECUTE stmt;
494DROP PREPARE stmt;
495
496--
497-- TABLE FILE_INSTANCES
498--
499
500SET @cmd="CREATE TABLE performance_schema.file_instances("
501 "FILE_NAME VARCHAR(512) not null,"
502 "EVENT_NAME VARCHAR(128) not null,"
503 "OPEN_COUNT INTEGER unsigned not null"
504 ")ENGINE=PERFORMANCE_SCHEMA;";
505
506SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
507PREPARE stmt FROM @str;
508EXECUTE stmt;
509DROP PREPARE stmt;
510
511--
512-- TABLE FILE_SUMMARY_BY_EVENT_NAME
513--
514
515SET @cmd="CREATE TABLE performance_schema.file_summary_by_event_name("
516 "EVENT_NAME VARCHAR(128) not null,"
517 "COUNT_STAR BIGINT unsigned not null,"
518 "SUM_TIMER_WAIT BIGINT unsigned not null,"
519 "MIN_TIMER_WAIT BIGINT unsigned not null,"
520 "AVG_TIMER_WAIT BIGINT unsigned not null,"
521 "MAX_TIMER_WAIT BIGINT unsigned not null,"
522 "COUNT_READ BIGINT unsigned not null,"
523 "SUM_TIMER_READ BIGINT unsigned not null,"
524 "MIN_TIMER_READ BIGINT unsigned not null,"
525 "AVG_TIMER_READ BIGINT unsigned not null,"
526 "MAX_TIMER_READ BIGINT unsigned not null,"
527 "SUM_NUMBER_OF_BYTES_READ BIGINT not null,"
528 "COUNT_WRITE BIGINT unsigned not null,"
529 "SUM_TIMER_WRITE BIGINT unsigned not null,"
530 "MIN_TIMER_WRITE BIGINT unsigned not null,"
531 "AVG_TIMER_WRITE BIGINT unsigned not null,"
532 "MAX_TIMER_WRITE BIGINT unsigned not null,"
533 "SUM_NUMBER_OF_BYTES_WRITE BIGINT not null,"
534 "COUNT_MISC BIGINT unsigned not null,"
535 "SUM_TIMER_MISC BIGINT unsigned not null,"
536 "MIN_TIMER_MISC BIGINT unsigned not null,"
537 "AVG_TIMER_MISC BIGINT unsigned not null,"
538 "MAX_TIMER_MISC BIGINT unsigned not null"
539 ")ENGINE=PERFORMANCE_SCHEMA;";
540
541SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
542PREPARE stmt FROM @str;
543EXECUTE stmt;
544DROP PREPARE stmt;
545
546--
547-- TABLE FILE_SUMMARY_BY_INSTANCE
548--
549
550SET @cmd="CREATE TABLE performance_schema.file_summary_by_instance("
551 "FILE_NAME VARCHAR(512) not null,"
552 "EVENT_NAME VARCHAR(128) not null,"
553 "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null,"
554 "COUNT_STAR BIGINT unsigned not null,"
555 "SUM_TIMER_WAIT BIGINT unsigned not null,"
556 "MIN_TIMER_WAIT BIGINT unsigned not null,"
557 "AVG_TIMER_WAIT BIGINT unsigned not null,"
558 "MAX_TIMER_WAIT BIGINT unsigned not null,"
559 "COUNT_READ BIGINT unsigned not null,"
560 "SUM_TIMER_READ BIGINT unsigned not null,"
561 "MIN_TIMER_READ BIGINT unsigned not null,"
562 "AVG_TIMER_READ BIGINT unsigned not null,"
563 "MAX_TIMER_READ BIGINT unsigned not null,"
564 "SUM_NUMBER_OF_BYTES_READ BIGINT not null,"
565 "COUNT_WRITE BIGINT unsigned not null,"
566 "SUM_TIMER_WRITE BIGINT unsigned not null,"
567 "MIN_TIMER_WRITE BIGINT unsigned not null,"
568 "AVG_TIMER_WRITE BIGINT unsigned not null,"
569 "MAX_TIMER_WRITE BIGINT unsigned not null,"
570 "SUM_NUMBER_OF_BYTES_WRITE BIGINT not null,"
571 "COUNT_MISC BIGINT unsigned not null,"
572 "SUM_TIMER_MISC BIGINT unsigned not null,"
573 "MIN_TIMER_MISC BIGINT unsigned not null,"
574 "AVG_TIMER_MISC BIGINT unsigned not null,"
575 "MAX_TIMER_MISC BIGINT unsigned not null"
576 ")ENGINE=PERFORMANCE_SCHEMA;";
577
578SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
579PREPARE stmt FROM @str;
580EXECUTE stmt;
581DROP PREPARE stmt;
582
583
584--
585-- TABLE SOCKET_INSTANCES
586--
587
588SET @cmd="CREATE TABLE performance_schema.socket_instances("
589 "EVENT_NAME VARCHAR(128) not null,"
590 "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null,"
591 "THREAD_ID BIGINT unsigned,"
592 "SOCKET_ID INTEGER not null,"
593 "IP VARCHAR(64) not null,"
594 "PORT INTEGER not null,"
595 "STATE ENUM('IDLE','ACTIVE') not null"
596 ")ENGINE=PERFORMANCE_SCHEMA;";
597
598SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
599PREPARE stmt FROM @str;
600EXECUTE stmt;
601DROP PREPARE stmt;
602
603--
604-- TABLE SOCKET_SUMMARY_BY_INSTANCE
605--
606
607SET @cmd="CREATE TABLE performance_schema.socket_summary_by_instance("
608 "EVENT_NAME VARCHAR(128) not null,"
609 "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null,"
610 "COUNT_STAR BIGINT unsigned not null,"
611 "SUM_TIMER_WAIT BIGINT unsigned not null,"
612 "MIN_TIMER_WAIT BIGINT unsigned not null,"
613 "AVG_TIMER_WAIT BIGINT unsigned not null,"
614 "MAX_TIMER_WAIT BIGINT unsigned not null,"
615 "COUNT_READ BIGINT unsigned not null,"
616 "SUM_TIMER_READ BIGINT unsigned not null,"
617 "MIN_TIMER_READ BIGINT unsigned not null,"
618 "AVG_TIMER_READ BIGINT unsigned not null,"
619 "MAX_TIMER_READ BIGINT unsigned not null,"
620 "SUM_NUMBER_OF_BYTES_READ BIGINT unsigned not null,"
621 "COUNT_WRITE BIGINT unsigned not null,"
622 "SUM_TIMER_WRITE BIGINT unsigned not null,"
623 "MIN_TIMER_WRITE BIGINT unsigned not null,"
624 "AVG_TIMER_WRITE BIGINT unsigned not null,"
625 "MAX_TIMER_WRITE BIGINT unsigned not null,"
626 "SUM_NUMBER_OF_BYTES_WRITE BIGINT unsigned not null,"
627 "COUNT_MISC BIGINT unsigned not null,"
628 "SUM_TIMER_MISC BIGINT unsigned not null,"
629 "MIN_TIMER_MISC BIGINT unsigned not null,"
630 "AVG_TIMER_MISC BIGINT unsigned not null,"
631 "MAX_TIMER_MISC BIGINT unsigned not null"
632 ")ENGINE=PERFORMANCE_SCHEMA;";
633
634SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
635PREPARE stmt FROM @str;
636EXECUTE stmt;
637DROP PREPARE stmt;
638
639--
640-- TABLE SOCKET_SUMMARY_BY_INSTANCE
641--
642
643SET @cmd="CREATE TABLE performance_schema.socket_summary_by_event_name("
644 "EVENT_NAME VARCHAR(128) not null,"
645 "COUNT_STAR BIGINT unsigned not null,"
646 "SUM_TIMER_WAIT BIGINT unsigned not null,"
647 "MIN_TIMER_WAIT BIGINT unsigned not null,"
648 "AVG_TIMER_WAIT BIGINT unsigned not null,"
649 "MAX_TIMER_WAIT BIGINT unsigned not null,"
650 "COUNT_READ BIGINT unsigned not null,"
651 "SUM_TIMER_READ BIGINT unsigned not null,"
652 "MIN_TIMER_READ BIGINT unsigned not null,"
653 "AVG_TIMER_READ BIGINT unsigned not null,"
654 "MAX_TIMER_READ BIGINT unsigned not null,"
655 "SUM_NUMBER_OF_BYTES_READ BIGINT unsigned not null,"
656 "COUNT_WRITE BIGINT unsigned not null,"
657 "SUM_TIMER_WRITE BIGINT unsigned not null,"
658 "MIN_TIMER_WRITE BIGINT unsigned not null,"
659 "AVG_TIMER_WRITE BIGINT unsigned not null,"
660 "MAX_TIMER_WRITE BIGINT unsigned not null,"
661 "SUM_NUMBER_OF_BYTES_WRITE BIGINT unsigned not null,"
662 "COUNT_MISC BIGINT unsigned not null,"
663 "SUM_TIMER_MISC BIGINT unsigned not null,"
664 "MIN_TIMER_MISC BIGINT unsigned not null,"
665 "AVG_TIMER_MISC BIGINT unsigned not null,"
666 "MAX_TIMER_MISC BIGINT unsigned not null"
667 ")ENGINE=PERFORMANCE_SCHEMA;";
668
669SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
670PREPARE stmt FROM @str;
671EXECUTE stmt;
672DROP PREPARE stmt;
673
674--
675-- TABLE HOST_CACHE
676--
677
678SET @cmd="CREATE TABLE performance_schema.host_cache("
679 "IP VARCHAR(64) not null,"
680 "HOST VARCHAR(255) collate utf8_bin,"
681 "HOST_VALIDATED ENUM ('YES', 'NO') not null,"
682 "SUM_CONNECT_ERRORS BIGINT not null,"
683 "COUNT_HOST_BLOCKED_ERRORS BIGINT not null,"
684 "COUNT_NAMEINFO_TRANSIENT_ERRORS BIGINT not null,"
685 "COUNT_NAMEINFO_PERMANENT_ERRORS BIGINT not null,"
686 "COUNT_FORMAT_ERRORS BIGINT not null,"
687 "COUNT_ADDRINFO_TRANSIENT_ERRORS BIGINT not null,"
688 "COUNT_ADDRINFO_PERMANENT_ERRORS BIGINT not null,"
689 "COUNT_FCRDNS_ERRORS BIGINT not null,"
690 "COUNT_HOST_ACL_ERRORS BIGINT not null,"
691 "COUNT_NO_AUTH_PLUGIN_ERRORS BIGINT not null,"
692 "COUNT_AUTH_PLUGIN_ERRORS BIGINT not null,"
693 "COUNT_HANDSHAKE_ERRORS BIGINT not null,"
694 "COUNT_PROXY_USER_ERRORS BIGINT not null,"
695 "COUNT_PROXY_USER_ACL_ERRORS BIGINT not null,"
696 "COUNT_AUTHENTICATION_ERRORS BIGINT not null,"
697 "COUNT_SSL_ERRORS BIGINT not null,"
698 "COUNT_MAX_USER_CONNECTIONS_ERRORS BIGINT not null,"
699 "COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS BIGINT not null,"
700 "COUNT_DEFAULT_DATABASE_ERRORS BIGINT not null,"
701 "COUNT_INIT_CONNECT_ERRORS BIGINT not null,"
702 "COUNT_LOCAL_ERRORS BIGINT not null,"
703 "COUNT_UNKNOWN_ERRORS BIGINT not null,"
704 "FIRST_SEEN TIMESTAMP(0) NOT NULL default 0,"
705 "LAST_SEEN TIMESTAMP(0) NOT NULL default 0,"
706 "FIRST_ERROR_SEEN TIMESTAMP(0) null default 0,"
707 "LAST_ERROR_SEEN TIMESTAMP(0) null default 0"
708 ")ENGINE=PERFORMANCE_SCHEMA;";
709
710SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
711PREPARE stmt FROM @str;
712EXECUTE stmt;
713DROP PREPARE stmt;
714
715--
716-- TABLE MUTEX_INSTANCES
717--
718
719SET @cmd="CREATE TABLE performance_schema.mutex_instances("
720 "NAME VARCHAR(128) not null,"
721 "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null,"
722 "LOCKED_BY_THREAD_ID BIGINT unsigned"
723 ")ENGINE=PERFORMANCE_SCHEMA;";
724
725SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
726PREPARE stmt FROM @str;
727EXECUTE stmt;
728DROP PREPARE stmt;
729
730--
731-- TABLE OBJECTS_SUMMARY_GLOBAL_BY_TYPE
732--
733
734SET @cmd="CREATE TABLE performance_schema.objects_summary_global_by_type("
735 "OBJECT_TYPE VARCHAR(64),"
736 "OBJECT_SCHEMA VARCHAR(64),"
737 "OBJECT_NAME VARCHAR(64),"
738 "COUNT_STAR BIGINT unsigned not null,"
739 "SUM_TIMER_WAIT BIGINT unsigned not null,"
740 "MIN_TIMER_WAIT BIGINT unsigned not null,"
741 "AVG_TIMER_WAIT BIGINT unsigned not null,"
742 "MAX_TIMER_WAIT BIGINT unsigned not null"
743 ")ENGINE=PERFORMANCE_SCHEMA;";
744
745SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
746PREPARE stmt FROM @str;
747EXECUTE stmt;
748DROP PREPARE stmt;
749
750--
751-- TABLE PERFORMANCE_TIMERS
752--
753
754SET @cmd="CREATE TABLE performance_schema.performance_timers("
755 "TIMER_NAME ENUM ('CYCLE', 'NANOSECOND', 'MICROSECOND', 'MILLISECOND', 'TICK') not null,"
756 "TIMER_FREQUENCY BIGINT,"
757 "TIMER_RESOLUTION BIGINT,"
758 "TIMER_OVERHEAD BIGINT"
759 ") ENGINE=PERFORMANCE_SCHEMA;";
760
761SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
762PREPARE stmt FROM @str;
763EXECUTE stmt;
764DROP PREPARE stmt;
765
766--
767-- TABLE RWLOCK_INSTANCES
768--
769
770SET @cmd="CREATE TABLE performance_schema.rwlock_instances("
771 "NAME VARCHAR(128) not null,"
772 "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null,"
773 "WRITE_LOCKED_BY_THREAD_ID BIGINT unsigned,"
774 "READ_LOCKED_BY_COUNT INTEGER unsigned not null"
775 ")ENGINE=PERFORMANCE_SCHEMA;";
776
777SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
778PREPARE stmt FROM @str;
779EXECUTE stmt;
780DROP PREPARE stmt;
781
782--
783-- TABLE SETUP_ACTORS
784--
785
786SET @cmd="CREATE TABLE performance_schema.setup_actors("
787 "HOST CHAR(60) collate utf8_bin default '%' not null,"
788 "USER CHAR(16) collate utf8_bin default '%' not null,"
789 "ROLE CHAR(16) collate utf8_bin default '%' not null"
790 ")ENGINE=PERFORMANCE_SCHEMA;";
791
792SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
793PREPARE stmt FROM @str;
794EXECUTE stmt;
795DROP PREPARE stmt;
796
797--
798-- TABLE SETUP_CONSUMERS
799--
800
801SET @cmd="CREATE TABLE performance_schema.setup_consumers("
802 "NAME VARCHAR(64) not null,"
803 "ENABLED ENUM ('YES', 'NO') not null"
804 ")ENGINE=PERFORMANCE_SCHEMA;";
805
806SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
807PREPARE stmt FROM @str;
808EXECUTE stmt;
809DROP PREPARE stmt;
810
811--
812-- TABLE SETUP_INSTRUMENTS
813--
814
815SET @cmd="CREATE TABLE performance_schema.setup_instruments("
816 "NAME VARCHAR(128) not null,"
817 "ENABLED ENUM ('YES', 'NO') not null,"
818 "TIMED ENUM ('YES', 'NO') not null"
819 ")ENGINE=PERFORMANCE_SCHEMA;";
820
821SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
822PREPARE stmt FROM @str;
823EXECUTE stmt;
824DROP PREPARE stmt;
825
826--
827-- TABLE SETUP_OBJECTS
828--
829
830SET @cmd="CREATE TABLE performance_schema.setup_objects("
831 "OBJECT_TYPE ENUM ('TABLE') not null default 'TABLE',"
832 "OBJECT_SCHEMA VARCHAR(64) default '%',"
833 "OBJECT_NAME VARCHAR(64) not null default '%',"
834 "ENABLED ENUM ('YES', 'NO') not null default 'YES',"
835 "TIMED ENUM ('YES', 'NO') not null default 'YES'"
836 ")ENGINE=PERFORMANCE_SCHEMA;";
837
838SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
839PREPARE stmt FROM @str;
840EXECUTE stmt;
841DROP PREPARE stmt;
842
843--
844-- TABLE SETUP_TIMERS
845--
846
847SET @cmd="CREATE TABLE performance_schema.setup_timers("
848 "NAME VARCHAR(64) not null,"
849 "TIMER_NAME ENUM ('CYCLE', 'NANOSECOND', 'MICROSECOND', 'MILLISECOND', 'TICK') not null"
850 ")ENGINE=PERFORMANCE_SCHEMA;";
851
852SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
853PREPARE stmt FROM @str;
854EXECUTE stmt;
855DROP PREPARE stmt;
856
857--
858-- TABLE TABLE_IO_WAITS_SUMMARY_BY_INDEX_USAGE
859--
860
861SET @cmd="CREATE TABLE performance_schema.table_io_waits_summary_by_index_usage("
862 "OBJECT_TYPE VARCHAR(64),"
863 "OBJECT_SCHEMA VARCHAR(64),"
864 "OBJECT_NAME VARCHAR(64),"
865 "INDEX_NAME VARCHAR(64),"
866 "COUNT_STAR BIGINT unsigned not null,"
867 "SUM_TIMER_WAIT BIGINT unsigned not null,"
868 "MIN_TIMER_WAIT BIGINT unsigned not null,"
869 "AVG_TIMER_WAIT BIGINT unsigned not null,"
870 "MAX_TIMER_WAIT BIGINT unsigned not null,"
871 "COUNT_READ BIGINT unsigned not null,"
872 "SUM_TIMER_READ BIGINT unsigned not null,"
873 "MIN_TIMER_READ BIGINT unsigned not null,"
874 "AVG_TIMER_READ BIGINT unsigned not null,"
875 "MAX_TIMER_READ BIGINT unsigned not null,"
876 "COUNT_WRITE BIGINT unsigned not null,"
877 "SUM_TIMER_WRITE BIGINT unsigned not null,"
878 "MIN_TIMER_WRITE BIGINT unsigned not null,"
879 "AVG_TIMER_WRITE BIGINT unsigned not null,"
880 "MAX_TIMER_WRITE BIGINT unsigned not null,"
881 "COUNT_FETCH BIGINT unsigned not null,"
882 "SUM_TIMER_FETCH BIGINT unsigned not null,"
883 "MIN_TIMER_FETCH BIGINT unsigned not null,"
884 "AVG_TIMER_FETCH BIGINT unsigned not null,"
885 "MAX_TIMER_FETCH BIGINT unsigned not null,"
886 "COUNT_INSERT BIGINT unsigned not null,"
887 "SUM_TIMER_INSERT BIGINT unsigned not null,"
888 "MIN_TIMER_INSERT BIGINT unsigned not null,"
889 "AVG_TIMER_INSERT BIGINT unsigned not null,"
890 "MAX_TIMER_INSERT BIGINT unsigned not null,"
891 "COUNT_UPDATE BIGINT unsigned not null,"
892 "SUM_TIMER_UPDATE BIGINT unsigned not null,"
893 "MIN_TIMER_UPDATE BIGINT unsigned not null,"
894 "AVG_TIMER_UPDATE BIGINT unsigned not null,"
895 "MAX_TIMER_UPDATE BIGINT unsigned not null,"
896 "COUNT_DELETE BIGINT unsigned not null,"
897 "SUM_TIMER_DELETE BIGINT unsigned not null,"
898 "MIN_TIMER_DELETE BIGINT unsigned not null,"
899 "AVG_TIMER_DELETE BIGINT unsigned not null,"
900 "MAX_TIMER_DELETE BIGINT unsigned not null"
901 ")ENGINE=PERFORMANCE_SCHEMA;";
902
903SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
904PREPARE stmt FROM @str;
905EXECUTE stmt;
906DROP PREPARE stmt;
907
908--
909-- TABLE TABLE_IO_WAITS_SUMMARY_BY_TABLE
910--
911
912SET @cmd="CREATE TABLE performance_schema.table_io_waits_summary_by_table("
913 "OBJECT_TYPE VARCHAR(64),"
914 "OBJECT_SCHEMA VARCHAR(64),"
915 "OBJECT_NAME VARCHAR(64),"
916 "COUNT_STAR BIGINT unsigned not null,"
917 "SUM_TIMER_WAIT BIGINT unsigned not null,"
918 "MIN_TIMER_WAIT BIGINT unsigned not null,"
919 "AVG_TIMER_WAIT BIGINT unsigned not null,"
920 "MAX_TIMER_WAIT BIGINT unsigned not null,"
921 "COUNT_READ BIGINT unsigned not null,"
922 "SUM_TIMER_READ BIGINT unsigned not null,"
923 "MIN_TIMER_READ BIGINT unsigned not null,"
924 "AVG_TIMER_READ BIGINT unsigned not null,"
925 "MAX_TIMER_READ BIGINT unsigned not null,"
926 "COUNT_WRITE BIGINT unsigned not null,"
927 "SUM_TIMER_WRITE BIGINT unsigned not null,"
928 "MIN_TIMER_WRITE BIGINT unsigned not null,"
929 "AVG_TIMER_WRITE BIGINT unsigned not null,"
930 "MAX_TIMER_WRITE BIGINT unsigned not null,"
931 "COUNT_FETCH BIGINT unsigned not null,"
932 "SUM_TIMER_FETCH BIGINT unsigned not null,"
933 "MIN_TIMER_FETCH BIGINT unsigned not null,"
934 "AVG_TIMER_FETCH BIGINT unsigned not null,"
935 "MAX_TIMER_FETCH BIGINT unsigned not null,"
936 "COUNT_INSERT BIGINT unsigned not null,"
937 "SUM_TIMER_INSERT BIGINT unsigned not null,"
938 "MIN_TIMER_INSERT BIGINT unsigned not null,"
939 "AVG_TIMER_INSERT BIGINT unsigned not null,"
940 "MAX_TIMER_INSERT BIGINT unsigned not null,"
941 "COUNT_UPDATE BIGINT unsigned not null,"
942 "SUM_TIMER_UPDATE BIGINT unsigned not null,"
943 "MIN_TIMER_UPDATE BIGINT unsigned not null,"
944 "AVG_TIMER_UPDATE BIGINT unsigned not null,"
945 "MAX_TIMER_UPDATE BIGINT unsigned not null,"
946 "COUNT_DELETE BIGINT unsigned not null,"
947 "SUM_TIMER_DELETE BIGINT unsigned not null,"
948 "MIN_TIMER_DELETE BIGINT unsigned not null,"
949 "AVG_TIMER_DELETE BIGINT unsigned not null,"
950 "MAX_TIMER_DELETE BIGINT unsigned not null"
951 ")ENGINE=PERFORMANCE_SCHEMA;";
952
953SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
954PREPARE stmt FROM @str;
955EXECUTE stmt;
956DROP PREPARE stmt;
957
958--
959-- TABLE TABLE_LOCK_WAITS_SUMMARY_BY_TABLE
960--
961
962SET @cmd="CREATE TABLE performance_schema.table_lock_waits_summary_by_table("
963 "OBJECT_TYPE VARCHAR(64),"
964 "OBJECT_SCHEMA VARCHAR(64),"
965 "OBJECT_NAME VARCHAR(64),"
966 "COUNT_STAR BIGINT unsigned not null,"
967 "SUM_TIMER_WAIT BIGINT unsigned not null,"
968 "MIN_TIMER_WAIT BIGINT unsigned not null,"
969 "AVG_TIMER_WAIT BIGINT unsigned not null,"
970 "MAX_TIMER_WAIT BIGINT unsigned not null,"
971 "COUNT_READ BIGINT unsigned not null,"
972 "SUM_TIMER_READ BIGINT unsigned not null,"
973 "MIN_TIMER_READ BIGINT unsigned not null,"
974 "AVG_TIMER_READ BIGINT unsigned not null,"
975 "MAX_TIMER_READ BIGINT unsigned not null,"
976 "COUNT_WRITE BIGINT unsigned not null,"
977 "SUM_TIMER_WRITE BIGINT unsigned not null,"
978 "MIN_TIMER_WRITE BIGINT unsigned not null,"
979 "AVG_TIMER_WRITE BIGINT unsigned not null,"
980 "MAX_TIMER_WRITE BIGINT unsigned not null,"
981 "COUNT_READ_NORMAL BIGINT unsigned not null,"
982 "SUM_TIMER_READ_NORMAL BIGINT unsigned not null,"
983 "MIN_TIMER_READ_NORMAL BIGINT unsigned not null,"
984 "AVG_TIMER_READ_NORMAL BIGINT unsigned not null,"
985 "MAX_TIMER_READ_NORMAL BIGINT unsigned not null,"
986 "COUNT_READ_WITH_SHARED_LOCKS BIGINT unsigned not null,"
987 "SUM_TIMER_READ_WITH_SHARED_LOCKS BIGINT unsigned not null,"
988 "MIN_TIMER_READ_WITH_SHARED_LOCKS BIGINT unsigned not null,"
989 "AVG_TIMER_READ_WITH_SHARED_LOCKS BIGINT unsigned not null,"
990 "MAX_TIMER_READ_WITH_SHARED_LOCKS BIGINT unsigned not null,"
991 "COUNT_READ_HIGH_PRIORITY BIGINT unsigned not null,"
992 "SUM_TIMER_READ_HIGH_PRIORITY BIGINT unsigned not null,"
993 "MIN_TIMER_READ_HIGH_PRIORITY BIGINT unsigned not null,"
994 "AVG_TIMER_READ_HIGH_PRIORITY BIGINT unsigned not null,"
995 "MAX_TIMER_READ_HIGH_PRIORITY BIGINT unsigned not null,"
996 "COUNT_READ_NO_INSERT BIGINT unsigned not null,"
997 "SUM_TIMER_READ_NO_INSERT BIGINT unsigned not null,"
998 "MIN_TIMER_READ_NO_INSERT BIGINT unsigned not null,"
999 "AVG_TIMER_READ_NO_INSERT BIGINT unsigned not null,"
1000 "MAX_TIMER_READ_NO_INSERT BIGINT unsigned not null,"
1001 "COUNT_READ_EXTERNAL BIGINT unsigned not null,"
1002 "SUM_TIMER_READ_EXTERNAL BIGINT unsigned not null,"
1003 "MIN_TIMER_READ_EXTERNAL BIGINT unsigned not null,"
1004 "AVG_TIMER_READ_EXTERNAL BIGINT unsigned not null,"
1005 "MAX_TIMER_READ_EXTERNAL BIGINT unsigned not null,"
1006 "COUNT_WRITE_ALLOW_WRITE BIGINT unsigned not null,"
1007 "SUM_TIMER_WRITE_ALLOW_WRITE BIGINT unsigned not null,"
1008 "MIN_TIMER_WRITE_ALLOW_WRITE BIGINT unsigned not null,"
1009 "AVG_TIMER_WRITE_ALLOW_WRITE BIGINT unsigned not null,"
1010 "MAX_TIMER_WRITE_ALLOW_WRITE BIGINT unsigned not null,"
1011 "COUNT_WRITE_CONCURRENT_INSERT BIGINT unsigned not null,"
1012 "SUM_TIMER_WRITE_CONCURRENT_INSERT BIGINT unsigned not null,"
1013 "MIN_TIMER_WRITE_CONCURRENT_INSERT BIGINT unsigned not null,"
1014 "AVG_TIMER_WRITE_CONCURRENT_INSERT BIGINT unsigned not null,"
1015 "MAX_TIMER_WRITE_CONCURRENT_INSERT BIGINT unsigned not null,"
1016 "COUNT_WRITE_DELAYED BIGINT unsigned not null,"
1017 "SUM_TIMER_WRITE_DELAYED BIGINT unsigned not null,"
1018 "MIN_TIMER_WRITE_DELAYED BIGINT unsigned not null,"
1019 "AVG_TIMER_WRITE_DELAYED BIGINT unsigned not null,"
1020 "MAX_TIMER_WRITE_DELAYED BIGINT unsigned not null,"
1021 "COUNT_WRITE_LOW_PRIORITY BIGINT unsigned not null,"
1022 "SUM_TIMER_WRITE_LOW_PRIORITY BIGINT unsigned not null,"
1023 "MIN_TIMER_WRITE_LOW_PRIORITY BIGINT unsigned not null,"
1024 "AVG_TIMER_WRITE_LOW_PRIORITY BIGINT unsigned not null,"
1025 "MAX_TIMER_WRITE_LOW_PRIORITY BIGINT unsigned not null,"
1026 "COUNT_WRITE_NORMAL BIGINT unsigned not null,"
1027 "SUM_TIMER_WRITE_NORMAL BIGINT unsigned not null,"
1028 "MIN_TIMER_WRITE_NORMAL BIGINT unsigned not null,"
1029 "AVG_TIMER_WRITE_NORMAL BIGINT unsigned not null,"
1030 "MAX_TIMER_WRITE_NORMAL BIGINT unsigned not null,"
1031 "COUNT_WRITE_EXTERNAL BIGINT unsigned not null,"
1032 "SUM_TIMER_WRITE_EXTERNAL BIGINT unsigned not null,"
1033 "MIN_TIMER_WRITE_EXTERNAL BIGINT unsigned not null,"
1034 "AVG_TIMER_WRITE_EXTERNAL BIGINT unsigned not null,"
1035 "MAX_TIMER_WRITE_EXTERNAL BIGINT unsigned not null"
1036 ")ENGINE=PERFORMANCE_SCHEMA;";
1037
1038SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1039PREPARE stmt FROM @str;
1040EXECUTE stmt;
1041DROP PREPARE stmt;
1042
1043--
1044-- TABLE THREADS
1045--
1046
1047SET @cmd="CREATE TABLE performance_schema.threads("
1048 "THREAD_ID BIGINT unsigned not null,"
1049 "NAME VARCHAR(128) not null,"
1050 "TYPE VARCHAR(10) not null,"
1051 "PROCESSLIST_ID BIGINT unsigned,"
1052 "PROCESSLIST_USER VARCHAR(16),"
1053 "PROCESSLIST_HOST VARCHAR(60),"
1054 "PROCESSLIST_DB VARCHAR(64),"
1055 "PROCESSLIST_COMMAND VARCHAR(16),"
1056 "PROCESSLIST_TIME BIGINT,"
1057 "PROCESSLIST_STATE VARCHAR(64),"
1058 "PROCESSLIST_INFO LONGTEXT,"
1059 "PARENT_THREAD_ID BIGINT unsigned,"
1060 "ROLE VARCHAR(64),"
1061 "INSTRUMENTED ENUM ('YES', 'NO') not null"
1062 ")ENGINE=PERFORMANCE_SCHEMA;";
1063
1064SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1065PREPARE stmt FROM @str;
1066EXECUTE stmt;
1067DROP PREPARE stmt;
1068
1069--
1070-- TABLE EVENTS_STAGES_CURRENT
1071--
1072
1073SET @cmd="CREATE TABLE performance_schema.events_stages_current("
1074 "THREAD_ID BIGINT unsigned not null,"
1075 "EVENT_ID BIGINT unsigned not null,"
1076 "END_EVENT_ID BIGINT unsigned,"
1077 "EVENT_NAME VARCHAR(128) not null,"
1078 "SOURCE VARCHAR(64),"
1079 "TIMER_START BIGINT unsigned,"
1080 "TIMER_END BIGINT unsigned,"
1081 "TIMER_WAIT BIGINT unsigned,"
1082 "NESTING_EVENT_ID BIGINT unsigned,"
1083 "NESTING_EVENT_TYPE ENUM('STATEMENT', 'STAGE', 'WAIT')"
1084 ")ENGINE=PERFORMANCE_SCHEMA;";
1085
1086SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1087PREPARE stmt FROM @str;
1088EXECUTE stmt;
1089DROP PREPARE stmt;
1090
1091--
1092-- TABLE EVENTS_STAGES_HISTORY
1093--
1094
1095SET @cmd="CREATE TABLE performance_schema.events_stages_history("
1096 "THREAD_ID BIGINT unsigned not null,"
1097 "EVENT_ID BIGINT unsigned not null,"
1098 "END_EVENT_ID BIGINT unsigned,"
1099 "EVENT_NAME VARCHAR(128) not null,"
1100 "SOURCE VARCHAR(64),"
1101 "TIMER_START BIGINT unsigned,"
1102 "TIMER_END BIGINT unsigned,"
1103 "TIMER_WAIT BIGINT unsigned,"
1104 "NESTING_EVENT_ID BIGINT unsigned,"
1105 "NESTING_EVENT_TYPE ENUM('STATEMENT', 'STAGE', 'WAIT')"
1106 ")ENGINE=PERFORMANCE_SCHEMA;";
1107
1108SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1109PREPARE stmt FROM @str;
1110EXECUTE stmt;
1111DROP PREPARE stmt;
1112
1113--
1114-- TABLE EVENTS_STAGES_HISTORY_LONG
1115--
1116
1117SET @cmd="CREATE TABLE performance_schema.events_stages_history_long("
1118 "THREAD_ID BIGINT unsigned not null,"
1119 "EVENT_ID BIGINT unsigned not null,"
1120 "END_EVENT_ID BIGINT unsigned,"
1121 "EVENT_NAME VARCHAR(128) not null,"
1122 "SOURCE VARCHAR(64),"
1123 "TIMER_START BIGINT unsigned,"
1124 "TIMER_END BIGINT unsigned,"
1125 "TIMER_WAIT BIGINT unsigned,"
1126 "NESTING_EVENT_ID BIGINT unsigned,"
1127 "NESTING_EVENT_TYPE ENUM('STATEMENT', 'STAGE', 'WAIT')"
1128 ")ENGINE=PERFORMANCE_SCHEMA;";
1129
1130SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1131PREPARE stmt FROM @str;
1132EXECUTE stmt;
1133DROP PREPARE stmt;
1134
1135--
1136-- TABLE EVENTS_STAGES_SUMMARY_BY_THREAD_BY_EVENT_NAME
1137--
1138
1139SET @cmd="CREATE TABLE performance_schema.events_stages_summary_by_thread_by_event_name("
1140 "THREAD_ID BIGINT unsigned not null,"
1141 "EVENT_NAME VARCHAR(128) not null,"
1142 "COUNT_STAR BIGINT unsigned not null,"
1143 "SUM_TIMER_WAIT BIGINT unsigned not null,"
1144 "MIN_TIMER_WAIT BIGINT unsigned not null,"
1145 "AVG_TIMER_WAIT BIGINT unsigned not null,"
1146 "MAX_TIMER_WAIT BIGINT unsigned not null"
1147 ")ENGINE=PERFORMANCE_SCHEMA;";
1148
1149SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1150PREPARE stmt FROM @str;
1151EXECUTE stmt;
1152DROP PREPARE stmt;
1153
1154--
1155-- TABLE EVENTS_STAGES_SUMMARY_BY_HOST_BY_EVENT_NAME
1156--
1157
1158SET @cmd="CREATE TABLE performance_schema.events_stages_summary_by_host_by_event_name("
1159 "HOST CHAR(60) collate utf8_bin default null,"
1160 "EVENT_NAME VARCHAR(128) not null,"
1161 "COUNT_STAR BIGINT unsigned not null,"
1162 "SUM_TIMER_WAIT BIGINT unsigned not null,"
1163 "MIN_TIMER_WAIT BIGINT unsigned not null,"
1164 "AVG_TIMER_WAIT BIGINT unsigned not null,"
1165 "MAX_TIMER_WAIT BIGINT unsigned not null"
1166 ")ENGINE=PERFORMANCE_SCHEMA;";
1167
1168SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1169PREPARE stmt FROM @str;
1170EXECUTE stmt;
1171DROP PREPARE stmt;
1172
1173--
1174-- TABLE EVENTS_STAGES_SUMMARY_BY_USER_BY_EVENT_NAME
1175--
1176
1177SET @cmd="CREATE TABLE performance_schema.events_stages_summary_by_user_by_event_name("
1178 "USER CHAR(16) collate utf8_bin default null,"
1179 "EVENT_NAME VARCHAR(128) not null,"
1180 "COUNT_STAR BIGINT unsigned not null,"
1181 "SUM_TIMER_WAIT BIGINT unsigned not null,"
1182 "MIN_TIMER_WAIT BIGINT unsigned not null,"
1183 "AVG_TIMER_WAIT BIGINT unsigned not null,"
1184 "MAX_TIMER_WAIT BIGINT unsigned not null"
1185 ")ENGINE=PERFORMANCE_SCHEMA;";
1186
1187SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1188PREPARE stmt FROM @str;
1189EXECUTE stmt;
1190DROP PREPARE stmt;
1191
1192--
1193-- TABLE EVENTS_STAGES_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME
1194--
1195
1196SET @cmd="CREATE TABLE performance_schema.events_stages_summary_by_account_by_event_name("
1197 "USER CHAR(16) collate utf8_bin default null,"
1198 "HOST CHAR(60) collate utf8_bin default null,"
1199 "EVENT_NAME VARCHAR(128) not null,"
1200 "COUNT_STAR BIGINT unsigned not null,"
1201 "SUM_TIMER_WAIT BIGINT unsigned not null,"
1202 "MIN_TIMER_WAIT BIGINT unsigned not null,"
1203 "AVG_TIMER_WAIT BIGINT unsigned not null,"
1204 "MAX_TIMER_WAIT BIGINT unsigned not null"
1205 ")ENGINE=PERFORMANCE_SCHEMA;";
1206
1207SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1208PREPARE stmt FROM @str;
1209EXECUTE stmt;
1210DROP PREPARE stmt;
1211
1212--
1213-- TABLE EVENTS_STAGES_SUMMARY_GLOBAL_BY_EVENT_NAME
1214--
1215
1216SET @cmd="CREATE TABLE performance_schema.events_stages_summary_global_by_event_name("
1217 "EVENT_NAME VARCHAR(128) not null,"
1218 "COUNT_STAR BIGINT unsigned not null,"
1219 "SUM_TIMER_WAIT BIGINT unsigned not null,"
1220 "MIN_TIMER_WAIT BIGINT unsigned not null,"
1221 "AVG_TIMER_WAIT BIGINT unsigned not null,"
1222 "MAX_TIMER_WAIT BIGINT unsigned not null"
1223 ")ENGINE=PERFORMANCE_SCHEMA;";
1224
1225SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1226PREPARE stmt FROM @str;
1227EXECUTE stmt;
1228DROP PREPARE stmt;
1229
1230--
1231-- TABLE EVENTS_STATEMENTS_CURRENT
1232--
1233
1234SET @cmd="CREATE TABLE performance_schema.events_statements_current("
1235 "THREAD_ID BIGINT unsigned not null,"
1236 "EVENT_ID BIGINT unsigned not null,"
1237 "END_EVENT_ID BIGINT unsigned,"
1238 "EVENT_NAME VARCHAR(128) not null,"
1239 "SOURCE VARCHAR(64),"
1240 "TIMER_START BIGINT unsigned,"
1241 "TIMER_END BIGINT unsigned,"
1242 "TIMER_WAIT BIGINT unsigned,"
1243 "LOCK_TIME bigint unsigned not null,"
1244 "SQL_TEXT LONGTEXT,"
1245 "DIGEST VARCHAR(32),"
1246 "DIGEST_TEXT LONGTEXT,"
1247 "CURRENT_SCHEMA VARCHAR(64),"
1248 "OBJECT_TYPE VARCHAR(64),"
1249 "OBJECT_SCHEMA VARCHAR(64),"
1250 "OBJECT_NAME VARCHAR(64),"
1251 "OBJECT_INSTANCE_BEGIN BIGINT unsigned,"
1252 "MYSQL_ERRNO INTEGER,"
1253 "RETURNED_SQLSTATE VARCHAR(5),"
1254 "MESSAGE_TEXT VARCHAR(128),"
1255 "ERRORS BIGINT unsigned not null,"
1256 "WARNINGS BIGINT unsigned not null,"
1257 "ROWS_AFFECTED BIGINT unsigned not null,"
1258 "ROWS_SENT BIGINT unsigned not null,"
1259 "ROWS_EXAMINED BIGINT unsigned not null,"
1260 "CREATED_TMP_DISK_TABLES BIGINT unsigned not null,"
1261 "CREATED_TMP_TABLES BIGINT unsigned not null,"
1262 "SELECT_FULL_JOIN BIGINT unsigned not null,"
1263 "SELECT_FULL_RANGE_JOIN BIGINT unsigned not null,"
1264 "SELECT_RANGE BIGINT unsigned not null,"
1265 "SELECT_RANGE_CHECK BIGINT unsigned not null,"
1266 "SELECT_SCAN BIGINT unsigned not null,"
1267 "SORT_MERGE_PASSES BIGINT unsigned not null,"
1268 "SORT_RANGE BIGINT unsigned not null,"
1269 "SORT_ROWS BIGINT unsigned not null,"
1270 "SORT_SCAN BIGINT unsigned not null,"
1271 "NO_INDEX_USED BIGINT unsigned not null,"
1272 "NO_GOOD_INDEX_USED BIGINT unsigned not null,"
1273 "NESTING_EVENT_ID BIGINT unsigned,"
1274 "NESTING_EVENT_TYPE ENUM('STATEMENT', 'STAGE', 'WAIT')"
1275 ")ENGINE=PERFORMANCE_SCHEMA;";
1276
1277SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1278PREPARE stmt FROM @str;
1279EXECUTE stmt;
1280DROP PREPARE stmt;
1281
1282--
1283-- TABLE EVENTS_STATEMENTS_HISTORY
1284--
1285
1286SET @cmd="CREATE TABLE performance_schema.events_statements_history("
1287 "THREAD_ID BIGINT unsigned not null,"
1288 "EVENT_ID BIGINT unsigned not null,"
1289 "END_EVENT_ID BIGINT unsigned,"
1290 "EVENT_NAME VARCHAR(128) not null,"
1291 "SOURCE VARCHAR(64),"
1292 "TIMER_START BIGINT unsigned,"
1293 "TIMER_END BIGINT unsigned,"
1294 "TIMER_WAIT BIGINT unsigned,"
1295 "LOCK_TIME bigint unsigned not null,"
1296 "SQL_TEXT LONGTEXT,"
1297 "DIGEST VARCHAR(32),"
1298 "DIGEST_TEXT LONGTEXT,"
1299 "CURRENT_SCHEMA VARCHAR(64),"
1300 "OBJECT_TYPE VARCHAR(64),"
1301 "OBJECT_SCHEMA VARCHAR(64),"
1302 "OBJECT_NAME VARCHAR(64),"
1303 "OBJECT_INSTANCE_BEGIN BIGINT unsigned,"
1304 "MYSQL_ERRNO INTEGER,"
1305 "RETURNED_SQLSTATE VARCHAR(5),"
1306 "MESSAGE_TEXT VARCHAR(128),"
1307 "ERRORS BIGINT unsigned not null,"
1308 "WARNINGS BIGINT unsigned not null,"
1309 "ROWS_AFFECTED BIGINT unsigned not null,"
1310 "ROWS_SENT BIGINT unsigned not null,"
1311 "ROWS_EXAMINED BIGINT unsigned not null,"
1312 "CREATED_TMP_DISK_TABLES BIGINT unsigned not null,"
1313 "CREATED_TMP_TABLES BIGINT unsigned not null,"
1314 "SELECT_FULL_JOIN BIGINT unsigned not null,"
1315 "SELECT_FULL_RANGE_JOIN BIGINT unsigned not null,"
1316 "SELECT_RANGE BIGINT unsigned not null,"
1317 "SELECT_RANGE_CHECK BIGINT unsigned not null,"
1318 "SELECT_SCAN BIGINT unsigned not null,"
1319 "SORT_MERGE_PASSES BIGINT unsigned not null,"
1320 "SORT_RANGE BIGINT unsigned not null,"
1321 "SORT_ROWS BIGINT unsigned not null,"
1322 "SORT_SCAN BIGINT unsigned not null,"
1323 "NO_INDEX_USED BIGINT unsigned not null,"
1324 "NO_GOOD_INDEX_USED BIGINT unsigned not null,"
1325 "NESTING_EVENT_ID BIGINT unsigned,"
1326 "NESTING_EVENT_TYPE ENUM('STATEMENT', 'STAGE', 'WAIT')"
1327 ")ENGINE=PERFORMANCE_SCHEMA;";
1328
1329SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1330PREPARE stmt FROM @str;
1331EXECUTE stmt;
1332DROP PREPARE stmt;
1333
1334--
1335-- TABLE EVENTS_STATEMENTS_HISTORY_LONG
1336--
1337
1338SET @cmd="CREATE TABLE performance_schema.events_statements_history_long("
1339 "THREAD_ID BIGINT unsigned not null,"
1340 "EVENT_ID BIGINT unsigned not null,"
1341 "END_EVENT_ID BIGINT unsigned,"
1342 "EVENT_NAME VARCHAR(128) not null,"
1343 "SOURCE VARCHAR(64),"
1344 "TIMER_START BIGINT unsigned,"
1345 "TIMER_END BIGINT unsigned,"
1346 "TIMER_WAIT BIGINT unsigned,"
1347 "LOCK_TIME bigint unsigned not null,"
1348 "SQL_TEXT LONGTEXT,"
1349 "DIGEST VARCHAR(32),"
1350 "DIGEST_TEXT LONGTEXT,"
1351 "CURRENT_SCHEMA VARCHAR(64),"
1352 "OBJECT_TYPE VARCHAR(64),"
1353 "OBJECT_SCHEMA VARCHAR(64),"
1354 "OBJECT_NAME VARCHAR(64),"
1355 "OBJECT_INSTANCE_BEGIN BIGINT unsigned,"
1356 "MYSQL_ERRNO INTEGER,"
1357 "RETURNED_SQLSTATE VARCHAR(5),"
1358 "MESSAGE_TEXT VARCHAR(128),"
1359 "ERRORS BIGINT unsigned not null,"
1360 "WARNINGS BIGINT unsigned not null,"
1361 "ROWS_AFFECTED BIGINT unsigned not null,"
1362 "ROWS_SENT BIGINT unsigned not null,"
1363 "ROWS_EXAMINED BIGINT unsigned not null,"
1364 "CREATED_TMP_DISK_TABLES BIGINT unsigned not null,"
1365 "CREATED_TMP_TABLES BIGINT unsigned not null,"
1366 "SELECT_FULL_JOIN BIGINT unsigned not null,"
1367 "SELECT_FULL_RANGE_JOIN BIGINT unsigned not null,"
1368 "SELECT_RANGE BIGINT unsigned not null,"
1369 "SELECT_RANGE_CHECK BIGINT unsigned not null,"
1370 "SELECT_SCAN BIGINT unsigned not null,"
1371 "SORT_MERGE_PASSES BIGINT unsigned not null,"
1372 "SORT_RANGE BIGINT unsigned not null,"
1373 "SORT_ROWS BIGINT unsigned not null,"
1374 "SORT_SCAN BIGINT unsigned not null,"
1375 "NO_INDEX_USED BIGINT unsigned not null,"
1376 "NO_GOOD_INDEX_USED BIGINT unsigned not null,"
1377 "NESTING_EVENT_ID BIGINT unsigned,"
1378 "NESTING_EVENT_TYPE ENUM('STATEMENT', 'STAGE', 'WAIT')"
1379 ")ENGINE=PERFORMANCE_SCHEMA;";
1380
1381SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1382PREPARE stmt FROM @str;
1383EXECUTE stmt;
1384DROP PREPARE stmt;
1385
1386--
1387-- TABLE EVENTS_STATEMENTS_SUMMARY_BY_THREAD_BY_EVENT_NAME
1388--
1389
1390SET @cmd="CREATE TABLE performance_schema.events_statements_summary_by_thread_by_event_name("
1391 "THREAD_ID BIGINT unsigned not null,"
1392 "EVENT_NAME VARCHAR(128) not null,"
1393 "COUNT_STAR BIGINT unsigned not null,"
1394 "SUM_TIMER_WAIT BIGINT unsigned not null,"
1395 "MIN_TIMER_WAIT BIGINT unsigned not null,"
1396 "AVG_TIMER_WAIT BIGINT unsigned not null,"
1397 "MAX_TIMER_WAIT BIGINT unsigned not null,"
1398 "SUM_LOCK_TIME BIGINT unsigned not null,"
1399 "SUM_ERRORS BIGINT unsigned not null,"
1400 "SUM_WARNINGS BIGINT unsigned not null,"
1401 "SUM_ROWS_AFFECTED BIGINT unsigned not null,"
1402 "SUM_ROWS_SENT BIGINT unsigned not null,"
1403 "SUM_ROWS_EXAMINED BIGINT unsigned not null,"
1404 "SUM_CREATED_TMP_DISK_TABLES BIGINT unsigned not null,"
1405 "SUM_CREATED_TMP_TABLES BIGINT unsigned not null,"
1406 "SUM_SELECT_FULL_JOIN BIGINT unsigned not null,"
1407 "SUM_SELECT_FULL_RANGE_JOIN BIGINT unsigned not null,"
1408 "SUM_SELECT_RANGE BIGINT unsigned not null,"
1409 "SUM_SELECT_RANGE_CHECK BIGINT unsigned not null,"
1410 "SUM_SELECT_SCAN BIGINT unsigned not null,"
1411 "SUM_SORT_MERGE_PASSES BIGINT unsigned not null,"
1412 "SUM_SORT_RANGE BIGINT unsigned not null,"
1413 "SUM_SORT_ROWS BIGINT unsigned not null,"
1414 "SUM_SORT_SCAN BIGINT unsigned not null,"
1415 "SUM_NO_INDEX_USED BIGINT unsigned not null,"
1416 "SUM_NO_GOOD_INDEX_USED BIGINT unsigned not null"
1417 ")ENGINE=PERFORMANCE_SCHEMA;";
1418
1419SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1420PREPARE stmt FROM @str;
1421EXECUTE stmt;
1422DROP PREPARE stmt;
1423
1424--
1425-- TABLE EVENTS_STATEMENTS_SUMMARY_BY_HOST_BY_EVENT_NAME
1426--
1427
1428SET @cmd="CREATE TABLE performance_schema.events_statements_summary_by_host_by_event_name("
1429 "HOST CHAR(60) collate utf8_bin default null,"
1430 "EVENT_NAME VARCHAR(128) not null,"
1431 "COUNT_STAR BIGINT unsigned not null,"
1432 "SUM_TIMER_WAIT BIGINT unsigned not null,"
1433 "MIN_TIMER_WAIT BIGINT unsigned not null,"
1434 "AVG_TIMER_WAIT BIGINT unsigned not null,"
1435 "MAX_TIMER_WAIT BIGINT unsigned not null,"
1436 "SUM_LOCK_TIME BIGINT unsigned not null,"
1437 "SUM_ERRORS BIGINT unsigned not null,"
1438 "SUM_WARNINGS BIGINT unsigned not null,"
1439 "SUM_ROWS_AFFECTED BIGINT unsigned not null,"
1440 "SUM_ROWS_SENT BIGINT unsigned not null,"
1441 "SUM_ROWS_EXAMINED BIGINT unsigned not null,"
1442 "SUM_CREATED_TMP_DISK_TABLES BIGINT unsigned not null,"
1443 "SUM_CREATED_TMP_TABLES BIGINT unsigned not null,"
1444 "SUM_SELECT_FULL_JOIN BIGINT unsigned not null,"
1445 "SUM_SELECT_FULL_RANGE_JOIN BIGINT unsigned not null,"
1446 "SUM_SELECT_RANGE BIGINT unsigned not null,"
1447 "SUM_SELECT_RANGE_CHECK BIGINT unsigned not null,"
1448 "SUM_SELECT_SCAN BIGINT unsigned not null,"
1449 "SUM_SORT_MERGE_PASSES BIGINT unsigned not null,"
1450 "SUM_SORT_RANGE BIGINT unsigned not null,"
1451 "SUM_SORT_ROWS BIGINT unsigned not null,"
1452 "SUM_SORT_SCAN BIGINT unsigned not null,"
1453 "SUM_NO_INDEX_USED BIGINT unsigned not null,"
1454 "SUM_NO_GOOD_INDEX_USED BIGINT unsigned not null"
1455 ")ENGINE=PERFORMANCE_SCHEMA;";
1456
1457SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1458PREPARE stmt FROM @str;
1459EXECUTE stmt;
1460DROP PREPARE stmt;
1461
1462--
1463-- TABLE EVENTS_STATEMENTS_SUMMARY_BY_USER_BY_EVENT_NAME
1464--
1465
1466SET @cmd="CREATE TABLE performance_schema.events_statements_summary_by_user_by_event_name("
1467 "USER CHAR(16) collate utf8_bin default null,"
1468 "EVENT_NAME VARCHAR(128) not null,"
1469 "COUNT_STAR BIGINT unsigned not null,"
1470 "SUM_TIMER_WAIT BIGINT unsigned not null,"
1471 "MIN_TIMER_WAIT BIGINT unsigned not null,"
1472 "AVG_TIMER_WAIT BIGINT unsigned not null,"
1473 "MAX_TIMER_WAIT BIGINT unsigned not null,"
1474 "SUM_LOCK_TIME BIGINT unsigned not null,"
1475 "SUM_ERRORS BIGINT unsigned not null,"
1476 "SUM_WARNINGS BIGINT unsigned not null,"
1477 "SUM_ROWS_AFFECTED BIGINT unsigned not null,"
1478 "SUM_ROWS_SENT BIGINT unsigned not null,"
1479 "SUM_ROWS_EXAMINED BIGINT unsigned not null,"
1480 "SUM_CREATED_TMP_DISK_TABLES BIGINT unsigned not null,"
1481 "SUM_CREATED_TMP_TABLES BIGINT unsigned not null,"
1482 "SUM_SELECT_FULL_JOIN BIGINT unsigned not null,"
1483 "SUM_SELECT_FULL_RANGE_JOIN BIGINT unsigned not null,"
1484 "SUM_SELECT_RANGE BIGINT unsigned not null,"
1485 "SUM_SELECT_RANGE_CHECK BIGINT unsigned not null,"
1486 "SUM_SELECT_SCAN BIGINT unsigned not null,"
1487 "SUM_SORT_MERGE_PASSES BIGINT unsigned not null,"
1488 "SUM_SORT_RANGE BIGINT unsigned not null,"
1489 "SUM_SORT_ROWS BIGINT unsigned not null,"
1490 "SUM_SORT_SCAN BIGINT unsigned not null,"
1491 "SUM_NO_INDEX_USED BIGINT unsigned not null,"
1492 "SUM_NO_GOOD_INDEX_USED BIGINT unsigned not null"
1493 ")ENGINE=PERFORMANCE_SCHEMA;";
1494
1495SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1496PREPARE stmt FROM @str;
1497EXECUTE stmt;
1498DROP PREPARE stmt;
1499
1500--
1501-- TABLE EVENTS_STATEMENTS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME
1502--
1503
1504SET @cmd="CREATE TABLE performance_schema.events_statements_summary_by_account_by_event_name("
1505 "USER CHAR(16) collate utf8_bin default null,"
1506 "HOST CHAR(60) collate utf8_bin default null,"
1507 "EVENT_NAME VARCHAR(128) not null,"
1508 "COUNT_STAR BIGINT unsigned not null,"
1509 "SUM_TIMER_WAIT BIGINT unsigned not null,"
1510 "MIN_TIMER_WAIT BIGINT unsigned not null,"
1511 "AVG_TIMER_WAIT BIGINT unsigned not null,"
1512 "MAX_TIMER_WAIT BIGINT unsigned not null,"
1513 "SUM_LOCK_TIME BIGINT unsigned not null,"
1514 "SUM_ERRORS BIGINT unsigned not null,"
1515 "SUM_WARNINGS BIGINT unsigned not null,"
1516 "SUM_ROWS_AFFECTED BIGINT unsigned not null,"
1517 "SUM_ROWS_SENT BIGINT unsigned not null,"
1518 "SUM_ROWS_EXAMINED BIGINT unsigned not null,"
1519 "SUM_CREATED_TMP_DISK_TABLES BIGINT unsigned not null,"
1520 "SUM_CREATED_TMP_TABLES BIGINT unsigned not null,"
1521 "SUM_SELECT_FULL_JOIN BIGINT unsigned not null,"
1522 "SUM_SELECT_FULL_RANGE_JOIN BIGINT unsigned not null,"
1523 "SUM_SELECT_RANGE BIGINT unsigned not null,"
1524 "SUM_SELECT_RANGE_CHECK BIGINT unsigned not null,"
1525 "SUM_SELECT_SCAN BIGINT unsigned not null,"
1526 "SUM_SORT_MERGE_PASSES BIGINT unsigned not null,"
1527 "SUM_SORT_RANGE BIGINT unsigned not null,"
1528 "SUM_SORT_ROWS BIGINT unsigned not null,"
1529 "SUM_SORT_SCAN BIGINT unsigned not null,"
1530 "SUM_NO_INDEX_USED BIGINT unsigned not null,"
1531 "SUM_NO_GOOD_INDEX_USED BIGINT unsigned not null"
1532 ")ENGINE=PERFORMANCE_SCHEMA;";
1533
1534SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1535PREPARE stmt FROM @str;
1536EXECUTE stmt;
1537DROP PREPARE stmt;
1538
1539--
1540-- TABLE EVENTS_STATEMENTS_SUMMARY_GLOBAL_BY_EVENT_NAME
1541--
1542
1543SET @cmd="CREATE TABLE performance_schema.events_statements_summary_global_by_event_name("
1544 "EVENT_NAME VARCHAR(128) not null,"
1545 "COUNT_STAR BIGINT unsigned not null,"
1546 "SUM_TIMER_WAIT BIGINT unsigned not null,"
1547 "MIN_TIMER_WAIT BIGINT unsigned not null,"
1548 "AVG_TIMER_WAIT BIGINT unsigned not null,"
1549 "MAX_TIMER_WAIT BIGINT unsigned not null,"
1550 "SUM_LOCK_TIME BIGINT unsigned not null,"
1551 "SUM_ERRORS BIGINT unsigned not null,"
1552 "SUM_WARNINGS BIGINT unsigned not null,"
1553 "SUM_ROWS_AFFECTED BIGINT unsigned not null,"
1554 "SUM_ROWS_SENT BIGINT unsigned not null,"
1555 "SUM_ROWS_EXAMINED BIGINT unsigned not null,"
1556 "SUM_CREATED_TMP_DISK_TABLES BIGINT unsigned not null,"
1557 "SUM_CREATED_TMP_TABLES BIGINT unsigned not null,"
1558 "SUM_SELECT_FULL_JOIN BIGINT unsigned not null,"
1559 "SUM_SELECT_FULL_RANGE_JOIN BIGINT unsigned not null,"
1560 "SUM_SELECT_RANGE BIGINT unsigned not null,"
1561 "SUM_SELECT_RANGE_CHECK BIGINT unsigned not null,"
1562 "SUM_SELECT_SCAN BIGINT unsigned not null,"
1563 "SUM_SORT_MERGE_PASSES BIGINT unsigned not null,"
1564 "SUM_SORT_RANGE BIGINT unsigned not null,"
1565 "SUM_SORT_ROWS BIGINT unsigned not null,"
1566 "SUM_SORT_SCAN BIGINT unsigned not null,"
1567 "SUM_NO_INDEX_USED BIGINT unsigned not null,"
1568 "SUM_NO_GOOD_INDEX_USED BIGINT unsigned not null"
1569 ")ENGINE=PERFORMANCE_SCHEMA;";
1570
1571SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1572PREPARE stmt FROM @str;
1573EXECUTE stmt;
1574DROP PREPARE stmt;
1575
1576--
1577-- TABLE HOSTS
1578--
1579
1580SET @cmd="CREATE TABLE performance_schema.hosts("
1581 "HOST CHAR(60) collate utf8_bin default null,"
1582 "CURRENT_CONNECTIONS bigint not null,"
1583 "TOTAL_CONNECTIONS bigint not null"
1584 ")ENGINE=PERFORMANCE_SCHEMA;";
1585
1586SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1587PREPARE stmt FROM @str;
1588EXECUTE stmt;
1589DROP PREPARE stmt;
1590
1591--
1592-- TABLE USERS
1593--
1594
1595SET @cmd="CREATE TABLE performance_schema.users("
1596 "USER CHAR(16) collate utf8_bin default null,"
1597 "CURRENT_CONNECTIONS bigint not null,"
1598 "TOTAL_CONNECTIONS bigint not null"
1599 ")ENGINE=PERFORMANCE_SCHEMA;";
1600
1601SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1602PREPARE stmt FROM @str;
1603EXECUTE stmt;
1604DROP PREPARE stmt;
1605
1606--
1607-- TABLE ACCOUNTS
1608--
1609
1610SET @cmd="CREATE TABLE performance_schema.accounts("
1611 "USER CHAR(16) collate utf8_bin default null,"
1612 "HOST CHAR(60) collate utf8_bin default null,"
1613 "CURRENT_CONNECTIONS bigint not null,"
1614 "TOTAL_CONNECTIONS bigint not null"
1615 ")ENGINE=PERFORMANCE_SCHEMA;";
1616
1617SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1618PREPARE stmt FROM @str;
1619EXECUTE stmt;
1620DROP PREPARE stmt;
1621
1622--
1623-- TABLE EVENTS_STATEMENTS_SUMMARY_BY_DIGEST
1624--
1625
1626SET @cmd="CREATE TABLE performance_schema.events_statements_summary_by_digest("
1627 "SCHEMA_NAME VARCHAR(64),"
1628 "DIGEST VARCHAR(32),"
1629 "DIGEST_TEXT LONGTEXT,"
1630 "COUNT_STAR BIGINT unsigned not null,"
1631 "SUM_TIMER_WAIT BIGINT unsigned not null,"
1632 "MIN_TIMER_WAIT BIGINT unsigned not null,"
1633 "AVG_TIMER_WAIT BIGINT unsigned not null,"
1634 "MAX_TIMER_WAIT BIGINT unsigned not null,"
1635 "SUM_LOCK_TIME BIGINT unsigned not null,"
1636 "SUM_ERRORS BIGINT unsigned not null,"
1637 "SUM_WARNINGS BIGINT unsigned not null,"
1638 "SUM_ROWS_AFFECTED BIGINT unsigned not null,"
1639 "SUM_ROWS_SENT BIGINT unsigned not null,"
1640 "SUM_ROWS_EXAMINED BIGINT unsigned not null,"
1641 "SUM_CREATED_TMP_DISK_TABLES BIGINT unsigned not null,"
1642 "SUM_CREATED_TMP_TABLES BIGINT unsigned not null,"
1643 "SUM_SELECT_FULL_JOIN BIGINT unsigned not null,"
1644 "SUM_SELECT_FULL_RANGE_JOIN BIGINT unsigned not null,"
1645 "SUM_SELECT_RANGE BIGINT unsigned not null,"
1646 "SUM_SELECT_RANGE_CHECK BIGINT unsigned not null,"
1647 "SUM_SELECT_SCAN BIGINT unsigned not null,"
1648 "SUM_SORT_MERGE_PASSES BIGINT unsigned not null,"
1649 "SUM_SORT_RANGE BIGINT unsigned not null,"
1650 "SUM_SORT_ROWS BIGINT unsigned not null,"
1651 "SUM_SORT_SCAN BIGINT unsigned not null,"
1652 "SUM_NO_INDEX_USED BIGINT unsigned not null,"
1653 "SUM_NO_GOOD_INDEX_USED BIGINT unsigned not null,"
1654 "FIRST_SEEN TIMESTAMP(0) NOT NULL default 0,"
1655 "LAST_SEEN TIMESTAMP(0) NOT NULL default 0"
1656 ")ENGINE=PERFORMANCE_SCHEMA;";
1657
1658
1659SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1660PREPARE stmt FROM @str;
1661EXECUTE stmt;
1662DROP PREPARE stmt;
1663
1664--
1665-- TABLE SESSION_CONNECT_ATTRS
1666--
1667
1668SET @cmd="CREATE TABLE performance_schema.session_connect_attrs("
1669 "PROCESSLIST_ID INT NOT NULL,"
1670 "ATTR_NAME VARCHAR(32) NOT NULL,"
1671 "ATTR_VALUE VARCHAR(1024),"
1672 "ORDINAL_POSITION INT"
1673 ")ENGINE=PERFORMANCE_SCHEMA CHARACTER SET utf8 COLLATE utf8_bin;";
1674
1675SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1676PREPARE stmt FROM @str;
1677EXECUTE stmt;
1678DROP PREPARE stmt;
1679
1680--
1681-- TABLE SESSION_ACCOUNT_CONNECT_ATTRS
1682--
1683
1684SET @cmd="CREATE TABLE performance_schema.session_account_connect_attrs "
1685 " LIKE performance_schema.session_connect_attrs;";
1686
1687SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0');
1688PREPARE stmt FROM @str;
1689EXECUTE stmt;
1690DROP PREPARE stmt;
1691
1692CREATE TABLE IF NOT EXISTS proxies_priv (Host char(60) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Proxied_host char(60) binary DEFAULT '' NOT NULL, Proxied_user char(16) binary DEFAULT '' NOT NULL, With_grant BOOL DEFAULT 0 NOT NULL, Grantor char(77) DEFAULT '' NOT NULL, Timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY Host (Host,User,Proxied_host,Proxied_user), KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='User proxy privileges';
1693
1694-- Remember for later if proxies_priv table already existed
1695set @had_proxies_priv_table= @@warning_count != 0;
1696
1697#
1698# SQL commands for creating the tables in MySQL Server which
1699# are used by the NDBINFO storage engine to access system
1700# information and statistics from MySQL Cluster
1701#
1702# Only create objects if NDBINFO is supported
1703SELECT @have_ndbinfo:= COUNT(*) FROM information_schema.engines WHERE engine='NDBINFO' AND support IN ('YES', 'DEFAULT');
1704
1705# Only create objects if version >= 7.1
1706SET @str=IF(@have_ndbinfo,'SELECT @have_ndbinfo:= (@@ndbinfo_version >= (7 << 16) | (1 << 8)) || @ndbinfo_skip_version_check','SET @dummy = 0');
1707PREPARE stmt FROM @str;
1708EXECUTE stmt;
1709DROP PREPARE stmt;
1710
1711# Only create objects if ndbinfo namespace is free
1712SET @str=IF(@have_ndbinfo,'SET @@ndbinfo_show_hidden=TRUE','SET @dummy = 0');
1713PREPARE stmt FROM @str;
1714EXECUTE stmt;
1715DROP PREPARE stmt;
1716
1717SET @str=IF(@have_ndbinfo,'SELECT @have_ndbinfo:= COUNT(*) = 0 FROM information_schema.tables WHERE table_schema = @@ndbinfo_database AND LEFT(table_name, LENGTH(@@ndbinfo_table_prefix)) = @@ndbinfo_table_prefix AND engine != "ndbinfo"','SET @dummy = 0');
1718PREPARE stmt FROM @str;
1719EXECUTE stmt;
1720DROP PREPARE stmt;
1721
1722SET @str=IF(@have_ndbinfo,'SET @@ndbinfo_show_hidden=default','SET @dummy = 0');
1723PREPARE stmt FROM @str;
1724EXECUTE stmt;
1725DROP PREPARE stmt;
1726
1727SET @str=IF(@have_ndbinfo,'CREATE DATABASE IF NOT EXISTS `ndbinfo`','SET @dummy = 0');
1728PREPARE stmt FROM @str;
1729EXECUTE stmt;
1730DROP PREPARE stmt;
1731
1732# Set NDBINFO in offline mode during (re)create of tables
1733# and views to avoid errors caused by no such table or
1734# different table definition in NDB
1735SET @str=IF(@have_ndbinfo,'SET @@global.ndbinfo_offline=TRUE','SET @dummy = 0');
1736PREPARE stmt FROM @str;
1737EXECUTE stmt;
1738DROP PREPARE stmt;
1739
1740# Drop any old views in ndbinfo
1741SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS ndbinfo.transporters','SET @dummy = 0');
1742PREPARE stmt FROM @str;
1743EXECUTE stmt;
1744DROP PREPARE stmt;
1745
1746SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS ndbinfo.logspaces','SET @dummy = 0');
1747PREPARE stmt FROM @str;
1748EXECUTE stmt;
1749DROP PREPARE stmt;
1750
1751SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS ndbinfo.logbuffers','SET @dummy = 0');
1752PREPARE stmt FROM @str;
1753EXECUTE stmt;
1754DROP PREPARE stmt;
1755
1756SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS ndbinfo.resources','SET @dummy = 0');
1757PREPARE stmt FROM @str;
1758EXECUTE stmt;
1759DROP PREPARE stmt;
1760
1761SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS ndbinfo.counters','SET @dummy = 0');
1762PREPARE stmt FROM @str;
1763EXECUTE stmt;
1764DROP PREPARE stmt;
1765
1766SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS ndbinfo.nodes','SET @dummy = 0');
1767PREPARE stmt FROM @str;
1768EXECUTE stmt;
1769DROP PREPARE stmt;
1770
1771SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS ndbinfo.memoryusage','SET @dummy = 0');
1772PREPARE stmt FROM @str;
1773EXECUTE stmt;
1774DROP PREPARE stmt;
1775
1776SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS ndbinfo.diskpagebuffer','SET @dummy = 0');
1777PREPARE stmt FROM @str;
1778EXECUTE stmt;
1779DROP PREPARE stmt;
1780
1781# Drop any old lookup tables in ndbinfo
1782SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS ndbinfo.blocks','SET @dummy = 0');
1783PREPARE stmt FROM @str;
1784EXECUTE stmt;
1785DROP PREPARE stmt;
1786
1787SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS ndbinfo.config_params','SET @dummy = 0');
1788PREPARE stmt FROM @str;
1789EXECUTE stmt;
1790DROP PREPARE stmt;
1791
1792# ndbinfo.ndb$tables
1793SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$tables`','SET @dummy = 0');
1794PREPARE stmt FROM @str;
1795EXECUTE stmt;
1796DROP PREPARE stmt;
1797
1798SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$tables` (`table_id` INT UNSIGNED,`table_name` VARCHAR(512),`comment` VARCHAR(512)) COMMENT="metadata for tables available through ndbinfo" ENGINE=NDBINFO','SET @dummy = 0');
1799PREPARE stmt FROM @str;
1800EXECUTE stmt;
1801DROP PREPARE stmt;
1802
1803# ndbinfo.ndb$columns
1804SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$columns`','SET @dummy = 0');
1805PREPARE stmt FROM @str;
1806EXECUTE stmt;
1807DROP PREPARE stmt;
1808
1809SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$columns` (`table_id` INT UNSIGNED,`column_id` INT UNSIGNED,`column_name` VARCHAR(512),`column_type` INT UNSIGNED,`comment` VARCHAR(512)) COMMENT="metadata for columns available through ndbinfo " ENGINE=NDBINFO','SET @dummy = 0');
1810PREPARE stmt FROM @str;
1811EXECUTE stmt;
1812DROP PREPARE stmt;
1813
1814# ndbinfo.ndb$test
1815SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$test`','SET @dummy = 0');
1816PREPARE stmt FROM @str;
1817EXECUTE stmt;
1818DROP PREPARE stmt;
1819
1820SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$test` (`node_id` INT UNSIGNED,`block_number` INT UNSIGNED,`block_instance` INT UNSIGNED,`counter` INT UNSIGNED,`counter2` BIGINT UNSIGNED) COMMENT="for testing" ENGINE=NDBINFO','SET @dummy = 0');
1821PREPARE stmt FROM @str;
1822EXECUTE stmt;
1823DROP PREPARE stmt;
1824
1825# ndbinfo.ndb$pools
1826SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$pools`','SET @dummy = 0');
1827PREPARE stmt FROM @str;
1828EXECUTE stmt;
1829DROP PREPARE stmt;
1830
1831SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$pools` (`node_id` INT UNSIGNED,`block_number` INT UNSIGNED,`block_instance` INT UNSIGNED,`pool_name` VARCHAR(512),`used` BIGINT UNSIGNED COMMENT "currently in use",`total` BIGINT UNSIGNED COMMENT "total allocated",`high` BIGINT UNSIGNED COMMENT "in use high water mark",`entry_size` BIGINT UNSIGNED COMMENT "size in bytes of each object",`config_param1` INT UNSIGNED COMMENT "config param 1 affecting pool",`config_param2` INT UNSIGNED COMMENT "config param 2 affecting pool",`config_param3` INT UNSIGNED COMMENT "config param 3 affecting pool",`config_param4` INT UNSIGNED COMMENT "config param 4 affecting pool") COMMENT="pool usage" ENGINE=NDBINFO','SET @dummy = 0');
1832PREPARE stmt FROM @str;
1833EXECUTE stmt;
1834DROP PREPARE stmt;
1835
1836# ndbinfo.ndb$transporters
1837SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$transporters`','SET @dummy = 0');
1838PREPARE stmt FROM @str;
1839EXECUTE stmt;
1840DROP PREPARE stmt;
1841
1842SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$transporters` (`node_id` INT UNSIGNED,`remote_node_id` INT UNSIGNED,`connection_status` INT UNSIGNED) COMMENT="transporter status" ENGINE=NDBINFO','SET @dummy = 0');
1843PREPARE stmt FROM @str;
1844EXECUTE stmt;
1845DROP PREPARE stmt;
1846
1847# ndbinfo.ndb$logspaces
1848SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$logspaces`','SET @dummy = 0');
1849PREPARE stmt FROM @str;
1850EXECUTE stmt;
1851DROP PREPARE stmt;
1852
1853SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$logspaces` (`node_id` INT UNSIGNED,`log_type` INT UNSIGNED COMMENT "0 = REDO, 1 = DD-UNDO",`log_id` INT UNSIGNED,`log_part` INT UNSIGNED,`total` BIGINT UNSIGNED COMMENT "total allocated",`used` BIGINT UNSIGNED COMMENT "currently in use",`high` BIGINT UNSIGNED COMMENT "in use high water mark") COMMENT="logspace usage" ENGINE=NDBINFO','SET @dummy = 0');
1854PREPARE stmt FROM @str;
1855EXECUTE stmt;
1856DROP PREPARE stmt;
1857
1858# ndbinfo.ndb$logbuffers
1859SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$logbuffers`','SET @dummy = 0');
1860PREPARE stmt FROM @str;
1861EXECUTE stmt;
1862DROP PREPARE stmt;
1863
1864SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$logbuffers` (`node_id` INT UNSIGNED,`log_type` INT UNSIGNED COMMENT "0 = REDO, 1 = DD-UNDO",`log_id` INT UNSIGNED,`log_part` INT UNSIGNED,`total` BIGINT UNSIGNED COMMENT "total allocated",`used` BIGINT UNSIGNED COMMENT "currently in use",`high` BIGINT UNSIGNED COMMENT "in use high water mark") COMMENT="logbuffer usage" ENGINE=NDBINFO','SET @dummy = 0');
1865PREPARE stmt FROM @str;
1866EXECUTE stmt;
1867DROP PREPARE stmt;
1868
1869# ndbinfo.ndb$resources
1870SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$resources`','SET @dummy = 0');
1871PREPARE stmt FROM @str;
1872EXECUTE stmt;
1873DROP PREPARE stmt;
1874
1875SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$resources` (`node_id` INT UNSIGNED,`resource_id` INT UNSIGNED,`reserved` INT UNSIGNED COMMENT "reserved for this resource",`used` INT UNSIGNED COMMENT "currently in use",`max` INT UNSIGNED COMMENT "max available",`high` INT UNSIGNED COMMENT "in use high water mark") COMMENT="resources usage (a.k.a superpool)" ENGINE=NDBINFO','SET @dummy = 0');
1876PREPARE stmt FROM @str;
1877EXECUTE stmt;
1878DROP PREPARE stmt;
1879
1880# ndbinfo.ndb$counters
1881SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$counters`','SET @dummy = 0');
1882PREPARE stmt FROM @str;
1883EXECUTE stmt;
1884DROP PREPARE stmt;
1885
1886SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$counters` (`node_id` INT UNSIGNED,`block_number` INT UNSIGNED,`block_instance` INT UNSIGNED,`counter_id` INT UNSIGNED,`val` BIGINT UNSIGNED COMMENT "monotonically increasing since process start") COMMENT="monotonic counters" ENGINE=NDBINFO','SET @dummy = 0');
1887PREPARE stmt FROM @str;
1888EXECUTE stmt;
1889DROP PREPARE stmt;
1890
1891# ndbinfo.ndb$nodes
1892SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$nodes`','SET @dummy = 0');
1893PREPARE stmt FROM @str;
1894EXECUTE stmt;
1895DROP PREPARE stmt;
1896
1897SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$nodes` (`node_id` INT UNSIGNED,`uptime` BIGINT UNSIGNED COMMENT "time in seconds that node has been running",`status` INT UNSIGNED COMMENT "starting/started/stopped etc.",`start_phase` INT UNSIGNED COMMENT "start phase if node is starting",`config_generation` INT UNSIGNED COMMENT "configuration generation number") COMMENT="node status" ENGINE=NDBINFO','SET @dummy = 0');
1898PREPARE stmt FROM @str;
1899EXECUTE stmt;
1900DROP PREPARE stmt;
1901
1902# ndbinfo.ndb$diskpagebuffer
1903SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$diskpagebuffer`','SET @dummy = 0');
1904PREPARE stmt FROM @str;
1905EXECUTE stmt;
1906DROP PREPARE stmt;
1907
1908SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$diskpagebuffer` (`node_id` INT UNSIGNED,`block_instance` INT UNSIGNED,`pages_written` BIGINT UNSIGNED COMMENT "Pages written to disk",`pages_written_lcp` BIGINT UNSIGNED COMMENT "Pages written by local checkpoint",`pages_read` BIGINT UNSIGNED COMMENT "Pages read from disk",`log_waits` BIGINT UNSIGNED COMMENT "Page writes waiting for log to be written to disk",`page_requests_direct_return` BIGINT UNSIGNED COMMENT "Page in buffer and no requests waiting for it",`page_requests_wait_queue` BIGINT UNSIGNED COMMENT "Page in buffer, but some requests are already waiting for it",`page_requests_wait_io` BIGINT UNSIGNED COMMENT "Page not in buffer, waiting to be read from disk") COMMENT="disk page buffer info" ENGINE=NDBINFO','SET @dummy = 0');
1909PREPARE stmt FROM @str;
1910EXECUTE stmt;
1911DROP PREPARE stmt;
1912
1913# ndbinfo.blocks
1914SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`blocks` (block_number INT UNSIGNED PRIMARY KEY, block_name VARCHAR(512))','SET @dummy = 0');
1915PREPARE stmt FROM @str;
1916EXECUTE stmt;
1917DROP PREPARE stmt;
1918
1919SET @str=IF(@have_ndbinfo,'INSERT INTO `ndbinfo`.`blocks` VALUES (254, "CMVMI"), (248, "DBACC"), (250, "DBDICT"), (246, "DBDIH"), (247, "DBLQH"), (245, "DBTC"), (249, "DBTUP"), (253, "NDBFS"), (251, "NDBCNTR"), (252, "QMGR"), (255, "TRIX"), (244, "BACKUP"), (256, "DBUTIL"), (257, "SUMA"), (258, "DBTUX"), (259, "TSMAN"), (260, "LGMAN"), (261, "PGMAN"), (262, "RESTORE"), (263, "DBINFO"), (264, "DBSPJ")','SET @dummy = 0');
1920PREPARE stmt FROM @str;
1921EXECUTE stmt;
1922DROP PREPARE stmt;
1923
1924# ndbinfo.config_params
1925SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`config_params` (param_number INT UNSIGNED PRIMARY KEY, param_name VARCHAR(512))','SET @dummy = 0');
1926PREPARE stmt FROM @str;
1927EXECUTE stmt;
1928DROP PREPARE stmt;
1929
1930SET @str=IF(@have_ndbinfo,'INSERT INTO `ndbinfo`.`config_params` VALUES (179, "MaxNoOfSubscriptions"), (180, "MaxNoOfSubscribers"), (181, "MaxNoOfConcurrentSubOperations"), (5, "HostName"), (3, "NodeId"), (101, "NoOfReplicas"), (103, "MaxNoOfAttributes"), (102, "MaxNoOfTables"), (149, "MaxNoOfOrderedIndexes"), (150, "MaxNoOfUniqueHashIndexes"), (110, "MaxNoOfConcurrentIndexOperations"), (105, "MaxNoOfTriggers"), (109, "MaxNoOfFiredTriggers"), (100, "MaxNoOfSavedMessages"), (177, "LockExecuteThreadToCPU"), (178, "LockMaintThreadsToCPU"), (176, "RealtimeScheduler"), (114, "LockPagesInMainMemory"), (123, "TimeBetweenWatchDogCheck"), (174, "SchedulerExecutionTimer"), (175, "SchedulerSpinTimer"), (141, "TimeBetweenWatchDogCheckInitial"), (124, "StopOnError"), (107, "MaxNoOfConcurrentOperations"), (151, "MaxNoOfLocalOperations"), (152, "MaxNoOfLocalScans"), (153, "BatchSizePerLocalScan"), (106, "MaxNoOfConcurrentTransactions"), (108, "MaxNoOfConcurrentScans"), (111, "TransactionBufferMemory"), (113, "IndexMemory"), (112, "DataMemory"), (154, "UndoIndexBuffer"), (155, "UndoDataBuffer"), (156, "RedoBuffer"), (157, "LongMessageBuffer"), (160, "DiskPageBufferMemory"), (198, "SharedGlobalMemory"), (115, "StartPartialTimeout"), (116, "StartPartitionedTimeout"), (117, "StartFailureTimeout"), (118, "HeartbeatIntervalDbDb"), (119, "HeartbeatIntervalDbApi"), (120, "TimeBetweenLocalCheckpoints"), (121, "TimeBetweenGlobalCheckpoints"), (170, "TimeBetweenEpochs"), (171, "TimeBetweenEpochsTimeout"), (182, "MaxBufferedEpochs"), (126, "NoOfFragmentLogFiles"), (140, "FragmentLogFileSize"), (189, "InitFragmentLogFiles"), (190, "DiskIOThreadPool"), (159, "MaxNoOfOpenFiles"), (162, "InitialNoOfOpenFiles"), (129, "TimeBetweenInactiveTransactionAbortCheck"), (130, "TransactionInactiveTimeout"), (131, "TransactionDeadlockDetectionTimeout"), (148, "Diskless"), (122, "ArbitrationTimeout"), (142, "Arbitration"), (7, "DataDir"), (125, "FileSystemPath"), (250, "LogLevelStartup"), (251, "LogLevelShutdown"), (252, "LogLevelStatistic"), (253, "LogLevelCheckpoint"), (254, "LogLevelNodeRestart"), (255, "LogLevelConnection"), (259, "LogLevelCongestion"), (258, "LogLevelError"), (256, "LogLevelInfo"), (158, "BackupDataDir"), (163, "DiskSyncSize"), (164, "DiskCheckpointSpeed"), (165, "DiskCheckpointSpeedInRestart"), (133, "BackupMemory"), (134, "BackupDataBufferSize"), (135, "BackupLogBufferSize"), (136, "BackupWriteSize"), (139, "BackupMaxWriteSize"), (161, "StringMemory"), (169, "MaxAllocate"), (166, "MemReportFrequency"), (167, "BackupReportFrequency"), (184, "StartupStatusReportFrequency"), (168, "ODirect"), (172, "CompressedBackup"), (173, "CompressedLCP"), (9, "TotalSendBufferMemory"), (202, "ReservedSendBufferMemory"), (185, "Nodegroup"), (186, "MaxNoOfExecutionThreads"), (188, "__ndbmt_lqh_workers"), (187, "__ndbmt_lqh_threads"), (191, "__ndbmt_classic"), (193, "FileSystemPathDD"), (194, "FileSystemPathDataFiles"), (195, "FileSystemPathUndoFiles"), (196, "InitialLogfileGroup"), (197, "InitialTablespace"), (605, "MaxLCPStartDelay"), (606, "BuildIndexThreads"), (607, "HeartbeatOrder"), (608, "DictTrace"), (609, "MaxStartFailRetries"), (610, "StartFailRetryDelay")','SET @dummy = 0');
1931PREPARE stmt FROM @str;
1932EXECUTE stmt;
1933DROP PREPARE stmt;
1934
1935# ndbinfo.transporters
1936SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root@localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`transporters` AS SELECT node_id, remote_node_id, CASE connection_status WHEN 0 THEN "CONNECTED" WHEN 1 THEN "CONNECTING" WHEN 2 THEN "DISCONNECTED" WHEN 3 THEN "DISCONNECTING" ELSE NULL END AS status FROM ndbinfo.ndb$transporters','SET @dummy = 0');
1937PREPARE stmt FROM @str;
1938EXECUTE stmt;
1939DROP PREPARE stmt;
1940
1941# ndbinfo.logspaces
1942SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root@localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`logspaces` AS SELECT node_id, CASE log_type WHEN 0 THEN "REDO" WHEN 1 THEN "DD-UNDO" ELSE NULL END AS log_type, log_id, log_part, total, used FROM ndbinfo.ndb$logspaces','SET @dummy = 0');
1943PREPARE stmt FROM @str;
1944EXECUTE stmt;
1945DROP PREPARE stmt;
1946
1947# ndbinfo.logbuffers
1948SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root@localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`logbuffers` AS SELECT node_id, CASE log_type WHEN 0 THEN "REDO" WHEN 1 THEN "DD-UNDO" ELSE "<unknown>" END AS log_type, log_id, log_part, total, used FROM ndbinfo.ndb$logbuffers','SET @dummy = 0');
1949PREPARE stmt FROM @str;
1950EXECUTE stmt;
1951DROP PREPARE stmt;
1952
1953# ndbinfo.resources
1954SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root@localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`resources` AS SELECT node_id, CASE resource_id WHEN 0 THEN "RESERVED" WHEN 1 THEN "DISK_OPERATIONS" WHEN 2 THEN "DISK_RECORDS" WHEN 3 THEN "DATA_MEMORY" WHEN 4 THEN "JOBBUFFER" WHEN 5 THEN "FILE_BUFFERS" WHEN 6 THEN "TRANSPORTER_BUFFERS" ELSE "<unknown>" END AS resource_name, reserved, used, max FROM ndbinfo.ndb$resources','SET @dummy = 0');
1955PREPARE stmt FROM @str;
1956EXECUTE stmt;
1957DROP PREPARE stmt;
1958
1959# ndbinfo.counters
1960SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root@localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`counters` AS SELECT node_id, b.block_name, block_instance, counter_id, CASE counter_id WHEN 1 THEN "ATTRINFO" WHEN 2 THEN "TRANSACTIONS" WHEN 3 THEN "COMMITS" WHEN 4 THEN "READS" WHEN 5 THEN "SIMPLE_READS" WHEN 6 THEN "WRITES" WHEN 7 THEN "ABORTS" WHEN 8 THEN "TABLE_SCANS" WHEN 9 THEN "RANGE_SCANS" WHEN 10 THEN "OPERATIONS" WHEN 11 THEN "READS_RECEIVED" WHEN 12 THEN "LOCAL_READS_SENT" WHEN 13 THEN "REMOTE_READS_SENT" WHEN 14 THEN "READS_NOT_FOUND" WHEN 15 THEN "TABLE_SCANS_RECEIVED" WHEN 16 THEN "LOCAL_TABLE_SCANS_SENT" WHEN 17 THEN "RANGE_SCANS_RECEIVED" WHEN 18 THEN "LOCAL_RANGE_SCANS_SENT" WHEN 19 THEN "REMOTE_RANGE_SCANS_SENT" WHEN 20 THEN "SCAN_BATCHES_RETURNED" WHEN 21 THEN "SCAN_ROWS_RETURNED" WHEN 22 THEN "PRUNED_RANGE_SCANS_RECEIVED" WHEN 23 THEN "CONST_PRUNED_RANGE_SCANS_RECEIVED" ELSE "<unknown>" END AS counter_name, val FROM ndbinfo.ndb$counters c, ndbinfo.blocks b WHERE c.block_number = b.block_number','SET @dummy = 0');
1961PREPARE stmt FROM @str;
1962EXECUTE stmt;
1963DROP PREPARE stmt;
1964
1965# ndbinfo.nodes
1966SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root@localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`nodes` AS SELECT node_id, uptime, CASE status WHEN 0 THEN "NOTHING" WHEN 1 THEN "CMVMI" WHEN 2 THEN "STARTING" WHEN 3 THEN "STARTED" WHEN 4 THEN "SINGLEUSER" WHEN 5 THEN "STOPPING_1" WHEN 6 THEN "STOPPING_2" WHEN 7 THEN "STOPPING_3" WHEN 8 THEN "STOPPING_4" ELSE "<unknown>" END AS status, start_phase, config_generation FROM ndbinfo.ndb$nodes','SET @dummy = 0');
1967PREPARE stmt FROM @str;
1968EXECUTE stmt;
1969DROP PREPARE stmt;
1970
1971# ndbinfo.memoryusage
1972SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root@localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`memoryusage` AS SELECT node_id, pool_name AS memory_type, SUM(used*entry_size) AS used, SUM(used) AS used_pages, SUM(total*entry_size) AS total, SUM(total) AS total_pages FROM ndbinfo.ndb$pools WHERE block_number IN (248, 254) AND (pool_name = "Index memory" OR pool_name = "Data memory") GROUP BY node_id, memory_type','SET @dummy = 0');
1973PREPARE stmt FROM @str;
1974EXECUTE stmt;
1975DROP PREPARE stmt;
1976
1977# ndbinfo.diskpagebuffer
1978SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE SQL SECURITY INVOKER VIEW `ndbinfo`.`diskpagebuffer` AS SELECT node_id, block_instance, pages_written, pages_written_lcp, pages_read, log_waits, page_requests_direct_return, page_requests_wait_queue, page_requests_wait_io FROM ndbinfo.ndb$diskpagebuffer','SET @dummy = 0');
1979PREPARE stmt FROM @str;
1980EXECUTE stmt;
1981DROP PREPARE stmt;
1982
1983
1984# THE FOLLOWING TABLES MUST BE ADDED AS WELL - OTHERWISE MYSQL STILL WON'T FULLY WORK WHEN DOING APT-GET UPGRADES:
1985
1986DROP TABLE IF EXISTS `gtid_executed`;
1987
1988CREATE TABLE `gtid_executed` (
1989 `source_uuid` char(36) COLLATE utf8mb4_swedish_ci NOT NULL COMMENT 'uuid of the source where the transaction was originally executed.',
1990 `interval_start` bigint(20) NOT NULL COMMENT 'First number of interval.',
1991 `interval_end` bigint(20) NOT NULL COMMENT 'Last number of interval.',
1992 PRIMARY KEY (`source_uuid`,`interval_start`)
1993) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_swedish_ci STATS_PERSISTENT=0;
1994
1995DROP TABLE IF EXISTS `server_cost`;
1996
1997CREATE TABLE `server_cost` (
1998 `cost_name` varchar(64) NOT NULL,
1999 `cost_value` float DEFAULT NULL,
2000 `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
2001 `comment` varchar(1024) DEFAULT NULL,
2002 PRIMARY KEY (`cost_name`)
2003) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0;
2004
2005DROP TABLE IF EXISTS `engine_cost`;
2006
2007CREATE TABLE `engine_cost` (
2008 `engine_name` varchar(64) NOT NULL,
2009 `device_type` int(11) NOT NULL,
2010 `cost_name` varchar(64) NOT NULL,
2011 `cost_value` float DEFAULT NULL,
2012 `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
2013 `comment` varchar(1024) DEFAULT NULL,
2014 PRIMARY KEY (`cost_name`,`engine_name`,`device_type`)
2015) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0;
2016
2017# END OF CUSTOMIZATIONS
2018
2019
2020# Finally turn off offline mode
2021SET @str=IF(@have_ndbinfo,'SET @@global.ndbinfo_offline=FALSE','SET @dummy = 0');
2022PREPARE stmt FROM @str;
2023EXECUTE stmt;
2024DROP PREPARE stmt;