2010-03-05 16:31:01 +01:00
-- Copyright (C) 2008, 2010 Oracle and/or its affiliates. All rights reserved.
2010-01-12 02:47:27 +01:00
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; version 2 of the License.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
2010-04-14 18:40:04 +02:00
-- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2010-01-12 02:47:27 +01:00
2007-02-26 11:49:24 +01:00
--
-- The system tables of MySQL Server
--
2007-08-27 13:39:34 +02:00
set sql_mode = ' ' ;
2007-02-26 11:49:24 +01:00
set storage_engine = myisam ;
2007-02-27 11:39:29 +01:00
CREATE 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 ' ;
2007-02-26 11:49:24 +01:00
2007-04-12 17:48:28 +02:00
-- Remember for later if db table already existed
set @ had_db_table = @ @ warning_count ! = 0 ;
2007-02-26 11:49:24 +01:00
2007-02-27 11:39:29 +01:00
CREATE TABLE IF NOT EXISTS host ( Host char ( 60 ) binary DEFAULT ' ' NOT NULL , Db char ( 64 ) 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 , Trigger_priv enum ( ' N ' , ' Y ' ) COLLATE utf8_general_ci DEFAULT ' N ' NOT NULL , PRIMARY KEY Host ( Host , Db ) ) engine = MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment = ' Host privileges; Merged with database privileges ' ;
2007-02-26 11:49:24 +01:00
2010-08-09 10:32:50 +02:00
CREATE 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 ( 60 ) DEFAULT ' ' NOT NULL , authentication_string TEXT NOT NULL , PRIMARY KEY Host ( Host , User ) ) engine = MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment = ' Users and global privileges ' ;
2007-02-26 11:49:24 +01:00
2007-04-12 17:48:28 +02:00
-- Remember for later if user table already existed
set @ had_user_table = @ @ warning_count ! = 0 ;
2007-02-26 11:49:24 +01:00
CREATE 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 ' ;
2009-10-12 20:15:10 +02:00
CREATE 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 ' ;
2007-02-27 11:39:29 +01:00
CREATE 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 ' ;
2009-11-04 13:28:20 +01:00
CREATE 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 , 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 ' ;
2007-02-26 11:49:24 +01:00
2009-11-04 13:28:20 +01:00
CREATE 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 , 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 ' ;
2007-02-26 11:49:24 +01:00
CREATE 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 char ( 128 ) not null , primary key ( help_topic_id ) , unique index ( name ) ) engine = MyISAM CHARACTER SET utf8 comment = ' help topics ' ;
CREATE 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 char ( 128 ) not null , primary key ( help_category_id ) , unique index ( name ) ) engine = MyISAM CHARACTER SET utf8 comment = ' help categories ' ;
CREATE 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 ' ;
CREATE 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 ' ;
CREATE 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 ' ;
CREATE 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 ' ;
CREATE 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 ' ;
CREATE 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 ' ;
CREATE 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 ' ;
2009-10-09 17:35:07 +02:00
CREATE 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 , modified timestamp , 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 ' ;
2007-02-26 11:49:24 +01:00
2009-11-30 13:34:39 +01:00
CREATE 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 , PRIMARY KEY ( Host , Db , User , Routine_name , Routine_type ) , KEY Grantor ( Grantor ) ) engine = MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment = ' Procedure privileges ' ;
2007-02-26 11:49:24 +01:00
2007-07-26 18:05:01 +02:00
-- Create general_log if CSV is enabled.
2007-02-27 11:39:29 +01:00
2009-03-11 21:30:56 +01:00
SET @ str = IF ( @ @ have_csv = ' YES ' , ' CREATE TABLE IF NOT EXISTS general_log (event_time TIMESTAMP NOT NULL, user_host MEDIUMTEXT NOT NULL, thread_id INTEGER 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 ' ) ;
2007-04-18 16:23:19 +02:00
2007-07-26 18:05:01 +02:00
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
-- Create slow_log if CSV is enabled.
2009-03-11 21:30:56 +01:00
SET @ str = IF ( @ @ have_csv = ' YES ' , ' CREATE TABLE IF NOT EXISTS slow_log (start_time TIMESTAMP NOT NULL, 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) engine=CSV CHARACTER SET utf8 comment="Slow log" ' , ' SET @dummy = 0 ' ) ;
2007-07-26 18:05:01 +02:00
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
2007-02-27 11:39:29 +01:00
2009-03-11 21:30:56 +01:00
CREATE 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 , modified TIMESTAMP NOT NULL , 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 ' ;
2007-02-27 11:39:29 +01:00
CREATE TABLE IF NOT EXISTS ndb_binlog_index ( Position BIGINT UNSIGNED NOT NULL , File VARCHAR ( 255 ) NOT NULL , epoch BIGINT UNSIGNED NOT NULL , inserts BIGINT UNSIGNED NOT NULL , updates BIGINT UNSIGNED NOT NULL , deletes BIGINT UNSIGNED NOT NULL , schemaops BIGINT UNSIGNED NOT NULL , PRIMARY KEY ( epoch ) ) ENGINE = MYISAM ;
2007-02-26 11:49:24 +01:00
2010-03-05 16:31:01 +01:00
--
-- PERFORMANCE SCHEMA INSTALLATION
-- Note that this script is also reused by mysql_upgrade,
-- so we have to be very careful here to not destroy any
-- existing database named 'performance_schema' if it
-- can contain user data.
-- In case of downgrade, it's ok to drop unknown tables
-- from a future version, as long as they belong to the
-- performance schema engine.
--
set @ have_old_pfs = ( select count ( * ) from information_schema . schemata where schema_name = ' performance_schema ' ) ;
SET @ l1 = " SET @broken_tables = (select count(*) from information_schema.tables " ;
SET @ l2 = " where engine != \'PERFORMANCE_SCHEMA\' and table_schema=\'performance_schema\') " ;
SET @ cmd = concat ( @ l1 , @ l2 ) ;
-- Work around for bug#49542
SET @ str = IF ( @ have_old_pfs = 1 , @ cmd , ' SET @broken_tables = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
SET @ l1 = " SET @broken_views = (select count(*) from information_schema.views " ;
SET @ l2 = " where table_schema='performance_schema') " ;
SET @ cmd = concat ( @ l1 , @ l2 ) ;
-- Work around for bug#49542
SET @ str = IF ( @ have_old_pfs = 1 , @ cmd , ' SET @broken_views = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
SET @ broken_routines = ( select count ( * ) from mysql . proc where db = ' performance_schema ' ) ;
SET @ broken_events = ( select count ( * ) from mysql . event where db = ' performance_schema ' ) ;
SET @ broken_pfs = ( select @ broken_tables + @ broken_views + @ broken_routines + @ broken_events ) ;
2010-01-12 02:47:27 +01:00
--
-- The performance schema database.
2010-03-05 16:31:01 +01:00
-- Only drop and create the database if this is safe (no broken_pfs).
-- This database is created, even in --without-perfschema builds,
2010-01-12 02:47:27 +01:00
-- so that the database name is always reserved by the MySQL implementation.
--
2010-03-05 16:31:01 +01:00
SET @ cmd = " DROP DATABASE IF EXISTS performance_schema " ;
SET @ str = IF ( @ broken_pfs = 0 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
2010-01-12 02:47:27 +01:00
2010-03-05 16:31:01 +01:00
SET @ cmd = " CREATE DATABASE performance_schema character set utf8 " ;
2010-01-12 02:47:27 +01:00
2010-03-05 16:31:01 +01:00
SET @ str = IF ( @ broken_pfs = 0 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
--
-- From this point, only create the performance schema tables
-- if the server is build with performance schema
--
set @ have_pfs = ( select count ( engine ) from information_schema . engines where engine = ' PERFORMANCE_SCHEMA ' and support ! = ' NO ' ) ;
2010-01-12 02:47:27 +01:00
--
-- TABLE COND_INSTANCES
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.cond_instances( " ;
2010-01-12 02:47:27 +01:00
SET @ l2 = " NAME VARCHAR(128) not null, " ;
SET @ l3 = " OBJECT_INSTANCE_BEGIN BIGINT not null " ;
SET @ l4 = " )ENGINE=PERFORMANCE_SCHEMA; " ;
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 ) ;
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
--
-- TABLE EVENTS_WAITS_CURRENT
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.events_waits_current( " ;
2010-01-12 02:47:27 +01:00
SET @ l2 = " THREAD_ID INTEGER not null, " ;
SET @ l3 = " EVENT_ID BIGINT unsigned not null, " ;
SET @ l4 = " EVENT_NAME VARCHAR(128) not null, " ;
SET @ l5 = " SOURCE VARCHAR(64), " ;
SET @ l6 = " TIMER_START BIGINT unsigned, " ;
SET @ l7 = " TIMER_END BIGINT unsigned, " ;
SET @ l8 = " TIMER_WAIT BIGINT unsigned, " ;
SET @ l9 = " SPINS INTEGER unsigned, " ;
SET @ l10 = " OBJECT_SCHEMA VARCHAR(64), " ;
SET @ l11 = " OBJECT_NAME VARCHAR(512), " ;
SET @ l12 = " OBJECT_TYPE VARCHAR(64), " ;
SET @ l13 = " OBJECT_INSTANCE_BEGIN BIGINT not null, " ;
SET @ l14 = " NESTING_EVENT_ID BIGINT unsigned, " ;
SET @ l15 = " OPERATION VARCHAR(16) not null, " ;
SET @ l16 = " NUMBER_OF_BYTES BIGINT unsigned, " ;
SET @ l17 = " FLAGS INTEGER unsigned " ;
SET @ l18 = " )ENGINE=PERFORMANCE_SCHEMA; " ;
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 , @ l5 , @ l6 , @ l7 , @ l8 , @ l9 , @ l10 , @ l11 , @ l12 , @ l13 , @ l14 , @ l15 , @ l16 , @ l17 , @ l18 ) ;
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
--
-- TABLE EVENTS_WAITS_HISTORY
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.events_waits_history( " ;
2010-01-12 02:47:27 +01:00
-- lines 2 to 18 are unchanged from EVENTS_WAITS_CURRENT
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 , @ l5 , @ l6 , @ l7 , @ l8 , @ l9 , @ l10 , @ l11 , @ l12 , @ l13 , @ l14 , @ l15 , @ l16 , @ l17 , @ l18 ) ;
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
--
-- TABLE EVENTS_WAITS_HISTORY_LONG
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.events_waits_history_long( " ;
2010-01-12 02:47:27 +01:00
-- lines 2 to 18 are unchanged from EVENTS_WAITS_CURRENT
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 , @ l5 , @ l6 , @ l7 , @ l8 , @ l9 , @ l10 , @ l11 , @ l12 , @ l13 , @ l14 , @ l15 , @ l16 , @ l17 , @ l18 ) ;
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
--
-- TABLE EVENTS_WAITS_SUMMARY_BY_INSTANCE
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.events_waits_summary_by_instance( " ;
2010-01-12 02:47:27 +01:00
SET @ l2 = " EVENT_NAME VARCHAR(128) not null, " ;
SET @ l3 = " OBJECT_INSTANCE_BEGIN BIGINT not null, " ;
SET @ l4 = " COUNT_STAR BIGINT unsigned not null, " ;
SET @ l5 = " SUM_TIMER_WAIT BIGINT unsigned not null, " ;
SET @ l6 = " MIN_TIMER_WAIT BIGINT unsigned not null, " ;
SET @ l7 = " AVG_TIMER_WAIT BIGINT unsigned not null, " ;
SET @ l8 = " MAX_TIMER_WAIT BIGINT unsigned not null " ;
SET @ l9 = " )ENGINE=PERFORMANCE_SCHEMA; " ;
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 , @ l5 , @ l6 , @ l7 , @ l8 , @ l9 ) ;
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
--
-- TABLE EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.events_waits_summary_by_thread_by_event_name( " ;
2010-01-12 02:47:27 +01:00
SET @ l2 = " THREAD_ID INTEGER not null, " ;
SET @ l3 = " EVENT_NAME VARCHAR(128) not null, " ;
SET @ l4 = " COUNT_STAR BIGINT unsigned not null, " ;
SET @ l5 = " SUM_TIMER_WAIT BIGINT unsigned not null, " ;
SET @ l6 = " MIN_TIMER_WAIT BIGINT unsigned not null, " ;
SET @ l7 = " AVG_TIMER_WAIT BIGINT unsigned not null, " ;
SET @ l8 = " MAX_TIMER_WAIT BIGINT unsigned not null " ;
SET @ l9 = " )ENGINE=PERFORMANCE_SCHEMA; " ;
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 , @ l5 , @ l6 , @ l7 , @ l8 , @ l9 ) ;
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
2010-08-12 16:08:52 +02:00
--
-- TABLE EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.events_waits_summary_global_by_event_name( " ;
2010-08-12 16:08:52 +02:00
SET @ l2 = " EVENT_NAME VARCHAR(128) not null, " ;
SET @ l3 = " COUNT_STAR BIGINT unsigned not null, " ;
SET @ l4 = " SUM_TIMER_WAIT BIGINT unsigned not null, " ;
SET @ l5 = " MIN_TIMER_WAIT BIGINT unsigned not null, " ;
SET @ l6 = " AVG_TIMER_WAIT BIGINT unsigned not null, " ;
SET @ l7 = " MAX_TIMER_WAIT BIGINT unsigned not null " ;
SET @ l8 = " )ENGINE=PERFORMANCE_SCHEMA; " ;
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 , @ l5 , @ l6 , @ l7 , @ l8 ) ;
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
2010-01-12 02:47:27 +01:00
--
-- TABLE FILE_INSTANCES
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.file_instances( " ;
2010-01-12 02:47:27 +01:00
SET @ l2 = " FILE_NAME VARCHAR(512) not null, " ;
SET @ l3 = " EVENT_NAME VARCHAR(128) not null, " ;
SET @ l4 = " OPEN_COUNT INTEGER unsigned not null " ;
SET @ l5 = " )ENGINE=PERFORMANCE_SCHEMA; " ;
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 , @ l5 ) ;
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
--
-- TABLE FILE_SUMMARY_BY_EVENT_NAME
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.file_summary_by_event_name( " ;
2010-01-12 02:47:27 +01:00
SET @ l2 = " EVENT_NAME VARCHAR(128) not null, " ;
SET @ l3 = " COUNT_READ BIGINT unsigned not null, " ;
SET @ l4 = " COUNT_WRITE BIGINT unsigned not null, " ;
SET @ l5 = " SUM_NUMBER_OF_BYTES_READ BIGINT unsigned not null, " ;
SET @ l6 = " SUM_NUMBER_OF_BYTES_WRITE BIGINT unsigned not null " ;
SET @ l7 = " )ENGINE=PERFORMANCE_SCHEMA; " ;
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 , @ l5 , @ l6 , @ l7 ) ;
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
--
-- TABLE FILE_SUMMARY_BY_INSTANCE
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.file_summary_by_instance( " ;
2010-01-12 02:47:27 +01:00
SET @ l2 = " FILE_NAME VARCHAR(512) not null, " ;
SET @ l3 = " EVENT_NAME VARCHAR(128) not null, " ;
SET @ l4 = " COUNT_READ BIGINT unsigned not null, " ;
SET @ l5 = " COUNT_WRITE BIGINT unsigned not null, " ;
SET @ l6 = " SUM_NUMBER_OF_BYTES_READ BIGINT unsigned not null, " ;
SET @ l7 = " SUM_NUMBER_OF_BYTES_WRITE BIGINT unsigned not null " ;
SET @ l8 = " )ENGINE=PERFORMANCE_SCHEMA; " ;
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 , @ l5 , @ l6 , @ l7 , @ l8 ) ;
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
--
-- TABLE MUTEX_INSTANCES
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.mutex_instances( " ;
2010-01-12 02:47:27 +01:00
SET @ l2 = " NAME VARCHAR(128) not null, " ;
SET @ l3 = " OBJECT_INSTANCE_BEGIN BIGINT not null, " ;
SET @ l4 = " LOCKED_BY_THREAD_ID INTEGER " ;
SET @ l5 = " )ENGINE=PERFORMANCE_SCHEMA; " ;
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 , @ l5 ) ;
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
--
-- TABLE PERFORMANCE_TIMERS
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.performance_timers( " ;
2010-01-12 02:47:27 +01:00
SET @ l2 = " TIMER_NAME ENUM ('CYCLE', 'NANOSECOND', 'MICROSECOND', 'MILLISECOND', 'TICK') not null, " ;
SET @ l3 = " TIMER_FREQUENCY BIGINT, " ;
SET @ l4 = " TIMER_RESOLUTION BIGINT, " ;
SET @ l5 = " TIMER_OVERHEAD BIGINT " ;
SET @ l6 = " ) ENGINE=PERFORMANCE_SCHEMA; " ;
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 , @ l5 , @ l6 ) ;
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
--
-- TABLE RWLOCK_INSTANCES
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.rwlock_instances( " ;
2010-01-12 02:47:27 +01:00
SET @ l2 = " NAME VARCHAR(128) not null, " ;
SET @ l3 = " OBJECT_INSTANCE_BEGIN BIGINT not null, " ;
SET @ l4 = " WRITE_LOCKED_BY_THREAD_ID INTEGER, " ;
SET @ l5 = " READ_LOCKED_BY_COUNT INTEGER unsigned not null " ;
SET @ l6 = " )ENGINE=PERFORMANCE_SCHEMA; " ;
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 , @ l5 , @ l6 ) ;
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
--
-- TABLE SETUP_CONSUMERS
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.setup_consumers( " ;
2010-01-12 02:47:27 +01:00
SET @ l2 = " NAME VARCHAR(64) not null, " ;
SET @ l3 = " ENABLED ENUM ('YES', 'NO') not null " ;
SET @ l4 = " )ENGINE=PERFORMANCE_SCHEMA; " ;
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 ) ;
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
--
-- TABLE SETUP_INSTRUMENTS
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.setup_instruments( " ;
2010-01-12 02:47:27 +01:00
SET @ l2 = " NAME VARCHAR(128) not null, " ;
SET @ l3 = " ENABLED ENUM ('YES', 'NO') not null, " ;
SET @ l4 = " TIMED ENUM ('YES', 'NO') not null " ;
SET @ l5 = " )ENGINE=PERFORMANCE_SCHEMA; " ;
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 , @ l5 ) ;
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
--
2010-08-12 16:08:52 +02:00
-- TABLE SETUP_TIMERS
2010-01-12 02:47:27 +01:00
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.setup_timers( " ;
2010-08-12 16:08:52 +02:00
SET @ l2 = " NAME VARCHAR(64) not null, " ;
SET @ l3 = " TIMER_NAME ENUM ('CYCLE', 'NANOSECOND', 'MICROSECOND', 'MILLISECOND', 'TICK') not null " ;
SET @ l4 = " )ENGINE=PERFORMANCE_SCHEMA; " ;
2010-01-12 02:47:27 +01:00
2010-08-12 16:08:52 +02:00
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 ) ;
2010-01-12 02:47:27 +01:00
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
--
2010-08-12 16:08:52 +02:00
-- TABLE THREADS
2010-01-12 02:47:27 +01:00
--
2010-11-03 16:42:33 +01:00
SET @ l1 = " CREATE TABLE performance_schema.threads( " ;
2010-08-12 16:08:52 +02:00
SET @ l2 = " THREAD_ID INTEGER not null, " ;
2010-10-07 02:03:27 +02:00
SET @ l3 = " PROCESSLIST_ID INTEGER, " ;
SET @ l4 = " NAME VARCHAR(128) not null " ;
2010-08-12 16:08:52 +02:00
SET @ l5 = " )ENGINE=PERFORMANCE_SCHEMA; " ;
2010-01-12 02:47:27 +01:00
2010-08-12 16:08:52 +02:00
SET @ cmd = concat ( @ l1 , @ l2 , @ l3 , @ l4 , @ l5 ) ;
2010-01-12 02:47:27 +01:00
SET @ str = IF ( @ have_pfs = 1 , @ cmd , ' SET @dummy = 0 ' ) ;
PREPARE stmt FROM @ str ;
EXECUTE stmt ;
DROP PREPARE stmt ;
2010-08-09 10:32:50 +02:00
CREATE TABLE IF NOT EXISTS proxy_priv ( Host char ( 60 ) binary DEFAULT ' ' NOT NULL , User char ( 16 ) binary DEFAULT ' ' NOT NULL , Proxied_Host char ( 16 ) binary DEFAULT ' ' NOT NULL , Proxied_User char ( 60 ) binary DEFAULT ' ' NOT NULL , With_Grant BOOL DEFAULT 0 NOT NULL , PRIMARY KEY Host ( Host , User , Proxied_Host , Proxied_User ) ) engine = MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment = ' User proxy privileges ' ;
-- Remember for later if proxy_priv table already existed
set @ had_proxy_priv_table = @ @ warning_count ! = 0 ;