'\" t .\" Title: ndb_index_stat .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 03/11/2024 .\" Manual: MySQL Database System .\" Source: MySQL 8.4 .\" Language: English .\" .TH "NDB_INDEX_STAT" "1" "03/11/2024" "MySQL 8\&.4" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" ndb_index_stat \- NDB index statistics utility .SH "SYNOPSIS" .HP \w'\fBndb_index_stat\ \fR\fB\fIoptions\fR\fR\ 'u \fBndb_index_stat \fR\fB\fIoptions\fR\fR .SH "DESCRIPTION" .PP \fBndb_index_stat\fR provides per\-fragment statistical information about indexes on NDB tables\&. This includes cache version and age, number of index entries per partition, and memory consumption by indexes\&. Usage .PP To obtain basic index statistics about a given NDB table, invoke \fBndb_index_stat\fR as shown here, with the name of the table as the first argument and the name of the database containing this table specified immediately following it, using the \fB\-\-database\fR (\fB\-d\fR) option: .sp .if n \{\ .RS 4 .\} .nf ndb_index_stat \fItable\fR \-d \fIdatabase\fR .fi .if n \{\ .RE .\} .PP In this example, we use \fBndb_index_stat\fR to obtain such information about an NDB table named mytable in the test database: .sp .if n \{\ .RS 4 .\} .nf $> \fBndb_index_stat \-d test mytable\fR table:City index:PRIMARY fragCount:2 sampleVersion:3 loadTime:1399585986 sampleCount:1994 keyBytes:7976 query cache: valid:1 sampleCount:1994 totalBytes:27916 times in ms: save: 7\&.133 sort: 1\&.974 sort per sample: 0\&.000 .fi .if n \{\ .RE .\} .PP sampleVersion is the version number of the cache from which the statistics data is taken\&. Running \fBndb_index_stat\fR with the \fB\-\-update\fR option causes sampleVersion to be incremented\&. .PP loadTime shows when the cache was last updated\&. This is expressed as seconds since the Unix Epoch\&. .PP sampleCount is the number of index entries found per partition\&. You can estimate the total number of entries by multiplying this by the number of fragments (shown as fragCount)\&. .PP sampleCount can be compared with the cardinality of SHOW INDEX or INFORMATION_SCHEMA\&.STATISTICS, although the latter two provide a view of the table as a whole, while \fBndb_index_stat\fR provides a per\-fragment average\&. .PP keyBytes is the number of bytes used by the index\&. In this example, the primary key is an integer, which requires four bytes for each index, so keyBytes can be calculated in this case as shown here: .sp .if n \{\ .RS 4 .\} .nf keyBytes = sampleCount * (4 bytes per index) = 1994 * 4 = 7976 .fi .if n \{\ .RE .\} .PP This information can also be obtained using the corresponding column definitions from INFORMATION_SCHEMA\&.COLUMNS (this requires a MySQL Server and a MySQL client application)\&. .PP totalBytes is the total memory consumed by all indexes on the table, in bytes\&. .PP Timings shown in the preceding examples are specific to each invocation of \fBndb_index_stat\fR\&. .PP The \fB\-\-verbose\fR option provides some additional output, as shown here: .sp .if n \{\ .RS 4 .\} .nf $> \fBndb_index_stat \-d test mytable \-\-verbose\fR random seed 1337010518 connected loop 1 of 1 table:mytable index:PRIMARY fragCount:4 sampleVersion:2 loadTime:1336751773 sampleCount:0 keyBytes:0 read stats query cache created query cache: valid:1 sampleCount:0 totalBytes:0 times in ms: save: 20\&.766 sort: 0\&.001 disconnected $> .fi .if n \{\ .RE .\} .PP If the output from the program is empty, this may indicate that no statistics yet exist\&. To force them to be created (or updated if they already exist), invoke \fBndb_index_stat\fR with the \fB\-\-update\fR option, or execute ANALYZE TABLE on the table in the \fBmysql\fR client\&. Options .PP The following table includes options that are specific to the NDB Cluster \fBndb_index_stat\fR utility\&. Additional descriptions are listed following the table\&. .PP .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-character\-sets\-dir\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --character-sets-dir=path T} .TE .sp 1 Directory containing character sets\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-connect\-retries\fR .TS allbox tab(:); lB l lB l lB l lB l lB l. T{ Command-Line Format T}:T{ --connect-retries=# T} T{ Type T}:T{ Integer T} T{ Default Value T}:T{ 12 T} T{ Minimum Value T}:T{ 0 T} T{ Maximum Value T}:T{ 12 T} .TE .sp 1 Number of times to retry connection before giving up\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-connect\-retry\-delay\fR .TS allbox tab(:); lB l lB l lB l lB l lB l. T{ Command-Line Format T}:T{ --connect-retry-delay=# T} T{ Type T}:T{ Integer T} T{ Default Value T}:T{ 5 T} T{ Minimum Value T}:T{ 0 T} T{ Maximum Value T}:T{ 5 T} .TE .sp 1 Number of seconds to wait between attempts to contact management server\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-connect\-string\fR .TS allbox tab(:); lB l lB l lB l. T{ Command-Line Format T}:T{ --connect-string=connection_string T} T{ Type T}:T{ String T} T{ Default Value T}:T{ [none] T} .TE .sp 1 Same as \fB\-\-ndb\-connectstring\fR\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-core\-file\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --core-file T} .TE .sp 1 Write core file on error; used in debugging\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-database=\fR\fB\fIname\fR\fR, \fB\-d \fR\fB\fIname\fR\fR .TS allbox tab(:); lB l lB l lB l lB l lB l. T{ Command-Line Format T}:T{ --database=name T} T{ Type T}:T{ String T} T{ Default Value T}:T{ [none] T} T{ Minimum Value T}:T{ T} T{ Maximum Value T}:T{ T} .TE .sp 1 The name of the database that contains the table being queried\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-defaults\-extra\-file\fR .TS allbox tab(:); lB l lB l lB l. T{ Command-Line Format T}:T{ --defaults-extra-file=path T} T{ Type T}:T{ String T} T{ Default Value T}:T{ [none] T} .TE .sp 1 Read given file after global files are read\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-defaults\-file\fR .TS allbox tab(:); lB l lB l lB l. T{ Command-Line Format T}:T{ --defaults-file=path T} T{ Type T}:T{ String T} T{ Default Value T}:T{ [none] T} .TE .sp 1 Read default options from given file only\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-defaults\-group\-suffix\fR .TS allbox tab(:); lB l lB l lB l. T{ Command-Line Format T}:T{ --defaults-group-suffix=string T} T{ Type T}:T{ String T} T{ Default Value T}:T{ [none] T} .TE .sp 1 Also read groups with concat(group, suffix)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-delete\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --delete T} .TE .sp 1 Delete the index statistics for the given table, stopping any auto\-update that was previously configured\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-dump\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --dump T} .TE .sp 1 Dump the contents of the query cache\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-help\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --help T} .TE .sp 1 Display help text and exit\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-login\-path\fR .TS allbox tab(:); lB l lB l lB l. T{ Command-Line Format T}:T{ --login-path=path T} T{ Type T}:T{ String T} T{ Default Value T}:T{ [none] T} .TE .sp 1 Read given path from login file\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-no\-login\-paths\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --no-login-paths T} .TE .sp 1 Skips reading options from the login path file\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-loops=\fR\fB\fI#\fR\fR .TS allbox tab(:); lB l lB l lB l lB l lB l. T{ Command-Line Format T}:T{ --loops=# T} T{ Type T}:T{ Numeric T} T{ Default Value T}:T{ 0 T} T{ Minimum Value T}:T{ 0 T} T{ Maximum Value T}:T{ MAX_INT T} .TE .sp 1 Repeat commands this number of times (for use in testing)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-ndb\-connectstring\fR .TS allbox tab(:); lB l lB l lB l. T{ Command-Line Format T}:T{ --ndb-connectstring=connection_string T} T{ Type T}:T{ String T} T{ Default Value T}:T{ [none] T} .TE .sp 1 Set connection string for connecting to \fBndb_mgmd\fR\&. Syntax: [nodeid=\fIid\fR;][host=]\fIhostname\fR[:\fIport\fR]\&. Overrides entries in NDB_CONNECTSTRING and my\&.cnf\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-ndb\-mgm\-tls\fR .TS allbox tab(:); lB l lB l lB l lB l. T{ Command-Line Format T}:T{ --ndb-mgm-tls=level T} T{ Type T}:T{ Enumeration T} T{ Default Value T}:T{ relaxed T} T{ Valid Values T}:T{ .PP relaxed .PP strict T} .TE .sp 1 Sets the level of TLS support required to connect to the management server; one of relaxed or strict\&. relaxed (the default) means that a TLS connection is attempted, but success is not required; strict means that TLS is required to connect\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-ndb\-mgmd\-host\fR .TS allbox tab(:); lB l lB l lB l. T{ Command-Line Format T}:T{ --ndb-mgmd-host=connection_string T} T{ Type T}:T{ String T} T{ Default Value T}:T{ [none] T} .TE .sp 1 Same as \fB\-\-ndb\-connectstring\fR\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-ndb\-nodeid\fR .TS allbox tab(:); lB l lB l lB l. T{ Command-Line Format T}:T{ --ndb-nodeid=# T} T{ Type T}:T{ Integer T} T{ Default Value T}:T{ [none] T} .TE .sp 1 Set node ID for this node, overriding any ID set by \fB\-\-ndb\-connectstring\fR\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-ndb\-optimized\-node\-selection\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --ndb-optimized-node-selection T} .TE .sp 1 Enable optimizations for selection of nodes for transactions\&. Enabled by default; use \fB\-\-skip\-ndb\-optimized\-node\-selection\fR to disable\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-ndb\-tls\-search\-path\fR .TS allbox tab(:); lB l lB l lB l lB l. T{ Command-Line Format T}:T{ --ndb-tls-search-path=list T} T{ Type T}:T{ Path name T} T{ Default Value (Unix) T}:T{ $HOME/ndb-tls T} T{ Default Value (Windows) T}:T{ $HOMEDIR/ndb-tls T} .TE .sp 1 Specify a list of directories to search for a CA file\&. On Unix platforms, the directory names are separated by colons (:); on Windows systems, the semicolon character (;) is used as the separator\&. A directory reference may be relative or absolute; it may contain one or more environment variables, each denoted by a prefixed dollar sign ($), and expanded prior to use\&. .sp Searching begins with the leftmost named directory and proceeds from left to right until a file is found\&. An empty string denotes an empty search path, which causes all searches to fail\&. A string consisting of a single dot (\&.) indicates that the search path limited to the current working directory\&. .sp If no search path is supplied, the compiled\-in default value is used\&. This value depends on the platform used: On Windows, this is \endb\-tls; on other platforms (including Linux), it is $HOME/ndb\-tls\&. This can be overridden by compiling NDB Cluster using \fB\-DWITH_NDB_TLS_SEARCH_PATH\fR\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-no\-defaults\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --no-defaults T} .TE .sp 1 Do not read default options from any option file other than login file\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-print\-defaults\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --print-defaults T} .TE .sp 1 Print program argument list and exit\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-query=\fR\fB\fI#\fR\fR .TS allbox tab(:); lB l lB l lB l lB l lB l. T{ Command-Line Format T}:T{ --query=# T} T{ Type T}:T{ Numeric T} T{ Default Value T}:T{ 0 T} T{ Minimum Value T}:T{ 0 T} T{ Maximum Value T}:T{ MAX_INT T} .TE .sp 1 Perform random range queries on first key attribute (must be int unsigned)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-sys\-drop\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --sys-drop T} .TE .sp 1 Drop all statistics tables and events in the NDB kernel\&. \fIThis causes all statistics to be lost\fR\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-sys\-create\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --sys-create T} .TE .sp 1 Create all statistics tables and events in the NDB kernel\&. This works only if none of them exist previously\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-sys\-create\-if\-not\-exist\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --sys-create-if-not-exist T} .TE .sp 1 Create any NDB system statistics tables or events (or both) that do not already exist when the program is invoked\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-sys\-create\-if\-not\-valid\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --sys-create-if-not-valid T} .TE .sp 1 Create any NDB system statistics tables or events that do not already exist, after dropping any that are invalid\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-sys\-check\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --sys-check T} .TE .sp 1 Verify that all required system statistics tables and events exist in the NDB kernel\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-sys\-skip\-tables\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --sys-skip-tables T} .TE .sp 1 Do not apply any \fB\-\-sys\-*\fR options to any statistics tables\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-sys\-skip\-events\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --sys-skip-events T} .TE .sp 1 Do not apply any \fB\-\-sys\-*\fR options to any events\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-update\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --update T} .TE .sp 1 Update the index statistics for the given table, and restart any auto\-update that was previously configured\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-usage\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --usage T} .TE .sp 1 Display help text and exit; same as \fB\-\-help\fR\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-verbose\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --verbose T} .TE .sp 1 Turn on verbose output\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-version\fR .TS allbox tab(:); lB l. T{ Command-Line Format T}:T{ --version T} .TE .sp 1 Display version information and exit\&. .RE .PP \fBndb_index_stat system options\fR. The following options are used to generate and update the statistics tables in the NDB kernel\&. None of these options can be mixed with statistics options (see ndb_index_stat statistics options)\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-sys\-drop\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-sys\-create\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-sys\-create\-if\-not\-exist\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-sys\-create\-if\-not\-valid\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-sys\-check\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-sys\-skip\-tables\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-sys\-skip\-events\fR .RE .PP \fBndb_index_stat statistics options\fR. The options listed here are used to generate index statistics\&. They work with a given table and database\&. They cannot be mixed with system options (see ndb_index_stat system options)\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-database\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-delete\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-update\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-dump\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-query\fR .RE .SH "COPYRIGHT" .br .PP Copyright \(co 1997, 2024, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP This documentation 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. .PP You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MySQL Reference Manual, which may already be installed locally and which is also available online at http://dev.mysql.com/doc/. .SH AUTHOR Oracle Corporation (http://dev.mysql.com/).