.:: :[ AK-74 Security Team Web-shell ]: ::.
Общая информация
Файловый менеджер
phpinfo()
Выполнить PHP
Выполнить команду
Редактирование файла
usr/local/mysql/man/ 0000755 0000000 0000000 00000000000 10664762443 013413 5 ustar root root usr/local/mysql/man/man1/ 0000755 0000000 0000000 00000000000 10664762446 014252 5 ustar root root usr/local/mysql/man/man1/mysqlcheck.1 0000644 0000000 0000000 00000021546 10664762445 016506 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQLCHECK\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysqlcheck \- a table maintenance and repair program .SH "SYNOPSIS" .HP 46 \fBmysqlcheck [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIdb_name\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB ...]]\fR .SH "DESCRIPTION" .PP The \fBmysqlcheck\fR client checks, repairs, optimizes, and analyzes tables. \fBmysqlcheck\fR is available as of MySQL 3.23.38. .PP \fBmysqlcheck\fR is similar in function to \fBmyisamchk\fR, but works differently. The main operational difference is that \fBmysqlcheck\fR must be used when the \fBmysqld\fR server is running, whereas \fBmyisamchk\fR should be used when it is not. The benefit of using \fBmysqlcheck\fR is that you do not have to stop the server to check or repair your tables. .PP \fBmysqlcheck\fR uses the SQL statements CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, and OPTIMIZE TABLE in a convenient way for the user. It determines which statements to use for the operation you want to perform, and then sends the statements to the server to be executed. For details about which storage engines each statement works with, see the descriptions for those statements in Chapter\ 13, SQL Statement Syntax. .PP The MyISAM storage engine supports all four statements, so \fBmysqlcheck\fR can be used to perform all four operations on MyISAM tables. Other storage engines do not necessarily support all operations. In such cases, an error message is displayed. For example, if test.t is a MEMORY table, an attempt to check it produces this result: .sp .nf shell> \fBmysqlcheck test t\fR test.t note : The storage engine for the table doesn't support check .fi .PP There are three general ways to invoke \fBmysqlcheck\fR: .sp .nf shell> \fBmysqlcheck [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIdb_name\fR\fR\fB [\fR\fB\fItables\fR\fR\fB]\fR shell> \fBmysqlcheck [\fR\fB\fIoptions\fR\fR\fB] \-\-databases \fR\fB\fIdb_name1\fR\fR\fB [\fR\fB\fIdb_name2\fR\fR\fB \fR\fB\fIdb_name3\fR\fR\fB...]\fR shell> \fBmysqlcheck [\fR\fB\fIoptions\fR\fR\fB] \-\-all\-databases\fR .fi .PP If you do not name any tables following \fIdb_name\fR or if you use the \fB\-\-databases\fR or \fB\-\-all\-databases\fR option, entire databases are checked. .PP \fBmysqlcheck\fR has a special feature compared to other client programs. The default behavior of checking tables (\fB\-\-check\fR) can be changed by renaming the binary. If you want to have a tool that repairs tables by default, you should just make a copy of \fBmysqlcheck\fR named \fBmysqlrepair\fR, or make a symbolic link to \fBmysqlcheck\fR named \fBmysqlrepair\fR. If you invoke \fBmysqlrepair\fR, it repairs tables on command. .PP The following names can be used to change \fBmysqlcheck\fR default behavior: \fBmysqlrepair\fRThe default option is \fB\-\-repair\fR\fBmysqlanalyze\fRThe default option is \fB\-\-analyze\fR\fBmysqloptimize\fRThe default option is \fB\-\-optimize\fR.PP \fBmysqlcheck\fR supports the following options: .TP 3 \(bu \fB\-\-help\fR, \fB\-?\fR .sp Display a help message and exit. .TP \(bu \fB\-\-all\-databases\fR, \fB\-A\fR .sp Check all tables in all databases. This is the same as using the \fB\-\-databases\fR option and naming all the databases on the command line. .TP \(bu \fB\-\-all\-in\-1\fR, \fB\-1\fR .sp Instead of issuing a statement for each table, execute a single statement for each database that names all the tables from that database to be processed. .TP \(bu \fB\-\-analyze\fR, \fB\-a\fR .sp Analyze the tables. .TP \(bu \fB\-\-auto\-repair\fR .sp If a checked table is corrupted, automatically fix it. Any necessary repairs are done after all tables have been checked. .TP \(bu \fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR .sp The directory where character sets are installed. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-check\fR, \fB\-c\fR .sp Check the tables for errors. This is the default operation. .TP \(bu \fB\-\-check\-only\-changed\fR, \fB\-C\fR .sp Check only tables that have changed since the last check or that have not been closed properly. .TP \(bu \fB\-\-compress\fR .sp Compress all information sent between the client and the server if both support compression. .TP \(bu \fB\-\-databases\fR, \fB\-B\fR .sp Process all tables in the named databases. Normally, \fBmysqlcheck\fR treats the first name argument on the command line as a database name and following names as table names. With this option, it treats all name arguments as database names. .TP \(bu \fB\-\-debug[=\fR\fB\fIdebug_options\fR\fR\fB]\fR, \fB\-# [\fR\fB\fIdebug_options\fR\fR\fB]\fR .sp Write a debugging log. A typical \fIdebug_options\fR string is often \'d:t:o,\fIfile_name\fR'. .TP \(bu \fB\-\-default\-character\-set=\fR\fB\fIcharset_name\fR\fR .sp Use \fIcharset_name\fR as the default character set. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-extended\fR, \fB\-e\fR .sp If you are using this option to check tables, it ensures that they are 100% consistent but takes a long time. .sp If you are using this option to repair tables, it runs an extended repair that may not only take a long time to execute, but may produce a lot of garbage rows also! .TP \(bu \fB\-\-fast\fR, \fB\-F\fR .sp Check only tables that have not been closed properly. .TP \(bu \fB\-\-force\fR, \fB\-f\fR .sp Continue even if an SQL error occurs. .TP \(bu \fB\-\-host=\fR\fB\fIhost_name\fR\fR, \fB\-h \fR\fB\fIhost_name\fR\fR .sp Connect to the MySQL server on the given host. .TP \(bu \fB\-\-medium\-check\fR, \fB\-m\fR .sp Do a check that is faster than an \fB\-\-extended\fR operation. This finds only 99.99% of all errors, which should be good enough in most cases. .TP \(bu \fB\-\-optimize\fR, \fB\-o\fR .sp Optimize the tables. .TP \(bu \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR .sp The password to use when connecting to the server. If you use the short option form (\fB\-p\fR), you \fIcannot\fR have a space between the option and the password. If you omit the \fIpassword\fR value following the \fB\-\-password\fR or \fB\-p\fR option on the command line, you are prompted for one. .sp Specifying a password on the command line should be considered insecure. See Section\ 7.6, \(lqKeeping Your Password Secure\(rq. .TP \(bu \fB\-\-port=\fR\fB\fIport_num\fR\fR, \fB\-P \fR\fB\fIport_num\fR\fR .sp The TCP/IP port number to use for the connection. .TP \(bu \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR .sp The connection protocol to use. This option was added in MySQL 4.1. .TP \(bu \fB\-\-quick\fR, \fB\-q\fR .sp If you are using this option to check tables, it prevents the check from scanning the rows to check for incorrect links. This is the fastest check method. .sp If you are using this option to repair tables, it tries to repair only the index tree. This is the fastest repair method. .TP \(bu \fB\-\-repair\fR, \fB\-r\fR .sp Perform a repair that can fix almost anything except unique keys that are not unique. .TP \(bu \fB\-\-silent\fR, \fB\-s\fR .sp Silent mode. Print only error messages. .TP \(bu \fB\-\-socket=\fR\fB\fIpath\fR\fR, \fB\-S \fR\fB\fIpath\fR\fR .sp For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. .TP \(bu \fB\-\-tables\fR .sp Overrides the \fB\-\-databases\fR or \fB\-B\fR option. All name arguments following the option are regarded as table names. .TP \(bu \fB\-\-use\-frm\fR .sp For repair operations on MyISAM tables, get the table structure from the \fI.frm\fR file so that the table can be repaired even if the \fI.MYI\fR header is corrupted. This option was added in MySQL 4.0.5. .TP \(bu \fB\-\-user=\fR\fB\fIuser_name\fR\fR, \fB\-u \fR\fB\fIuser_name\fR\fR .sp The MySQL username to use when connecting to the server. .TP \(bu \fB\-\-verbose\fR, \fB\-v\fR .sp Verbose mode. Print information about the various stages of program operation. .TP \(bu \fB\-\-version\fR, \fB\-V\fR .sp Display version information and exit. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/replace.1 0000644 0000000 0000000 00000006116 10664762446 015753 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBREPLACE\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" replace \- a string\-replacement utility .SH "SYNOPSIS" .HP 18 \fBreplace \fR\fB\fIarguments\fR\fR .SH "DESCRIPTION" .PP The \fBreplace\fR utility program changes strings in place in files or on the standard input. .PP Invoke \fBreplace\fR in one of the following ways: .sp .nf shell> \fBreplace \fR\fB\fIfrom\fR\fR\fB \fR\fB\fIto\fR\fR\fB [\fR\fB\fIfrom\fR\fR\fB \fR\fB\fIto\fR\fR\fB] ... \-\- \fR\fB\fIfile\fR\fR\fB [\fR\fB\fIfile\fR\fR\fB] ...\fR shell> \fBreplace \fR\fB\fIfrom\fR\fR\fB \fR\fB\fIto\fR\fR\fB [\fR\fB\fIfrom\fR\fR\fB \fR\fB\fIto\fR\fR\fB] ... < \fR\fB\fIfile\fR\fR .fi .PP \fIfrom\fR represents a string to look for and \fIto\fR represents its replacement. There can be one or more pairs of strings. .PP Use the \fB\-\-\fR option to indicate where the string\-replacement list ends and the filenames begin. In this case, any file named on the command line is modified in place, so you may want to make a copy of the original before converting it. \fIreplace\fR prints a message indicating which of the input files it actually modifies. .PP If the \fB\-\-\fR option is not given, \fBreplace\fR reads the standard input and writes to the standard output. .PP \fBreplace\fR uses a finite state machine to match longer strings first. It can be used to swap strings. For example, the following command swaps a and b in the given files, \fIfile1\fR and \fIfile2\fR: .sp .nf shell> \fBreplace a b b a \-\- file1 file2 ...\fR .fi .PP The \fBreplace\fR program is used by \fBmsql2mysql\fR. See \fBmsql2mysql\fR(1). .PP \fBreplace\fR supports the following options: .TP 3 \(bu \fB\-?\fR, \fB\-I\fR .sp Display a help message and exit. .TP \(bu \fB\-# \fR\fB\fIdebug_options\fR\fR .sp Write a debugging log. The \fIdebug_options\fR string often is \'d:t:o,\fIfile_name\fR'. .TP \(bu \fB\-s\fR .sp Silent mode. Print less information what the program does. .TP \(bu \fB\-v\fR .sp Verbose mode. Print more information about what the program does. .TP \(bu \fB\-V\fR .sp Display version information and exit. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/mysqldump.1 0000644 0000000 0000000 00000055611 10664762445 016376 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQLDUMP\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysqldump \- a database backup program .SH "SYNOPSIS" .HP 45 \fBmysqldump [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIdb_name\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB ...]]\fR .SH "DESCRIPTION" .PP The \fBmysqldump\fR client is a backup program originally written by Igor Romanenko. It can be used to dump a database or a collection of databases for backup or for transferring the data to another SQL server (not necessarily a MySQL server). The dump contains SQL statements to create the table or populate it, or both. .PP If you are doing a backup on the server, and your tables all are MyISAM tables, consider using the \fBmysqlhotcopy\fR instead because it can accomplish faster backups and faster restores. See \fBmysqlhotcopy\fR(1). .PP There are three general ways to invoke \fBmysqldump\fR: .sp .nf shell> \fBmysqldump [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIdb_name\fR\fR\fB [\fR\fB\fItables\fR\fR\fB]\fR shell> \fBmysqldump [\fR\fB\fIoptions\fR\fR\fB] \-\-databases \fR\fB\fIdb_name1\fR\fR\fB [\fR\fB\fIdb_name2\fR\fR\fB \fR\fB\fIdb_name3\fR\fR\fB...]\fR shell> \fBmysqldump [\fR\fB\fIoptions\fR\fR\fB] \-\-all\-databases\fR .fi .PP If you do not name any tables following \fIdb_name\fR or if you use the \fB\-\-databases\fR or \fB\-\-all\-databases\fR option, entire databases are dumped. .PP To get a list of the options your version of \fBmysqldump\fR supports, execute \fBmysqldump \-\-help\fR. .PP If you run \fBmysqldump\fR without the \fB\-\-quick\fR or \fB\-\-opt\fR option, \fBmysqldump\fR loads the whole result set into memory before dumping the result. This can be a problem if you are dumping a big database. As of MySQL 4.1, \fB\-\-opt\fR is enabled by default, but can be disabled with \fB\-\-skip\-opt\fR. .PP If you are using a recent copy of the \fBmysqldump\fR program to generate a dump to be reloaded into a very old MySQL server, you should not use the \fB\-\-opt\fR or \fB\-\-extended\-insert\fR option. Use \fB\-\-skip\-opt\fR instead. .PP Before MySQL 4.1.2, out\-of\-range numeric values such as \-inf and inf, as well as NaN (not\-a\-number) values are dumped by \fBmysqldump\fR as NULL. You can see this using the following sample table: .sp .nf mysql> \fBCREATE TABLE t (f DOUBLE);\fR mysql> \fBINSERT INTO t VALUES(1e+111111111111111111111);\fR mysql> \fBINSERT INTO t VALUES(\-1e111111111111111111111);\fR mysql> \fBSELECT f FROM t;\fR +\-\-\-\-\-\-+ | f | +\-\-\-\-\-\-+ | inf | | \-inf | +\-\-\-\-\-\-+ .fi .PP For this table, \fBmysqldump\fR produces the following data output: .sp .nf \-\- \-\- Dumping data for table `t` \-\- INSERT INTO t VALUES (NULL); INSERT INTO t VALUES (NULL); .fi .PP The significance of this behavior is that if you dump and restore the table, the new table has contents that differ from the original contents. This problem is fixed as of MySQL 4.1.2; you cannot insert inf in the table, so this \fBmysqldump\fR behavior is only relevant when you deal with old servers. .PP \fBmysqldump\fR supports the following options: .TP 3 \(bu \fB\-\-help\fR, \fB\-?\fR .sp Display a help message and exit. .TP \(bu \fB\-\-add\-drop\-database\fR .sp Add a DROP DATABASE statement before each CREATE DATABASE statement. Added in MySQL 4.1.13. .TP \(bu \fB\-\-add\-drop\-table\fR .sp Add a DROP TABLE statement before each CREATE TABLE statement. .TP \(bu \fB\-\-add\-locks\fR .sp Surround each table dump with LOCK TABLES and UNLOCK TABLES statements. This results in faster inserts when the dump file is reloaded. See Section\ 2.13, \(lqSpeed of INSERT Statements\(rq. .TP \(bu \fB\-\-all\-databases\fR, \fB\-A\fR .sp Dump all tables in all databases. This is the same as using the \fB\-\-databases\fR option and naming all the databases on the command line. .TP \(bu \fB\-\-allow\-keywords\fR .sp Allow creation of column names that are keywords. This works by prefixing each column name with the table name. .TP \(bu \fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR .sp The directory where character sets are installed. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-comments\fR, \fB\-i\fR .sp Write additional information in the dump file such as program version, server version, and host. . This option is enabled by default. To suppress additional, use \fB\-\-skip\-comments\fR. This option was added in MySQL 4.0.17. .TP \(bu \fB\-\-compact\fR .sp Produce less verbose output. This option suppresses comments and enables the \fB\-\-skip\-add\-drop\-table\fR, \fB\-\-no\-set\-names\fR, \fB\-\-skip\-disable\-keys\fR, and \fB\-\-skip\-add\-locks\fR options. Added in MySQL 4.1.2. .TP \(bu \fB\-\-compatible=\fR\fB\fIname\fR\fR .sp Produce output that is more compatible with other database systems or with older MySQL servers. The value of name can be ansi, mysql323, mysql40, postgresql, oracle, mssql, db2, maxdb, no_key_options, no_table_options, or no_field_options. To use several values, separate them by commas. These values have the same meaning as the corresponding options for setting the server SQL mode. See the section called \(lqTHE SERVER SQL MODE\(rq. .sp This option does not guarantee compatibility with other servers. It only enables those SQL mode values that are currently available for making dump output more compatible. For example, \fB\-\-compatible=oracle\fR does not map data types to Oracle types or use Oracle comment syntax. .sp \fIThis option requires a server version of 4.1.0 or higher\fR. With older servers, it does nothing. .TP \(bu \fB\-\-complete\-insert\fR, \fB\-c\fR .sp Use complete INSERT statements that include column names. .TP \(bu \fB\-\-compress\fR, \fB\-C\fR .sp Compress all information sent between the client and the server if both support compression. .TP \(bu \fB\-\-create\-options\fR .sp Include all MySQL\-specific table options in the CREATE TABLE statements. Before MySQL 4.1.2, use \fB\-\-all\fR instead. .TP \(bu \fB\-\-databases\fR, \fB\-B\fR .sp Dump several databases. Normally, \fBmysqldump\fR treats the first name argument on the command line as a database name and following names as table names. With this option, it treats all name arguments as database names. CREATE DATABASE and USE statements are included in the output before each new database. .TP \(bu \fB\-\-debug[=\fR\fB\fIdebug_options\fR\fR\fB]\fR, \fB\-# [\fR\fB\fIdebug_options\fR\fR\fB]\fR .sp Write a debugging log. The \fIdebug_options\fR string is often \'d:t:o,\fIfile_name\fR'. The default is \'d:t:o,/tmp/mysqldump.trace'. .TP \(bu \fB\-\-default\-character\-set=\fR\fB\fIcharset_name\fR\fR .sp Use \fIcharset_name\fR as the default character set. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. If not specified, \fBmysqldump\fR from MySQL 4.1.2 or later uses utf8, and earlier versions use latin1. .TP \(bu \fB\-\-delayed\-insert\fR .sp Write INSERT DELAYED statements rather than INSERT statements. .TP \(bu \fB\-\-delete\-master\-logs\fR .sp On a master replication server, delete the binary logs after performing the dump operation. This option automatically enables \fB\-\-first\-slave\fR before MySQL 4.1.8 and enables \fB\-\-master\-data\fR thereafter. It was added in MySQL 3.23.57 (for MySQL 3.23) and MySQL 4.0.13 (for MySQL 4.0). .TP \(bu \fB\-\-disable\-keys\fR, \fB\-K\fR .sp For each table, surround the INSERT statements with /*!40000 ALTER TABLE \fItbl_name\fR DISABLE KEYS */; and /*!40000 ALTER TABLE \fItbl_name\fR ENABLE KEYS */; statements. This makes loading the dump file into a MySQL 4.0 or newer server faster because the indexes are created after all rows are inserted. This option is effective for MyISAM tables only. .TP \(bu \fB\-\-extended\-insert\fR, \fB\-e\fR .sp Use multiple\-row INSERT syntax that include several VALUES lists. This results in a smaller dump file and speeds up inserts when the file is reloaded. .TP \(bu \fB\-\-fields\-terminated\-by=...\fR, \fB\-\-fields\-enclosed\-by=...\fR, \fB\-\-fields\-optionally\-enclosed\-by=...\fR, \fB\-\-fields\-escaped\-by=...\fR, \fB\-\-lines\-terminated\-by=...\fR .sp These options are used with the \fB\-T\fR option and have the same meaning as the corresponding clauses for LOAD DATA INFILE. See Section\ 2.5, \(lqLOAD DATA INFILE Syntax\(rq. .TP \(bu \fB\-\-first\-slave\fR, \fB\-x\fR .sp Deprecated. Renamed to \fB\-\-lock\-all\-tables\fR in MySQL 4.1.8. .TP \(bu \fB\-\-flush\-logs\fR, \fB\-F\fR .sp Flush the MySQL server log files before starting the dump. This option requires the RELOAD privilege. Note that if you use this option in combination with the \fB\-\-all\-databases\fR (or \fB\-A\fR) option, the logs are flushed \fIfor each database dumped\fR. The exception is when using \fB\-\-lock\-all\-tables\fR or \fB\-\-master\-data\fR: In this case, the logs are flushed only once, corresponding to the moment that all tables are locked. If you want your dump and the log flush to happen at exactly the same moment, you should use \fB\-\-flush\-logs\fR together with either \fB\-\-lock\-all\-tables\fR or \fB\-\-master\-data\fR. .TP \(bu \fB\-\-force\fR, \fB\-f\fR .sp Continue even if an SQL error occurs during a table dump. .TP \(bu \fB\-\-host=\fR\fB\fIhost_name\fR\fR, \fB\-h \fR\fB\fIhost_name\fR\fR .sp Dump data from the MySQL server on the given host. The default host is localhost. .TP \(bu \fB\-\-hex\-blob\fR .sp Dump binary columns using hexadecimal notation (for example, \'abc' becomes 0x616263). The affected data types are BINARY, VARBINARY, and BLOB in MySQL 4.1 and up, and CHAR BINARY, VARCHAR BINARY, and BLOB in MySQL 4.0. This option was added in MySQL 4.0.23 and 4.1.8. .TP \(bu \fB\-\-ignore\-table=\fR\fB\fIdb_name.tbl_name\fR\fR .sp Do not dump the given table, which must be specified using both the database and table names. To ignore multiple tables, use this option multiple times. This option was added in MySQL 4.1.9. .TP \(bu \fB\-\-insert\-ignore\fR .sp Write INSERT statements with the IGNORE option. This option was added in MySQL 4.1.12. .TP \(bu \fB\-\-lock\-all\-tables\fR, \fB\-x\fR .sp Lock all tables across all databases. This is achieved by acquiring a global read lock for the duration of the whole dump. This option automatically turns off \fB\-\-single\-transaction\fR and \fB\-\-lock\-tables\fR. Added in MySQL 4.1.8. .TP \(bu \fB\-\-lock\-tables\fR, \fB\-l\fR .sp Lock all tables before starting the dump. The tables are locked with READ LOCAL to allow concurrent inserts in the case of MyISAM tables. For transactional tables such as InnoDB and BDB, \fB\-\-single\-transaction\fR is a much better option, because it does not need to lock the tables at all. .sp Please note that when dumping multiple databases, \fB\-\-lock\-tables\fR locks tables for each database separately. So, this option does not guarantee that the tables in the dump file are logically consistent between databases. Tables in different databases may be dumped in completely different states. .TP \(bu \fB\-\-master\-data[=\fR\fB\fIvalue\fR\fR\fB]\fR .sp Write the binary log filename and position to the output. This option requires the RELOAD privilege and the binary log must be enabled. If the option value is equal to 1, the position and filename are written to the dump output in the form of a CHANGE MASTER statement that makes a slave server start from the correct position in the master's binary logs if you use this SQL dump of the master to set up a slave. If the option value is equal to 2, the CHANGE MASTER statement is written as an SQL comment. This is the default action if \fIvalue\fR is omitted. \fIvalue\fR may be given as of MySQL 4.1.8; before that, do not specify an option value. .sp The \fB\-\-master\-data\fR option turns on \fB\-\-lock\-all\-tables\fR, unless \fB\-\-single\-transaction\fR also is specified (in which case, a global read lock is only acquired a short time at the beginning of the dump. See also the description for \fB\-\-single\-transaction\fR. In all cases, any action on logs happens at the exact moment of the dump. This option automatically turns off \fB\-\-lock\-tables\fR. .TP \(bu \fB\-\-no\-autocommit\fR .sp Enclose the INSERT statements for each dumped table within SET AUTOCOMMIT=0 and COMMIT statements. .TP \(bu \fB\-\-no\-create\-db\fR, \fB\-n\fR .sp This option suppresses the CREATE DATABASE statements that are otherwise included in the output if the \fB\-\-databases\fR or \fB\-\-all\-databases\fR option is given. .TP \(bu \fB\-\-no\-create\-info\fR, \fB\-t\fR .sp Do not write CREATE TABLE statements that re\-create each dumped table. .TP \(bu \fB\-\-no\-data\fR, \fB\-d\fR .sp Do not write any row information for the table. This is very useful if you want to dump only the CREATE TABLE statement for the table. .TP \(bu \fB\-\-opt\fR .sp This option is shorthand; it is the same as specifying \fB\-\-add\-drop\-table \-\-add\-locks \-\-create\-options \-\-disable\-keys \-\-extended\-insert \-\-lock\-tables \-\-quick \-\-set\-charset\fR. It should give you a fast dump operation and produce a dump file that can be reloaded into a MySQL server quickly. .sp \fIAs of MySQL 4.1, \fR\fI\fB\-\-opt\fR\fR\fI is enabled by default, but can be disabled with \fR\fI\fB\-\-skip\-opt\fR\fR. To disable only certain of the options enabled by \fB\-\-opt\fR, use their \fB\-\-skip\fR forms; for example, \fB\-\-skip\-add\-drop\-table\fR or \fB\-\-skip\-quick\fR. .TP \(bu \fB\-\-order\-by\-primary\fR .sp Sorts each table's rows by its primary key, or its first unique index, if such an index exists. This is useful when dumping a MyISAM table to be loaded into an InnoDB table, but will make the dump itself take considerably longer. This option was added in MySQL 4.1.8. .TP \(bu \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR .sp The password to use when connecting to the server. If you use the short option form (\fB\-p\fR), you \fIcannot\fR have a space between the option and the password. If you omit the \fIpassword\fR value following the \fB\-\-password\fR or \fB\-p\fR option on the command line, you are prompted for one. .sp Specifying a password on the command line should be considered insecure. See Section\ 7.6, \(lqKeeping Your Password Secure\(rq. .TP \(bu \fB\-\-port=\fR\fB\fIport_num\fR\fR, \fB\-P \fR\fB\fIport_num\fR\fR .sp The TCP/IP port number to use for the connection. .TP \(bu \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR .sp The connection protocol to use. Added in MySQL 4.1. .TP \(bu \fB\-\-quick\fR, \fB\-q\fR .sp This option is useful for dumping large tables. It forces \fBmysqldump\fR to retrieve rows for a table from the server a row at a time rather than retrieving the entire row set and buffering it in memory before writing it out. .TP \(bu \fB\-\-quote\-names\fR, \fB\-Q\fR .sp Quote database, table, and column names within \(oq`\(cq characters. If the ANSI_QUOTES SQL mode is enabled, names are quoted within \(oq"\(cq characters. As of MySQL 4.1.1, \fB\-\-quote\-names\fR is enabled by default. It can be disabled with \fB\-\-skip\-quote\-names\fR, but this option should be given after any option such as \fB\-\-compatible\fR that may enable \fB\-\-quote\-names\fR. .TP \(bu \fB\-\-result\-file=\fR\fB\fIfile\fR\fR, \fB\-r \fR\fB\fIfile\fR\fR .sp Direct output to a given file. This option should be used on Windows to prevent newline \(oq\\n\(cq characters from being converted to \(oq\\r\\n\(cq carriage return/newline sequences. .TP \(bu \fB\-\-set\-charset\fR .sp Add SET NAMES \fIdefault_character_set\fR to the output. This option is enabled by default. To suppress the SET NAMES statement, use \fB\-\-skip\-set\-charset\fR. This option was added in MySQL 4.1.2. .TP \(bu \fB\-\-single\-transaction\fR .sp This option issues a BEGIN SQL statement before dumping data from the server. It is useful only with transactional tables such as InnoDB and BDB, because then it dumps the consistent state of the database at the time when BEGIN was issued without blocking any applications. .sp When using this option, you should keep in mind that only InnoDB tables are dumped in a consistent state. For example, any MyISAM or MEMORY tables dumped while using this option may still change state. .sp The \fB\-\-single\-transaction\fR option was added in MySQL 4.0.2. This option is mutually exclusive with the \fB\-\-lock\-tables\fR option, because LOCK TABLES causes any pending transactions to be committed implicitly. .sp To dump big tables, you should combine this option with \fB\-\-quick\fR. .TP \(bu \fB\-\-socket=\fR\fB\fIpath\fR\fR, \fB\-S \fR\fB\fIpath\fR\fR .sp For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. .TP \(bu \fB\-\-skip\-comments\fR .sp See the description for the \fB\-\-comments\fR option. .TP \(bu \fB\-\-tab=\fR\fB\fIpath\fR\fR, \fB\-T \fR\fB\fIpath\fR\fR .sp Produce tab\-separated data files. For each dumped table, \fBmysqldump\fR creates a \fI\fItbl_name\fR\fR\fI.sql\fR file that contains the CREATE TABLE statement that creates the table, and a \fI\fItbl_name\fR\fR\fI.txt\fR file that contains its data. The option value is the directory in which to write the files. .sp By default, the \fI.txt\fR data files are formatted using tab characters between column values and a newline at the end of each line. The format can be specified explicitly using the \fB\-\-fields\-\fR\fB\fIxxx\fR\fR and \fB\-\-lines\-\-\fR\fB\fIxxx\fR\fR options. .sp \fBNote\fR: This option should be used only when \fBmysqldump\fR is run on the same machine as the \fBmysqld\fR server. You must have the FILE privilege, and the server must have permission to write files in the directory that you specify. .TP \(bu \fB\-\-tables\fR .sp Override the \fB\-\-databases\fR or \fB\-B\fR option. All name arguments following the option are regarded as table names. .TP \(bu \fB\-\-user=\fR\fB\fIuser_name\fR\fR, \fB\-u \fR\fB\fIuser_name\fR\fR .sp The MySQL username to use when connecting to the server. .TP \(bu \fB\-\-verbose\fR, \fB\-v\fR .sp Verbose mode. Print more information about what the program does. .TP \(bu \fB\-\-version\fR, \fB\-V\fR .sp Display version information and exit. .TP \(bu \fB\-\-where='\fR\fB\fIwhere_condition\fR\fR\fB'\fR, \fB\-w '\fR\fB\fIwhere_condition\fR\fR\fB'\fR .sp Dump only rows selected by the given WHERE condition. Note that quotes around the condition are mandatory if it contains spaces or other characters that are special to your command interpreter. .sp Examples: .sp .nf \-\-where="user='jimf'" \-w"userid>1" \-w"userid<1" .fi .TP \(bu \fB\-\-xml\fR, \fB\-X\fR .sp Write dump output as well\-formed XML. .PP You can also set the following variables by using \fB\-\-\fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR syntax: .TP 3 \(bu max_allowed_packet .sp The maximum size of the buffer for client/server communication. The value of the variable can be up to 16MB before MySQL 4.0, and up to 1GB from MySQL 4.0 on. .TP \(bu net_buffer_length .sp The initial size of the buffer for client/server communication. When creating multiple\-row\-insert statements (as with option \fB\-\-extended\-insert\fR or \fB\-\-opt\fR), \fBmysqldump\fR creates rows up to net_buffer_length length. If you increase this variable, you should also ensure that the net_buffer_length variable in the MySQL server is at least this large. .PP It is also possible to set variables by using \fB\-\-set\-variable=\fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR or \fB\-O \fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR syntax. However, this syntax is deprecated as of MySQL 4.0. .PP The most common use of \fBmysqldump\fR is probably for making a backup of an entire database: .sp .nf shell> \fBmysqldump \-\-opt \fR\fB\fIdb_name\fR\fR\fB > \fR\fB\fIbackup\-file.sql\fR\fR .fi .PP You can read the dump file back into the server like this: .sp .nf shell> \fBmysql \fR\fB\fIdb_name\fR\fR\fB < \fR\fB\fIbackup\-file.sql\fR\fR .fi .PP Or like this: .sp .nf shell> \fBmysql \-e "source \fR\fB\fI/path\-to\-backup/backup\-file.sql\fR\fR\fB" \fR\fB\fIdb_name\fR\fR .fi .PP \fBmysqldump\fR is also very useful for populating databases by copying data from one MySQL server to another: .sp .nf shell> \fBmysqldump \-\-opt \fR\fB\fIdb_name\fR\fR\fB | mysql \-\-host=\fR\fB\fIremote_host\fR\fR\fB \-C \fR\fB\fIdb_name\fR\fR .fi .PP It is possible to dump several databases with one command: .sp .nf shell> \fBmysqldump \-\-databases \fR\fB\fIdb_name1\fR\fR\fB [\fR\fB\fIdb_name2\fR\fR\fB ...] > my_databases.sql\fR .fi .PP To dump all databases, use the \fB\-\-all\-databases\fR option: .sp .nf shell> \fBmysqldump \-\-all\-databases > all_databases.sql\fR .fi .PP For InnoDB tables, mysqldump provides a way of making an online backup: .sp .nf shell> \fBmysqldump \-\-all\-databases \-\-single\-transaction > all_databases.sql\fR .fi .PP This backup just needs to acquire a global read lock on all tables (using FLUSH TABLES WITH READ LOCK) at the beginning of the dump. As soon as this lock has been acquired, the binary log coordinates are read and the lock is released. If and only if one long updating statement is running when the FLUSH statement is issued, the MySQL server may get stalled until that long statement finishes, and then the dump becomes lock\-free. If the update statements that the MySQL server receives are short (in terms of execution time), the initial lock period should not be noticeable, even with many updates. .PP For point\-in\-time recovery (also known as \(lqroll\-forward,\(rq when you need to restore an old backup and replay the changes that happened since that backup), it is often useful to rotate the binary log (see Section\ 10.4, \(lqThe Binary Log\(rq) or at least know the binary log coordinates to which the dump corresponds: .sp .nf shell> \fBmysqldump \-\-all\-databases \-\-master\-data=2 > all_databases.sql\fR .fi .PP Or: .sp .nf shell> \fBmysqldump \-\-all\-databases \-\-flush\-logs \-\-master\-data=2\fR \fB> all_databases.sql\fR .fi .PP The simultaneous use of \fB\-\-master\-data\fR and \fB\-\-single\-transaction\fR works as of MySQL 4.1.8. It provides a convenient way to make an online backup suitable for point\-in\-time recovery if tables are stored in the InnoDB storage engine. .PP For more information on making backups, see Section\ 8.1, \(lqDatabase Backups\(rq, and Section\ 8.2, \(lqExample Backup and Recovery Strategy\(rq. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/mysql_zap.1 0000644 0000000 0000000 00000004607 10664762444 016360 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQL_ZAP\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysql_zap \- kill processes that match a pattern .SH "SYNOPSIS" .HP 36 \fBmysql_zap [\-\fR\fB\fIsignal\fR\fR\fB] [\-?Ift] \fR\fB\fIpattern\fR\fR .SH "DESCRIPTION" .PP \fBmysql_zap\fR kills processes that match a pattern. It uses the \fBps\fR command and Unix signals, so it runs on Unix and Unix\-like systems. .PP Invoke \fBmysql_zap\fR like this: .sp .nf shell> \fBmysql_zap [\-\fR\fB\fIsignal\fR\fR\fB] [\-?Ift] \fR\fB\fIpattern\fR\fR .fi .PP A process matches if its output line from the \fBps\fR command contains the pattern. By default, \fBmysql_zap\fR asks for confirmation for each process. Respond y to kill the process, or q to exit \fBmysql_zap\fR. For any other response, \fBmysql_zap\fR does not attempt to kill the process. .PP If the \fB\-\fR\fB\fIsignal\fR\fR option is given, it specifies the name or number of the signal to send to each process. Otherwise, \fBmysql_zap\fR tries first with TERM (signal 15) and then with KILL (signal 9). .PP \fBmysql_zap\fR understands the following additional options: .TP 3 \(bu \fB\-\-help\fR, \fB\-?\fR, \fB\-I\fR .sp Display a help message and exit. .TP \(bu \fB\-f\fR .sp Force mode. \fBmysql_zap\fR attempts to kill each process without confirmation. .TP \(bu \fB\-t\fR .sp Test mode. Display information about each process but do not kill it. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/myisamlog.1 0000644 0000000 0000000 00000006315 10664762443 016337 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYISAMLOG\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" myisamlog \- display MyISAM log file contents isamlog \- display contents of ISAM log file .SH "SYNOPSIS" .HP 46 \fBmyisamlog [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIlog_file\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB] ...]\fR .HP 44 \fBisamlog [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIlog_file\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB] ...]\fR .SH "DESCRIPTION" .PP \fBmyisamlog\fR processes the contents of a MyISAM log file. \fBisamlog\fR is similar, but is used with ISAM log files. .PP Invoke \fBmyisamlog\fR or \fBisamlog\fRlike this: .sp .nf shell> \fBmyisamlog [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIlog_file\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB] ...]\fR shell> \fBisamlog [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIlog_file\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB] ...]\fR .fi .PP The default operation is update (\fB\-u\fR). If a recovery is done (\fB\-r\fR), all writes and possibly updates and deletes are done and errors are only counted. The default log file name is \fImyisam.log\fR for \fBmyisamlog\fR and \fIisam.log\fR for \fBisamlog\fR if no \fIlog_file\fR argument is given. If tables are named on the command line, only those tables are updated. .PP \fBmyisamlog\fR and \fBisamlog\fR understand the following options: .TP 3 \(bu \fB\-?\fR, \fB\-I\fR .sp Display a help message and exit. .TP \(bu \fB\-c \fR\fB\fIN\fR\fR .sp Execute only \fIN\fR commands. .TP \(bu \fB\-f \fR\fB\fIN\fR\fR .sp Specify the maximum number of open files. .TP \(bu \fB\-i\fR .sp Display extra information before exiting. .TP \(bu \fB\-o \fR\fB\fIoffset\fR\fR .sp Specify the starting offset. .TP \(bu \fB\-p \fR\fB\fIN\fR\fR .sp Remove \fIN\fR components from path. .TP \(bu \fB\-r\fR .sp Perform a recovery operation. .TP \(bu \fB\-R \fR\fB\fIrecord_pos_file record_pos\fR\fR .sp Specify record position file and record position. .TP \(bu \fB\-u\fR .sp Perform an update operation. .TP \(bu \fB\-v\fR .sp Verbose mode. Print more output about what the program does. This option can be given multiple times to produce more and more output. .TP \(bu \fB\-w \fR\fB\fIwrite_file\fR\fR .sp Specify the write file. .sp .TP \(bu \fB\-V\fR .sp Display version information. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/perror.1 0000644 0000000 0000000 00000005435 10664762446 015654 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBPERROR\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" perror \- explain error codes .SH "SYNOPSIS" .HP 31 \fBperror [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIerrorcode\fR\fR\fB ...\fR .SH "DESCRIPTION" .PP For most system errors, MySQL displays, in addition to an internal text message, the system error code in one of the following styles: .sp .nf message ... (errno: #) message ... (Errcode: #) .fi .PP You can find out what the error code means by examining the documentation for your system or by using the \fBperror\fR utility. .PP \fBperror\fR prints a description for a system error code or for a storage engine (table handler) error code. .PP Invoke \fBperror\fR like this: .sp .nf shell> \fBperror [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIerrorcode\fR\fR\fB ...\fR .fi .PP Example: .sp .nf shell> \fBperror 13 64\fR Error code 13: Permission denied Error code 64: Machine is not on the network .fi .PP To obtain the error message for a MySQL Cluster error code, invoke \fBperror\fR with the \fB\-\-ndb\fR option: .sp .nf shell> \fBperror \-\-ndb \fR\fB\fIerrorcode\fR\fR .fi .PP Note that the meaning of system error messages may be dependent on your operating system. A given error code may mean different things on different operating systems. .PP \fBperror\fR supports the following options: .TP 3 \(bu \fB\-\-help\fR, \fB\-\-info\fR, \fB\-I\fR, \fB\-?\fR .sp Display a help message and exit. .TP \(bu \fB\-\-ndb\fR .sp Print the error message for a MySQL Cluster error code. .TP \(bu \fB\-\-silent\fR, \fB\-s\fR .sp Silent mode. Print only the error message. .TP \(bu \fB\-\-verbose\fR, \fB\-v\fR .sp Verbose mode. Print error code and message. This is the default behavior. .TP \(bu \fB\-\-version\fR, \fB\-V\fR .sp Display version information and exit. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/mysqlimport.1 0000644 0000000 0000000 00000016127 10664762446 016743 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQLIMPORT\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysqlimport \- a data import program .SH "SYNOPSIS" .HP 44 \fBmysqlimport [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIdb_name\fR\fR\fB \fR\fB\fItextfile1\fR\fR\fB ...\fR .SH "DESCRIPTION" .PP The \fBmysqlimport\fR client provides a command\-line interface to the LOAD DATA INFILE SQL statement. Most options to \fBmysqlimport\fR correspond directly to clauses of LOAD DATA INFILE syntax. See Section\ 2.5, \(lqLOAD DATA INFILE Syntax\(rq. .PP Invoke \fBmysqlimport\fR like this: .sp .nf shell> \fBmysqlimport [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIdb_name\fR\fR\fB \fR\fB\fItextfile1\fR\fR\fB [\fR\fB\fItextfile2\fR\fR\fB ...]\fR .fi .PP For each text file named on the command line, \fBmysqlimport\fR strips any extension from the filename and uses the result to determine the name of the table into which to import the file's contents. For example, files named \fIpatient.txt\fR, \fIpatient.text\fR, and \fIpatient\fR all would be imported into a table named patient. .PP \fBmysqlimport\fR supports the following options: .TP 3 \(bu \fB\-\-help\fR, \fB\-?\fR .sp Display a help message and exit. .TP \(bu \fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR .sp The directory where character sets are installed. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-columns=\fR\fB\fIcolumn_list\fR\fR, \fB\-c \fR\fB\fIcolumn_list\fR\fR .sp This option takes a comma\-separated list of column names as its value. The order of the column names indicates how to match data file columns with table columns. .TP \(bu \fB\-\-compress\fR, \fB\-C\fR .sp Compress all information sent between the client and the server if both support compression. .TP \(bu \fB\-\-debug[=\fR\fB\fIdebug_options\fR\fR\fB]\fR, \fB\-# [\fR\fB\fIdebug_options\fR\fR\fB]\fR .sp Write a debugging log. The \fIdebug_options\fR string often is \'d:t:o,\fIfile_name\fR'. .TP \(bu \fB\-\-default\-character\-set=\fR\fB\fIcharset_name\fR\fR .sp Use \fIcharset_name\fR as the default character set. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-delete\fR, \fB\-D\fR .sp Empty the table before importing the text file. .TP \(bu \fB\-\-fields\-terminated\-by=...\fR, \fB\-\-fields\-enclosed\-by=...\fR, \fB\-\-fields\-optionally\-enclosed\-by=...\fR, \fB\-\-fields\-escaped\-by=...\fR, \fB\-\-lines\-terminated\-by=...\fR .sp These options have the same meaning as the corresponding clauses for LOAD DATA INFILE. See Section\ 2.5, \(lqLOAD DATA INFILE Syntax\(rq. .TP \(bu \fB\-\-force\fR, \fB\-f\fR .sp Ignore errors. For example, if a table for a text file does not exist, continue processing any remaining files. Without \fB\-\-force\fR, \fBmysqlimport\fR exits if a table does not exist. .TP \(bu \fB\-\-host=\fR\fB\fIhost_name\fR\fR, \fB\-h \fR\fB\fIhost_name\fR\fR .sp Import data to the MySQL server on the given host. The default host is localhost. .TP \(bu \fB\-\-ignore\fR, \fB\-i\fR .sp See the description for the \fB\-\-replace\fR option. .TP \(bu \fB\-\-ignore\-lines=\fR\fB\fIN\fR\fR .sp Ignore the first \fIN\fR lines of the data file. .TP \(bu \fB\-\-local\fR, \fB\-L\fR .sp Read input files locally from the client host. .TP \(bu \fB\-\-lock\-tables\fR, \fB\-l\fR .sp Lock \fIall\fR tables for writing before processing any text files. This ensures that all tables are synchronized on the server. .TP \(bu \fB\-\-low\-priority\fR .sp Use LOW_PRIORITY when loading the table. .TP \(bu \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR .sp The password to use when connecting to the server. If you use the short option form (\fB\-p\fR), you \fIcannot\fR have a space between the option and the password. If you omit the \fIpassword\fR value following the \fB\-\-password\fR or \fB\-p\fR option on the command line, you are prompted for one. .sp Specifying a password on the command line should be considered insecure. See Section\ 7.6, \(lqKeeping Your Password Secure\(rq. .TP \(bu \fB\-\-port=\fR\fB\fIport_num\fR\fR, \fB\-P \fR\fB\fIport_num\fR\fR .sp The TCP/IP port number to use for the connection. .TP \(bu \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR .sp The connection protocol to use. Added in MySQL 4.1. .TP \(bu \fB\-\-replace\fR, \fB\-r\fR .sp The \fB\-\-replace\fR and \fB\-\-ignore\fR options control handling of input rows that duplicate existing rows on unique key values. If you specify \fB\-\-replace\fR, new rows replace existing rows that have the same unique key value. If you specify \fB\-\-ignore\fR, input rows that duplicate an existing row on a unique key value are skipped. If you do not specify either option, an error occurs when a duplicate key value is found, and the rest of the text file is ignored. .TP \(bu \fB\-\-silent\fR, \fB\-s\fR .sp Silent mode. Produce output only when errors occur. .TP \(bu \fB\-\-socket=\fR\fB\fIpath\fR\fR, \fB\-S \fR\fB\fIpath\fR\fR .sp For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. .TP \(bu \fB\-\-user=\fR\fB\fIuser_name\fR\fR, \fB\-u \fR\fB\fIuser_name\fR\fR .sp The MySQL username to use when connecting to the server. .TP \(bu \fB\-\-verbose\fR, \fB\-v\fR .sp Verbose mode. Print more information about what the program does. .TP \(bu \fB\-\-version\fR, \fB\-V\fR .sp Display version information and exit. .PP Here is a sample session that demonstrates use of \fBmysqlimport\fR: .sp .nf shell> \fBmysql \-e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test\fR shell> \fBed\fR a 100 Max Sydow 101 Count Dracula . w imptest.txt 32 q shell> \fBod \-c imptest.txt\fR 0000000 1 0 0 \\t M a x S y d o w \\n 1 0 0000020 1 \\t C o u n t D r a c u l a \\n 0000040 shell> \fBmysqlimport \-\-local test imptest.txt\fR test.imptest: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0 shell> \fBmysql \-e 'SELECT * FROM imptest' test\fR +\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | id | n | +\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | 100 | Max Sydow | | 101 | Count Dracula | +\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ .fi .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/myisam_ftdump.1 0000644 0000000 0000000 00000006643 10664762443 017220 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYISAM_FTDUMP\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" myisam_ftdump \- display full\-text index information .SH "SYNOPSIS" .HP 43 \fBmyisam_ftdump [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fItbl_name\fR\fR\fB \fR\fB\fIindex_num\fR\fR .SH "DESCRIPTION" .PP \fBmyisam_ftdump\fR displays information about FULLTEXT indexes in MyISAM tables. It reads the MyISAM index file directly, so it must be run on the server host where the table is located .PP Invoke \fBmyisam_ftdump\fR like this: .sp .nf shell> \fBmyisam_ftdump [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fItbl_name\fR\fR\fB \fR\fB\fIindex_num\fR\fR .fi .PP The \fItbl_name\fR argument should be the name of a MyISAM table. You can also specify a table by naming its index file (the file with the \fI.MYI\fR suffix). If you do not invoke \fBmyisam_ftdump\fR in the directory where the table files are located, the table or index file name name must be preceded by the pathname to the table's database directory. Index numbers begin with 0. .PP Example: Suppose that the test database contains a table named mytexttablel that has the following definition: .sp .nf CREATE TABLE mytexttable ( id INT NOT NULL, txt TEXT NOT NULL, PRIMARY KEY (id), FULLTEXT (txt) ); .fi .PP The index on id is index 0 and the FULLTEXT index on txt is index 1. If your working directory is the test database directory, invoke \fBmyisam_ftdump\fR as follows: .sp .nf shell> \fBmyisam_ftdump mytexttable 1\fR .fi .PP If the pathname to the test database directory is \fI/usr/local/mysql/data/test\fR, you can also specify the table name argument using that pathname. This is useful if you do not invoke \fBmyisam_ftdump\fR in the database directory: .sp .nf shell> \fBmyisam_ftdump /usr/local/mysql/data/test/mytexttable 1\fR .fi .PP \fBmyisam_ftdump\fR understands the following options: .TP 3 \(bu \fB\-\-help\fR, \fB\-h\fR\fB\-?\fR .sp Display a help message and exit. .TP \(bu \fB\-\-count\fR, \fB\-c\fR .sp Calculate per\-word statistics (counts and global weights). .TP \(bu \fB\-\-dump\fR, \fB\-d\fR .sp Dump the index, including data offsets and word weights. .TP \(bu \fB\-\-length\fR, \fB\-l\fR .sp Report the length distribution. .TP \(bu \fB\-\-stats\fR, \fB\-s\fR .sp Report global index statistics. This is the default operation if no other operation is specified. .TP \(bu \fB\-\-verbose\fR, \fB\-v\fR .sp Verbose mode. Print more output about what the program does. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/mysqld_multi.1 0000644 0000000 0000000 00000027313 10664762445 017064 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQLD_MULTI\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysqld_multi \- manage multiple MySQL servers .SH "SYNOPSIS" .HP 59 \fBmysqld_multi [\fR\fB\fIoptions\fR\fR\fB] {start|stop|report} [\fR\fB\fIGNR\fR\fR\fB[,\fR\fB\fIGNR\fR\fR\fB] ...]\fR .SH "DESCRIPTION" .PP \fBmysqld_multi\fR is designed to manage several \fBmysqld\fR processes that listen for connections on different Unix socket files and TCP/IP ports. It can start or stop servers, or report their current status. .PP \fBmysqld_multi\fR searches for groups named [mysqld\fIN\fR] in \fImy.cnf\fR (or in the file named by the \fB\-\-config\-file\fR option). \fIN\fR can be any positive integer. This number is referred to in the following discussion as the option group number, or \fIGNR\fR. Group numbers distinguish option groups from one another and are used as arguments to \fBmysqld_multi\fR to specify which servers you want to start, stop, or obtain a status report for. Options listed in these groups are the same that you would use in the [mysqld] group used for starting \fBmysqld\fR. (See, for example, Section\ 10.2.2, \(lqStarting and Stopping MySQL Automatically\(rq.) However, when using multiple servers, it is necessary that each one use its own value for options such as the Unix socket file and TCP/IP port number. For more information on which options must be unique per server in a multiple\-server environment, see Section\ 11, \(lqRunning Multiple MySQL Servers on the Same Machine\(rq. .PP To invoke \fBmysqld_multi\fR, use the following syntax: .sp .nf shell> \fBmysqld_multi [\fR\fB\fIoptions\fR\fR\fB] {start|stop|report} [\fR\fB\fIGNR\fR\fR\fB[,\fR\fB\fIGNR\fR\fR\fB] ...]\fR .fi .PP start, stop, and report indicate which operation to perform. You can perform the designated operation for a single server or multiple servers, depending on the \fIGNR\fR list that follows the option name. If there is no list, \fBmysqld_multi\fR performs the operation for all servers in the option file. .PP Each \fIGNR\fR value represents an option group number or range of group numbers. The value should be the number at the end of the group name in the option file. For example, the \fIGNR\fR for a group named [mysqld17] is 17. To specify a range of numbers, separate the first and last numbers by a dash. The \fIGNR\fR value 10\-13 represents groups [mysqld10] through [mysqld13]. Multiple groups or group ranges can be specified on the command line, separated by commas. There must be no whitespace characters (spaces or tabs) in the \fIGNR\fR list; anything after a whitespace character is ignored. .PP This command starts a single server using option group [mysqld17]: .sp .nf shell> \fBmysqld_multi start 17\fR .fi .PP This command stops several servers, using option groups [mysqld8] and [mysqld10] through [mysqld13]: .sp .nf shell> \fBmysqld_multi stop 8,10\-13\fR .fi .PP For an example of how you might set up an option file, use this command: .sp .nf shell> \fBmysqld_multi \-\-example\fR .fi .PP \fBmysqld_multi\fR supports the following options: .TP 3 \(bu \fB\- \-help\fR .sp Display a help message and exit. .TP \(bu \fB\-\-config\-file=\fR\fB\fIfile_name\fR\fR .sp Specify the name of an alternative option file. This affects where \fBmysqld_multi\fR looks for [mysqld\fIN\fR] option groups. Without this option, all options are read from the usual \fImy.cnf\fR file. The option does not affect where \fBmysqld_multi\fR reads its own options, which are always taken from the [mysqld_multi] group in the usual \fImy.cnf\fR file. .TP \(bu \fB\-\-example\fR .sp Display a sample option file. .TP \(bu \fB\-\-log=\fR\fB\fIfile_name\fR\fR .sp Specify the name of the log file. If the file exists, log output is appended to it. .TP \(bu \fB\-\-mysqladmin=\fR\fB\fIprog_name\fR\fR .sp The \fBmysqladmin\fR binary to be used to stop servers. .TP \(bu \fB\-\-mysqld=\fR\fB\fIprog_name\fR\fR .sp The \fBmysqld\fR binary to be used. Note that you can specify \fBmysqld_safe\fR as the value for this option also. If you use \fBmysqld_safe\fR to start the server, you can include the mysqld or ledir options in the corresponding [mysqld\fIN\fR] option group. These options indicate the name of the server that \fBmysqld_safe\fR should start and the pathname of the directory where the server is located. (See the descriptions for these options in \fBmysqld_safe\fR(1).) Example: .sp .nf [mysqld38] mysqld = mysqld\-max ledir = /opt/local/mysql/libexec .fi .TP \(bu \fB\-\-no\-log\fR .sp Print log information to stdout rather than to the log file. By default, output goes to the log file. .TP \(bu \fB\-\-password=\fR\fB\fIpassword\fR\fR .sp The password of the MySQL account to use when invoking \fBmysqladmin\fR. Note that the password value is not optional for this option, unlike for other MySQL programs. .TP \(bu \fB\-\-silent\fR .sp Silent mode; disable warnings. This option was added in MySQL 4.1.6. .TP \(bu \fB\-\-tcp\-ip\fR .sp Connect to each MySQL server via the TCP/IP port instead of the Unix socket file. (If a socket file is missing, the server might still be running, but accessible only via the TCP/IP port.) By default, connections are made using the Unix socket file. This option affects stop and report operations. .TP \(bu \fB\-\-user=\fR\fB\fIuser_name\fR\fR .sp The username of the MySQL account to use when invoking \fBmysqladmin\fR. .TP \(bu \fB\-\-verbose\fR .sp Be more verbose. This option was added in MySQL 4.1.6. .TP \(bu \fB\-\-version\fR .sp Display version information and exit. .PP Some notes about \fBmysqld_multi\fR: .TP 3 \(bu \fBMost important\fR: Before using \fBmysqld_multi\fR be sure that you understand the meanings of the options that are passed to the \fBmysqld\fR servers and \fIwhy\fR you would want to have separate \fBmysqld\fR processes. Beware of the dangers of using multiple \fBmysqld\fR servers with the same data directory. Use separate data directories, unless you \fIknow\fR what you are doing. Starting multiple servers with the same data directory does \fInot\fR give you extra performance in a threaded system. See Section\ 11, \(lqRunning Multiple MySQL Servers on the Same Machine\(rq. .TP \(bu \fBImportant\fR: Make sure that the data directory for each server is fully accessible to the Unix account that the specific \fBmysqld\fR process is started as. \fIDo not\fR use the Unix \fIroot\fR account for this, unless you \fIknow\fR what you are doing. See Section\ 5.5, \(lqHow to Run MySQL as a Normal User\(rq. .TP \(bu Make sure that the MySQL account used for stopping the \fBmysqld\fR servers (with the \fBmysqladmin\fR program) has the same username and password for each server. Also, make sure that the account has the SHUTDOWN privilege. If the servers that you want to manage have different usernames or passwords for the administrative accounts, you might want to create an account on each server that has the same username and password. For example, you might set up a common multi_admin account by executing the following commands for each server: .sp .nf shell> \fBmysql \-u root \-S /tmp/mysql.sock \-p\fR Enter password: mysql> \fBGRANT SHUTDOWN ON *.*\fR \-> \fBTO 'multi_admin'@'localhost' IDENTIFIED BY 'multipass';\fR .fi See Section\ 6.2, \(lqHow the Privilege System Works\(rq. You have to do this for each \fBmysqld\fR server. Change the connection parameters appropriately when connecting to each one. Note that the hostname part of the account name must allow you to connect as multi_admin from the host where you want to run \fBmysqld_multi\fR. .TP \(bu The Unix socket file and the TCP/IP port number must be different for every \fBmysqld\fR. .TP \(bu The \fB\-\-pid\-file\fR option is very important if you are using \fBmysqld_safe\fR to start \fBmysqld\fR (for example, \fB\-\-mysqld=mysqld_safe\fR) Every \fBmysqld\fR should have its own process ID file. The advantage of using \fBmysqld_safe\fR instead of \fBmysqld\fR is that \fBmysqld_safe\fR monitors its \fBmysqld\fR process and restarts it if the process terminates due to a signal sent using kill \-9 or for other reasons, such as a segmentation fault. Please note that the \fBmysqld_safe\fR script might require that you start it from a certain place. This means that you might have to change location to a certain directory before running \fBmysqld_multi\fR. If you have problems starting, please see the \fBmysqld_safe\fR script. Check especially the lines: .sp .nf \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- MY_PWD=`pwd` # Check if we are starting this relative (for the binary release) if test \-d $MY_PWD/data/mysql \-a \-f ./share/mysql/english/errmsg.sys \-a \\ \-x ./bin/mysqld \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- .fi The test performed by these lines should be successful, or you might encounter problems. See \fBmysqld_safe\fR(1). .TP \(bu You might want to use the \fB\-\-user\fR option for \fBmysqld\fR, but to do this you need to run the \fBmysqld_multi\fR script as the Unix root user. Having the option in the option file does not matter; you merely get a warning if you are not the superuser and the \fBmysqld\fR processes are started under your own Unix account. .PP The following example shows how you might set up an option file for use with \fBmysqld_multi\fR. The order in which the \fBmysqld\fR programs are started or stopped depends on the order in which they appear in the option file. Group numbers need not form an unbroken sequence. The first and fifth [mysqld\fIN\fR] groups were intentionally omitted from the example to illustrate that you can have \(lqgaps\(rq in the option file. This gives you more flexibility. .sp .nf # This file should probably be in your home dir (~/.my.cnf) # or /etc/my.cnf # Version 2.1 by Jani Tolonen [mysqld_multi] mysqld = /usr/local/bin/mysqld_safe mysqladmin = /usr/local/bin/mysqladmin user = multi_admin password = multipass [mysqld2] socket = /tmp/mysql.sock2 port = 3307 pid\-file = /usr/local/mysql/var2/hostname.pid2 datadir = /usr/local/mysql/var2 language = /usr/local/share/mysql/english user = john [mysqld3] socket = /tmp/mysql.sock3 port = 3308 pid\-file = /usr/local/mysql/var3/hostname.pid3 datadir = /usr/local/mysql/var3 language = /usr/local/share/mysql/swedish user = monty [mysqld4] socket = /tmp/mysql.sock4 port = 3309 pid\-file = /usr/local/mysql/var4/hostname.pid4 datadir = /usr/local/mysql/var4 language = /usr/local/share/mysql/estonia user = tonu [mysqld6] socket = /tmp/mysql.sock6 port = 3311 pid\-file = /usr/local/mysql/var6/hostname.pid6 datadir = /usr/local/mysql/var6 language = /usr/local/share/mysql/japanese user = jani .fi .PP See Section\ 3.2, \(lqUsing Option Files\(rq. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/pack_isam.1 0000644 0000000 0000000 00000000026 10664762446 016261 0 ustar root root .so man1/myisampack.1 usr/local/mysql/man/man1/mysql_config.1 0000644 0000000 0000000 00000007277 10664762444 017041 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQL_CONFIG\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysql_config \- get compile options for compiling clients .SH "SYNOPSIS" .HP 21 \fBmysql_config \fR\fB\fIoptions\fR\fR .SH "DESCRIPTION" .PP \fBmysql_config\fR provides you with useful information for compiling your MySQL client and connecting it to MySQL. .PP \fBmysql_config\fR supports the following options: .TP 3 \(bu \fB\-\-cflags\fR .sp Compiler flags to find include files and critical compiler flags and defines used when compiling the libmysqlclient library. .TP \(bu \fB\-\-include\fR .sp Compiler options to find MySQL include files. (Note that normally you would use \fB\-\-cflags\fR instead of this option.) .TP \(bu \fB\-\-libmysqld\-libs\fR, \fB\-\-embedded\fR .sp Libraries and options required to link with the MySQL embedded server. .TP \(bu \fB\-\-libs\fR .sp Libraries and options required to link with the MySQL client library. .TP \(bu \fB\-\-libs_r\fR .sp Libraries and options required to link with the thread\-safe MySQL client library. .TP \(bu \fB\-\-port\fR .sp The default TCP/IP port number, defined when configuring MySQL. .TP \(bu \fB\-\-socket\fR .sp The default Unix socket file, defined when configuring MySQL. .TP \(bu \fB\-\-version\fR .sp Version number for the MySQL distribution. .PP If you invoke \fBmysql_config\fR with no options, it displays a list of all options that it supports, and their values: .sp .nf shell> \fBmysql_config\fR Usage: /usr/local/mysql/bin/mysql_config [options] Options: \-\-cflags [\-I/usr/local/mysql/include/mysql \-mcpu=pentiumpro] \-\-include [\-I/usr/local/mysql/include/mysql] \-\-libs [\-L/usr/local/mysql/lib/mysql \-lmysqlclient \-lz \-lcrypt \-lnsl \-lm \-L/usr/lib \-lssl \-lcrypto] \-\-libs_r [\-L/usr/local/mysql/lib/mysql \-lmysqlclient_r \-lpthread \-lz \-lcrypt \-lnsl \-lm \-lpthread] \-\-socket [/tmp/mysql.sock] \-\-port [3306] \-\-version [4.0.16] \-\-libmysqld\-libs [\-L/usr/local/mysql/lib/mysql \-lmysqld \-lpthread \-lz \-lcrypt \-lnsl \-lm \-lpthread \-lrt] .fi .PP You can use \fBmysql_config\fR within a command line to include the value that it displays for a particular option. For example, to compile a MySQL client program, use \fBmysql_config\fR as follows: .sp .nf shell> \fBCFG=/usr/local/mysql/bin/mysql_config\fR shell> \fBsh \-c "gcc \-o progname `$CFG \-\-cflags` progname.c `$CFG \-\-libs`"\fR .fi .PP When you use \fBmysql_config\fR this way, be sure to invoke it within backtick (\(oq`\(cq) characters. That tells the shell to execute it and substitute its output into the surrounding command. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/mysql.1 0000644 0000000 0000000 00000066450 10664762444 015512 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQL\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysql \- the MySQL command\-line tool .SH "SYNOPSIS" .HP 24 \fBmysql [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIdb_name\fR\fR .SH "DESCRIPTION" .PP \fBmysql\fR is a simple SQL shell (with GNU readline capabilities). It supports interactive and non\-interactive use. When used interactively, query results are presented in an ASCII\-table format. When used non\-interactively (for example, as a filter), the result is presented in tab\-separated format. The output format can be changed using command options. .PP If you have problems due to insufficient memory for large result sets, use the \fB\-\-quick\fR option. This forces \fBmysql\fR to retrieve results from the server a row at a time rather than retrieving the entire result set and buffering it in memory before displaying it. This is done by returning the result set using the mysql_use_result() C API function in the client/server library rather than mysql_store_result(). .PP Using \fBmysql\fR is very easy. Invoke it from the prompt of your command interpreter as follows: .sp .nf shell> \fBmysql \fR\fB\fIdb_name\fR\fR .fi .PP Or: .sp .nf shell> \fBmysql \-\-user=\fR\fB\fIuser_name\fR\fR\fB \-\-password=\fR\fB\fIyour_password\fR\fR\fB \fR\fB\fIdb_name\fR\fR .fi .PP Then type an SQL statement, end it with \(oq;\(cq, \\g, or \\G and press Enter. .PP You can execute SQL statements in a script file (batch file) like this: .sp .nf shell> \fBmysql \fR\fB\fIdb_name\fR\fR\fB < \fR\fB\fIscript.sql\fR\fR\fB > \fR\fB\fIoutput.tab\fR\fR .fi .SH "\\FBMYSQL\\FR OPTIONS" .PP \fBmysql\fR supports the following options: .TP 3 \(bu \fB\-\-help\fR, \fB\-?\fR .sp Display a help message and exit. .TP \(bu \fB\-\-auto\-rehash\fR .sp Enable automatic rehashing. This option is on by default, which enables table and column name completion. Use \fB\-\-skip\-auto\-rehash\fR to disable rehashing. That causes \fBmysql\fR to start faster, but you must issue the rehash command if you want to use table and column name completion. .TP \(bu \fB\-\-batch\fR, \fB\-B\fR .sp Print results using tab as the column separator, with each row on a new line. With this option, \fBmysql\fR does not use the history file. .TP \(bu \fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR .sp The directory where character sets are installed. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-column\-names\fR .sp Write column names in results. .TP \(bu \fB\-\-compress\fR, \fB\-C\fR .sp Compress all information sent between the client and the server if both support compression. .TP \(bu \fB\-\-database=\fR\fB\fIdb_name\fR\fR, \fB\-D \fR\fB\fIdb_name\fR\fR .sp The database to use. This is useful primarily in an option file. .TP \(bu \fB\-\-debug[=\fR\fB\fIdebug_options\fR\fR\fB]\fR, \fB\-# [\fR\fB\fIdebug_options\fR\fR\fB]\fR .sp Write a debugging log. The \fIdebug_options\fR string often is \'d:t:o,\fIfile_name\fR'. The default is \'d:t:o,/tmp/mysql.trace'. .TP \(bu \fB\-\-debug\-info\fR, \fB\-T\fR .sp Print some debugging information when the program exits. .TP \(bu \fB\-\-default\-character\-set=\fR\fB\fIcharset_name\fR\fR .sp Use \fIcharset_name\fR as the default character set. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-delimiter=\fR\fB\fIstr\fR\fR .sp Set the statement delimiter. The default is the semicolon character (\(oq;\(cq). .TP \(bu \fB\-\-execute=\fR\fB\fIstatement\fR\fR, \fB\-e \fR\fB\fIstatement\fR\fR .sp Execute the statement and quit. The default output format is like that produced with \fB\-\-batch\fR. See Section\ 3.1, \(lqUsing Options on the Command Line\(rq, for some examples. .TP \(bu \fB\-\-force\fR, \fB\-f\fR .sp Continue even if an SQL error occurs. .TP \(bu \fB\-\-host=\fR\fB\fIhost_name\fR\fR, \fB\-h \fR\fB\fIhost_name\fR\fR .sp Connect to the MySQL server on the given host. .TP \(bu \fB\-\-html\fR, \fB\-H\fR .sp Produce HTML output. .TP \(bu \fB\-\-ignore\-spaces\fR, \fB\-i\fR .sp Ignore spaces after function names. The effect of this is described in the discussion for the IGNORE_SPACE SQL mode (see the section called \(lqTHE SERVER SQL MODE\(rq). .TP \(bu \fB\-\-line\-numbers\fR .sp Write line numbers for errors. Disable this with \fB\-\-skip\-line\-numbers\fR. .TP \(bu \fB\-\-local\-infile[={0|1}]\fR .sp Enable or disable LOCAL capability for LOAD DATA INFILE. With no value, the option enables LOCAL. The option may be given as \fB\-\-local\-infile=0\fR or \fB\-\-local\-infile=1\fR to explicitly disable or enable LOCAL. Enabling LOCAL has no effect if the server does not also support it. .TP \(bu \fB\-\-named\-commands\fR, \fB\-G\fR .sp Enable named \fBmysql\fR commands. Long\-format commands are allowed, not just short\-format commands. For example, quit and \\q both are recognized. Use \fB\-\-skip\-named\-commands\fR to disable named commands. See the section called \(lq\\FBMYSQL\\FR COMMANDS\(rq. .TP \(bu \fB\-\-no\-auto\-rehash\fR, \fB\-A\fR .sp Deprecated form of \fB\-skip\-auto\-rehash\fR. See the description for \fB\-\-auto\-rehash\fR. .TP \(bu \fB\-\-no\-beep\fR, \fB\-b\fR .sp Do not beep when errors occur. .TP \(bu \fB\-\-no\-named\-commands\fR, \fB\-g\fR .sp Disable named commands. Use the \\* form only, or use named commands only at the beginning of a line ending with a semicolon (\(oq;\(cq). As of MySQL 3.23.22, \fBmysql\fR starts with this option \fIenabled\fR by default. However, even with this option, long\-format commands still work from the first line. See the section called \(lq\\FBMYSQL\\FR COMMANDS\(rq. .TP \(bu \fB\-\-no\-pager\fR .sp Deprecated form of \fB\-\-skip\-pager\fR. See the \fB\-\-pager\fR option. .TP \(bu \fB\-\-no\-tee\fR .sp Do not copy output to a file. the section called \(lq\\FBMYSQL\\FR COMMANDS\(rq, discusses tee files further. .TP \(bu \fB\-\-one\-database\fR, \fB\-o\fR .sp Ignore statements except those for the default database named on the command line. This is useful for skipping updates to other databases in the binary log. .TP \(bu \fB\-\-pager[=\fR\fB\fIcommand\fR\fR\fB]\fR .sp Use the given command for paging query output. If the command is omitted, the default pager is the value of your PAGER environment variable. Valid pagers are \fBless\fR, \fBmore\fR, \fBcat [> filename]\fR, and so forth. This option works only on Unix. It does not work in batch mode. To disable paging, use \fB\-\-skip\-pager\fR. the section called \(lq\\FBMYSQL\\FR COMMANDS\(rq, discusses output paging further. .TP \(bu \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR .sp The password to use when connecting to the server. If you use the short option form (\fB\-p\fR), you \fIcannot\fR have a space between the option and the password. If you omit the \fIpassword\fR value following the \fB\-\-password\fR or \fB\-p\fR option on the command line, you are prompted for one. .sp Specifying a password on the command line should be considered insecure. See Section\ 7.6, \(lqKeeping Your Password Secure\(rq. .TP \(bu \fB\-\-port=\fR\fB\fIport_num\fR\fR, \fB\-P \fR\fB\fIport_num\fR\fR .sp The TCP/IP port number to use for the connection. .TP \(bu \fB\-\-prompt=\fR\fB\fIformat_str\fR\fR .sp Set the prompt to the specified format. The default is mysql>. The special sequences that the prompt can contain are described in the section called \(lq\\FBMYSQL\\FR COMMANDS\(rq. .TP \(bu \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR .sp The connection protocol to use. Added in MySQL 4.1. .TP \(bu \fB\-\-quick\fR, \fB\-q\fR .sp Do not cache each query result, print each row as it is received. This may slow down the server if the output is suspended. With this option, \fBmysql\fR does not use the history file. .TP \(bu \fB\-\-raw\fR, \fB\-r\fR .sp Write column values without escape conversion. Often used with the \fB\-\-batch\fR option. .TP \(bu \fB\-\-reconnect\fR .sp If the connection to the server is lost, automatically try to reconnect. A single reconnect attempt is made each time the connection is lost. To suppress reconnection behavior, use \fB\-\-skip\-reconnect\fR. Added in MySQL 4.1.0. .TP \(bu \fB\-\-safe\-updates\fR, \fB\-\-i\-am\-a\-dummy\fR, \fB\-U\fR .sp Allow only those UPDATE and DELETE statements that specify which rows to modify by using key values. If you have set this option in an option file, you can override it by using \fB\-\-safe\-updates\fR on the command line. See the section called \(lq\\FBMYSQL\\FR TIPS\(rq, for more information about this option. .TP \(bu \fB\-\-secure\-auth\fR .sp Do not send passwords to the server in old (pre\-4.1.1) format. This prevents connections except for servers that use the newer password format. This option was added in MySQL 4.1.1. .TP \(bu \fB\-\-sigint\-ignore\fR .sp Ignore SIGINT signals (typically the result of typing Control\-C). This option was added in MySQL 4.1.6. .TP \(bu \fB\-\-silent\fR, \fB\-s\fR .sp Silent mode. Produce less output. This option can be given multiple times to produce less and less output. .TP \(bu \fB\-\-skip\-column\-names\fR, \fB\-N\fR .sp Do not write column names in results. .TP \(bu \fB\-\-skip\-line\-numbers\fR, \fB\-L\fR .sp Do not write line numbers for errors. Useful when you want to compare result files that include error messages. .TP \(bu \fB\-\-socket=\fR\fB\fIpath\fR\fR, \fB\-S \fR\fB\fIpath\fR\fR .sp For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. .TP \(bu \fB\-\-table\fR, \fB\-t\fR .sp Display output in table format. This is the default for interactive use, but can be used to produce table output in batch mode. .TP \(bu \fB\-\-tee=\fR\fB\fIfile_name\fR\fR .sp Append a copy of output to the given file. This option does not work in batch mode. in the section called \(lq\\FBMYSQL\\FR COMMANDS\(rq, discusses tee files further. .TP \(bu \fB\-\-unbuffered\fR, \fB\-n\fR .sp Flush the buffer after each query. .TP \(bu \fB\-\-user=\fR\fB\fIuser_name\fR\fR, \fB\-u \fR\fB\fIuser_name\fR\fR .sp The MySQL username to use when connecting to the server. .TP \(bu \fB\-\-verbose\fR, \fB\-v\fR .sp Verbose mode. Produce more output about what the program does. This option can be given multiple times to produce more and more output. (For example, \fB\-v \-v \-v\fR produces table output format even in batch mode.) .TP \(bu \fB\-\-version\fR, \fB\-V\fR .sp Display version information and exit. .TP \(bu \fB\-\-vertical\fR, \fB\-E\fR .sp Print query output rows vertically (one line per coluumn value). Without this option, you can specify vertical output for individual statements by terminating them with \\G. .TP \(bu \fB\-\-wait\fR, \fB\-w\fR .sp If the connection cannot be established, wait and retry instead of aborting. .TP \(bu \fB\-\-xml\fR, \fB\-X\fR .sp Produce XML output. .PP You can also set the following variables by using \fB\-\-\fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR syntax: .TP 3 \(bu connect_timeout .sp The number of seconds before connection timeout. (Default value is 0.) .TP \(bu max_allowed_packet .sp The maximum packet length to send to or receive from the server. (Default value is 16MB.) .TP \(bu max_join_size .sp The automatic limit for rows in a join when using \fB\-\-safe\-updates\fR. (Default value is 1,000,000.) .TP \(bu net_buffer_length .sp The buffer size for TCP/IP and socket communication. (Default value is 16KB.) .TP \(bu select_limit .sp The automatic limit for SELECT statements when using \fB\-\-safe\-updates\fR. (Default value is 1,000.) .PP It is also possible to set variables by using \fB\-\-set\-variable=\fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR or \fB\-O \fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR syntax. In MySQL 4.1, this syntax is deprecated. .PP On Unix, the \fBmysql\fR client writes a record of executed statements to a history file. By default, the history file is named \fI.mysql_history\fR and is created in your home directory. To specify a different file, set the value of the MYSQL_HISTFILE environment variable. .PP If you do not want to maintain a history file, first remove \fI.mysql_history\fR if it exists, and then use either of the following techniques: .TP 3 \(bu Set the MYSQL_HISTFILE variable to \fI/dev/null\fR. To cause this setting to take effect each time you log in, put the setting in one of your shell's startup files. .TP \(bu Create \fI.mysql_history\fR as a symbolic link to \fI/dev/null\fR: .sp .nf shell> \fBln \-s /dev/null $HOME/.mysql_history\fR .fi You need do this only once. .SH "\\FBMYSQL\\FR COMMANDS" .PP \fBmysql\fR sends each SQL statement that you issue to the server to be executed. There is also a set of commands that \fBmysql\fR itself interprets. For a list of these commands, type help or \\h at the mysql> prompt: .sp .nf mysql> \fBhelp\fR MySQL commands: ? (\\?) Synonym for `help'. clear (\\c) Clear command. connect (\\r) Reconnect to the server. Optional arguments are db and host. delimiter (\\d) Set statement delimiter. NOTE: Takes the rest of the line as new delimiter. edit (\\e) Edit command with $EDITOR. ego (\\G) Send command to mysql server, display result vertically. exit (\\q) Exit mysql. Same as quit. go (\\g) Send command to mysql server. help (\\h) Display this help. nopager (\\n) Disable pager, print to stdout. notee (\\t) Don't write into outfile. pager (\\P) Set PAGER [to_pager]. Print the query results via PAGER. print (\\p) Print current command. prompt (\\R) Change your mysql prompt. quit (\\q) Quit mysql. rehash (\\#) Rebuild completion hash. source (\\.) Execute an SQL script file. Takes a file name as an argument. status (\\s) Get status information from the server. system (\\!) Execute a system shell command. tee (\\T) Set outfile [to_outfile]. Append everything into given outfile. use (\\u) Use another database. Takes database name as argument. charset (\\C) Switch to another charset. Might be needed for processing binlog with multi\-byte charsets. warnings (\\W) Show warnings after every statement. nowarning (\\w) Don't show warnings after every statement. .fi .PP Each command has both a long and short form. The long form is not case sensitive; the short form is. The long form can be followed by an optional semicolon terminator, but the short form should not. .PP In the delimiter command, you should avoid the use of the backslash (\(oq\\\(cq) character because that is the escape character for MySQL. .PP The \fBedit\fR, \fBnopager\fR, \fBpager\fR, and \fBsystem\fR commands work only in Unix. .PP The status command provides some information about the connection and the server you are using. If you are running in \fB\-\-safe\-updates\fR mode, status also prints the values for the \fBmysql\fR variables that affect your queries. .PP To log queries and their output, use the \fBtee\fR command. All the data displayed on the screen is appended into a given file. This can be very useful for debugging purposes also. You can enable this feature on the command line with the \fB\-\-tee\fR option, or interactively with the \fBtee\fR command. The \fBtee\fR file can be disabled interactively with the \fBnotee\fR command. Executing \fBtee\fR again re\-enables logging. Without a parameter, the previous file is used. Note that \fBtee\fR flushes query results to the file after each statement, just before \fBmysql\fR prints its next prompt. .PP By using the \fB\-\-pager\fR option, it is possible to browse or search query results in interactive mode with Unix programs such as \fBless\fR, \fBmore\fR, or any other similar program. If you specify no value for the option, \fBmysql\fR checks the value of the PAGER environment variable and sets the pager to that. Output paging can be enabled interactively with the \fBpager\fR command and disabled with \fBnopager\fR. The command takes an optional argument; if given, the paging program is set to that. With no argument, the pager is set to the pager that was set on the command line, or stdout if no pager was specified. .PP Output paging works only in Unix because it uses the popen() function, which does not exist on Windows. For Windows, the \fBtee\fR option can be used instead to save query output, although this is not as convenient as \fBpager\fR for browsing output in some situations. .PP Here are a few tips about the \fBpager\fR command: .TP 3 \(bu You can use it to write to a file and the results go only to the file: .sp .nf mysql> \fBpager cat > /tmp/log.txt\fR .fi You can also pass any options for the program that you want to use as your pager: .sp .nf mysql> \fBpager less \-n \-i \-S\fR .fi .TP \(bu In the preceding example, note the \fB\-S\fR option. You may find it very useful for browsing wide query results. Sometimes a very wide result set is difficult to read on the screen. The \fB\-S\fR option to \fBless\fR can make the result set much more readable because you can scroll it horizontally using the left\-arrow and right\-arrow keys. You can also use \fB\-S\fR interactively within \fBless\fR to switch the horizontal\-browse mode on and off. For more information, read the \fBless\fR manual page: .sp .nf shell> \fBman less\fR .fi .TP \(bu You can specify very complex pager commands for handling query output: .sp .nf mysql> \fBpager cat | tee /dr1/tmp/res.txt \\\fR \fB| tee /dr2/tmp/res2.txt | less \-n \-i \-S\fR .fi In this example, the command would send query results to two files in two different directories on two different filesystems mounted on \fI/dr1\fR and \fI/dr2\fR, yet still display the results onscreen via \fBless\fR. .PP You can also combine the \fBtee\fR and \fBpager\fR functions. Have a \fBtee\fR file enabled and \fBpager\fR set to \fBless\fR, and you are able to browse the results using the \fBless\fR program and still have everything appended into a file the same time. The difference between the Unix \fBtee\fR used with the \fBpager\fR command and the \fBmysql\fR built\-in \fBtee\fR command is that the built\-in \fBtee\fR works even if you do not have the Unix \fBtee\fR available. The built\-in \fBtee\fR also logs everything that is printed on the screen, whereas the Unix \fBtee\fR used with \fBpager\fR does not log quite that much. Additionally, \fBtee\fR file logging can be turned on and off interactively from within \fBmysql\fR. This is useful when you want to log some queries to a file, but not others. .PP From MySQL 4.0.2 on, the default mysql> prompt can be reconfigured. The string for defining the prompt can contain the following special sequences: \fBOption\fR\fBDescription\fR\\vThe server version\\dThe default database\\hThe server host\\pThe current TCP/IP port or socket file\\uYour username\\UYour full \fIuser_name\fR@\fIhost_name\fR account name\\\\A literal \(oq\\\(cq backslash character\\nA newline character\\tA tab character\\ A space (a space follows the backslash)\\_A space\\RThe current time, in 24\-hour military time (0\-23)\\rThe current time, standard 12\-hour time (1\-12)\\mMinutes of the current time\\yThe current year, two digits\\YThe current year, four digits\\DThe full current date\\sSeconds of the current time\\wThe current day of the week in three\-letter format (Mon, Tue, \&...)\\Pam/pm\\oThe current month in numeric format\\OThe current month in three\-letter format (Jan, Feb, \&...)\\cA counter that increments for each statement you issue\\SSemicolon\\'Single quote\\"Double quote.PP \(oq\\\(cq followed by any other letter just becomes that letter. .PP If you specify the prompt command with no argument, \fBmysql\fR resets the prompt to the default of mysql>. .PP You can set the prompt in several ways: .TP 3 \(bu \fIUse an environment variable.\fR You can set the MYSQL_PS1 environment variable to a prompt string. For example: .sp .nf shell> \fBexport MYSQL_PS1="(\\u@\\h) [\\d]> "\fR .fi .TP \(bu \fIUse a command\-line option.\fR You can set the \fB\-\-prompt\fR option on the command line to \fBmysql\fR. For example: .sp .nf shell> \fBmysql \-\-prompt="(\\u@\\h) [\\d]> "\fR (user@host) [database]> .fi .TP \(bu \fIUse an option file.\fR You can set the prompt option in the [mysql] group of any MySQL option file, such as \fI/etc/my.cnf\fR or the \fI.my.cnf\fR file in your home directory. For example: .sp .nf [mysql] prompt=(\\\\u@\\\\h) [\\\\d]>\\\\_ .fi In this example, note that the backslashes are doubled. If you set the prompt using the prompt option in an option file, it is advisable to double the backslashes when using the special prompt options. There is some overlap in the set of allowable prompt options and the set of special escape sequences that are recognized in option files. (These sequences are listed in Section\ 3.2, \(lqUsing Option Files\(rq.) The overlap may cause you problems if you use single backslashes. For example, \\s is interpreted as a space rather than as the current seconds value. The following example shows how to define a prompt within an option file to include the current time in HH:MM:SS> format: .sp .nf [mysql] prompt="\\\\r:\\\\m:\\\\s> " .fi .TP \(bu \fISet the prompt interactively.\fR You can change your prompt interactively by using the prompt (or \\R) command. For example: .sp .nf mysql> \fBprompt (\\u@\\h) [\\d]>\\_\fR PROMPT set to '(\\u@\\h) [\\d]>\\_' (\fIuser\fR@\fIhost\fR) [\fIdatabase\fR]> (\fIuser\fR@\fIhost\fR) [\fIdatabase\fR]> prompt Returning to default PROMPT of mysql> mysql> .fi .TP \(bu .SH "EXECUTING SQL STATEMENTS FROM A TEXT FILE" .PP The \fBmysql\fR client typically is used interactively, like this: .sp .nf shell> \fBmysql \fR\fB\fIdb_name\fR\fR .fi .PP However, it is also possible to put your SQL statements in a file and then tell \fBmysql\fR to read its input from that file. To do so, create a text file \fItext_file\fR that contains the statements you wish to execute. Then invoke \fBmysql\fR as shown here: .sp .nf shell> \fBmysql \fR\fB\fIdb_name\fR\fR\fB < \fR\fB\fItext_file\fR\fR .fi .PP If you place a USE \fIdb_name\fR statement as the first statement in the file, it is unnecessary to specify the database name on the command line: .sp .nf shell> \fBmysql < text_file\fR .fi .PP If you are already running \fBmysql\fR, you can execute an SQL script file using the source or \\. command: .sp .nf mysql> \fBsource \fR\fB\fIfile_name\fR\fR mysql> \fB\\. \fR\fB\fIfile_name\fR\fR .fi .PP Sometimes you may want your script to display progress information to the user. For this you can insert statements like this: .sp .nf SELECT '<info_to_display>' AS ' '; .fi .PP The statement shown outputs <info_to_display>. .PP For more information about batch mode, see Section\ 5, \(lqUsing \fBmysql\fR in Batch Mode\(rq. .SH "\\FBMYSQL\\FR TIPS" .PP This section describes some techniques that can help you use \fBmysql\fR more effectively. .SS "Displaying Query Results Vertically" .PP Some query results are much more readable when displayed vertically, instead of in the usual horizontal table format. Queries can be displayed vertically by terminating the query with \\G instead of a semicolon. For example, longer text values that include newlines often are much easier to read with vertical output: .sp .nf mysql> \fBSELECT * FROM mails WHERE LENGTH(txt) < 300 LIMIT 300,1\\G\fR *************************** 1. row *************************** msg_nro: 3068 date: 2000\-03\-01 23:29:50 time_zone: +0200 mail_from: Monty reply: monty@no.spam.com mail_to: "Thimble Smith" <tim@no.spam.com> sbj: UTF\-8 txt: >>>>> "Thimble" == Thimble Smith writes: Thimble> Hi. I think this is a good idea. Is anyone familiar Thimble> with UTF\-8 or Unicode? Otherwise, I'll put this on my Thimble> TODO list and see what happens. Yes, please do that. Regards, Monty file: inbox\-jani\-1 hash: 190402944 1 row in set (0.09 sec) .fi .SS "Using the \-\-safe\-updates Option" .PP For beginners, a useful startup option is \fB\-\-safe\-updates\fR (or \fB\-\-i\-am\-a\-dummy\fR, which has the same effect). This option was introduced in MySQL 3.23.11. It is helpful for cases when you might have issued a DELETE FROM \fItbl_name\fR statement but forgotten the WHERE clause. Normally, such a statement deletes all rows from the table. With \fB\-\-safe\-updates\fR, you can delete rows only by specifying the key values that identify them. This helps prevent accidents. .PP When you use the \fB\-\-safe\-updates\fR option, \fBmysql\fR issues the following statement when it connects to the MySQL server: .sp .nf SET SQL_SAFE_UPDATES=1,SQL_SELECT_LIMIT=1000, SQL_MAX_JOIN_SIZE=1000000; .fi .PP See Section\ 5.3, \(lqSET Syntax\(rq. .PP The SET statement has the following effects: .TP 3 \(bu You are not allowed to execute an UPDATE or DELETE statement unless you specify a key constraint in the WHERE clause or provide a LIMIT clause (or both). For example: .sp .nf UPDATE \fItbl_name\fR SET \fInot_key_column\fR=\fIval\fR WHERE \fIkey_column\fR=\fIval\fR; UPDATE \fItbl_name\fR SET \fInot_key_column\fR=\fIval\fR LIMIT 1; .fi .TP \(bu The server limits all large SELECT results to 1,000 rows unless the statement includes a LIMIT clause. .TP \(bu The server aborts multiple\-table SELECT statements that probably need to examine more than 1,000,000 row combinations. .PP To specify limits different from 1,000 and 1,000,000, you can override the defaults by using the \fB\-\-select_limit\fR and \fB\-\-max_join_size\fR options: .sp .nf shell> \fBmysql \-\-safe\-updates \-\-select_limit=500 \-\-max_join_size=10000\fR .fi .SS "Disabling mysql Auto\-Reconnect" .PP If the \fBmysql\fR client loses its connection to the server while sending a query, it immediately and automatically tries to reconnect once to the server and send the query again. However, even if \fBmysql\fR succeeds in reconnecting, your first connection has ended and all your previous session objects and settings are lost: temporary tables, the autocommit mode, and user\-defined and session variables. Also, any current transaction rolls back. This behavior may be dangerous for you, as in the following example where the server was shut down and restarted without you knowing it: .sp .nf mysql> \fBSET @a=1;\fR Query OK, 0 rows affected (0.05 sec) mysql> \fBINSERT INTO t VALUES(@a);\fR ERROR 2006: MySQL server has gone away No connection. Trying to reconnect... Connection id: 1 Current database: test Query OK, 1 row affected (1.30 sec) mysql> \fBSELECT * FROM t;\fR +\-\-\-\-\-\-+ | a | +\-\-\-\-\-\-+ | NULL | +\-\-\-\-\-\-+ 1 row in set (0.05 sec) .fi .PP The @a user variable has been lost with the connection, and after the reconnection it is undefined. If it is important to have \fBmysql\fR terminate with an error if the connection has been lost, you can start the \fBmysql\fR client with the \fB\-\-skip\-reconnect\fR option. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/myisamchk.1 0000644 0000000 0000000 00000054441 10664762443 016326 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYISAMCHK\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" myisamchk \- MyISAM table\-maintenance utility isamchk \- ISAM table\-maintenance utility .SH "SYNOPSIS" .HP 33 \fBmyisamchk [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fItbl_name\fR\fR\fB ...\fR .HP 29 \fBisamchk [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fItbl_name\fR\fR\fB \&...\fR .SH "DESCRIPTION" .PP The \fBmyisamchk\fR utility gets information about your database tables or checks, repairs, or optimizes them. \fBmyisamchk\fR works with MyISAM tables (tables that have \fI.MYD\fR and \fI.MYI\fR files for storing data and indexes). A related utility, \fBisamchk\fR, works with ISAM tables (tables that have \fI.ISD\fR and \fI.ISM\fR files for storing data and indexes). .PP Invoke \fBmyisamchk\fR like this: .sp .nf shell> \fBmyisamchk [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fItbl_name\fR\fR\fB ...\fR .fi .PP The \fIoptions\fR specify what you want \fBmyisamchk\fR to do. They are described in the following sections. You can also get a list of options by invoking \fBmyisamchk \-\-help\fR. .PP With no options, \fBmyisamchk\fR simply checks your table as the default operation. To get more information or to tell \fBmyisamchk\fR to take corrective action, specify options as described in the following discussion. .PP \fItbl_name\fR is the database table you want to check or repair. If you run \fBmyisamchk\fR somewhere other than in the database directory, you must specify the path to the database directory, because \fBmyisamchk\fR has no idea where the database is located. In fact, \fBmyisamchk\fR does not actually care whether the files you are working on are located in a database directory. You can copy the files that correspond to a database table into some other location and perform recovery operations on them there. .PP You can name several tables on the \fBmyisamchk\fR command line if you wish. You can also specify a table by naming its index file (the file with the \fI.MYI\fR suffix). This allows you to specify all tables in a directory by using the pattern \fI*.MYI\fR. For example, if you are in a database directory, you can check all the MyISAM tables in that directory like this: .sp .nf shell> \fBmyisamchk *.MYI\fR .fi .PP If you are not in the database directory, you can check all the tables there by specifying the path to the directory: .sp .nf shell> \fBmyisamchk \fR\fB\fI/path/to/database_dir/\fR\fR\fB*.MYI\fR .fi .PP You can even check all tables in all databases by specifying a wildcard with the path to the MySQL data directory: .sp .nf shell> \fBmyisamchk \fR\fB\fI/path/to/datadir/*/*\fR\fR\fB.MYI\fR .fi .PP The recommended way to quickly check all MyISAM and ISAM tables is: .sp .nf shell> \fBmyisamchk \-\-silent \-\-fast \fR\fB\fI/path/to/datadir/*/*\fR\fR\fB.MYI\fR shell> \fBisamchk \-\-silent \fR\fB\fI/path/to/datadir/*/*\fR\fR\fB.ISM\fR .fi .PP If you want to check all MyISAM and ISAM tables and repair any that are corrupted, you can use the following commands: .sp .nf shell> \fBmyisamchk \-\-silent \-\-force \-\-fast \-\-update\-state \\\fR \fB\-\-key_buffer_size=64M \-\-sort_buffer_size=64M \\\fR \fB\-\-read_buffer_size=1M \-\-write_buffer_size=1M \\\fR \fB\fI/path/to/datadir/*/*\fR\fR\fB.MYI\fR shell> \fBisamchk \-\-silent \-\-force \-\-key_buffer_size=64M \\\fR \fB\-\-sort_buffer_size=64M \-\-read_buffer_size=1M \-\-write_buffer_size=1M \\\fR \fB\fI/path/to/datadir/*/*\fR\fR\fB.ISM\fR .fi .PP These commands assume that you have more than 64MB free. For more information about memory allocation with \fBmyisamchk\fR, see the section called \(lq\\FBMYISAMCHK\\FR MEMORY USAGE\(rq. .PP You must ensure that no other program is using the tables while you are running \fBmyisamchk\fR. Otherwise, when you run \fBmyisamchk\fR, it may display the following error message: .sp .nf warning: clients are using or haven't closed the table properly .fi .PP This means that you are trying to check a table that has been updated by another program (such as the \fBmysqld\fR server) that hasn't yet closed the file or that has died without closing the file properly. .PP If \fBmysqld\fR is running, you must force it to flush any table modifications that are still buffered in memory by using FLUSH TABLES. You should then ensure that no one is using the tables while you are running \fBmyisamchk\fR. The easiest way to avoid this problem is to use CHECK TABLE instead of \fBmyisamchk\fR to check tables. .SH "\\FBMYISAMCHK\\FR GENERAL OPTIONS" .PP The options described in this section can be used for any type of table maintenance operation performed by \fBmyisamchk\fR. The sections following this one describe options that pertain only to specific operations, such as table checking or repairing. .TP 3 \(bu \fB\-\-help\fR, \fB\-?\fR .sp Display a help message and exit. .TP \(bu \fB\-\-debug=\fR\fB\fIdebug_options\fR\fR\fB, \-# \fR\fB\fIdebug_options\fR\fR .sp Write a debugging log. The \fIdebug_options\fR string often is \'d:t:o,\fIfile_name\fR'. .TP \(bu \fB\-\-silent\fR, \fB\-s\fR .sp Silent mode. Write output only when errors occur. You can use \fB\-s\fR twice (\fB\-ss\fR) to make \fBmyisamchk\fR very silent. .TP \(bu \fB\-\-verbose\fR, \fB\-v\fR .sp Verbose mode. Print more information about what the program does. This can be used with \fB\-d\fR and \fB\-e\fR. Use \fB\-v\fR multiple times (\fB\-vv\fR, \fB\-vvv\fR) for even more output. .TP \(bu \fB\-\-version\fR, \fB\-V\fR .sp Display version information and exit. .TP \(bu \fB\-\-wait\fR, \fB\-w\fR .sp Instead of terminating with an error if the table is locked, wait until the table is unlocked before continuing. Note that if you are running \fBmysqld\fR with external locking disabled, the table can be locked only by another \fBmyisamchk\fR command. .PP You can also set the following variables by using \fB\-\-\fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR syntax: \fBVariable\fR\fBDefault Value\fRdecode_bits9ft_max_word_lenversion\-dependentft_min_word_len4ft_stopword_filebuilt\-in listkey_buffer_size523264myisam_block_size1024read_buffer_size262136sort_buffer_size2097144sort_key_blocks16stats_methodnulls_unequalwrite_buffer_size262136.PP It is also possible to set variables by using \fB\-\-set\-variable=\fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR or \fB\-O \fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR syntax. However, this syntax is deprecated as of MySQL 4.0. .PP The possible \fBmyisamchk\fR variables and their default values can be examined with \fBmyisamchk \-\-help\fR: .PP sort_buffer_size is used when the keys are repaired by sorting keys, which is the normal case when you use \fB\-\-recover\fR. .PP key_buffer_size is used when you are checking the table with \fB\-\-extend\-check\fR or when the keys are repaired by inserting keys row by row into the table (like when doing normal inserts). Repairing through the key buffer is used in the following cases: .TP 3 \(bu You use \fB\-\-safe\-recover\fR. .TP \(bu The temporary files needed to sort the keys would be more than twice as big as when creating the key file directly. This is often the case when you have large key values for CHAR, VARCHAR, or TEXT columns, because the sort operation needs to store the complete key values as it proceeds. If you have lots of temporary space and you can force \fBmyisamchk\fR to repair by sorting, you can use the \fB\-\-sort\-recover\fR option. .PP Repairing through the key buffer takes much less disk space than using sorting, but is also much slower. .PP If you want a faster repair, set the key_buffer_size and sort_buffer_size variables to about 25% of your available memory. You can set both variables to large values, because only one of them is used at a time. .PP myisam_block_size is the size used for index blocks. It is available as of MySQL 4.0.0. .PP stats_method influences how NULL values are treated for index statistics collection when the \fB\-\-analyze\fR option is given. It acts like the myisam_stats_method system variable. For more information, see the description of myisam_stats_method in the section called \(lqSERVER SYSTEM VARIABLES\(rq, and Section\ 4.7, \(lqMyISAM Index Statistics Collection\(rq. stats_method was added in MySQL 4.1.15/5.0.14. For older versions, the statistics collection method is equivalent to nulls_equal. .PP The ft_min_word_len and ft_max_word_len variables are available as of MySQL 4.0.0. ft_stopword_file is available as of MySQL 4.0.19. .PP ft_min_word_len and ft_max_word_len indicate the minimum and maximum word length for FULLTEXT indexes. ft_stopword_file names the stopword file. These need to be set under the following circumstances. .PP If you use \fBmyisamchk\fR to perform an operation that modifies table indexes (such as repair or analyze), the FULLTEXT indexes are rebuilt using the default full\-text parameter values for minimum and maximum word length and the stopword file unless you specify otherwise. This can result in queries failing. .PP The problem occurs because these parameters are known only by the server. They are not stored in MyISAM index files. To avoid the problem if you have modified the minimum or maximum word length or the stopword file in the server, specify the same ft_min_word_len, ft_max_word_len, and ft_stopword_file values to \fBmyisamchk\fR that you use for \fBmysqld\fR. For example, if you have set the minimum word length to 3, you can repair a table with \fBmyisamchk\fR like this: .sp .nf shell> \fBmyisamchk \-\-recover \-\-ft_min_word_len=3 \fR\fB\fItbl_name\fR\fR\fB.MYI\fR .fi .PP To ensure that \fBmyisamchk\fR and the server use the same values for full\-text parameters, you can place each one in both the [mysqld] and [myisamchk] sections of an option file: .sp .nf [mysqld] ft_min_word_len=3 [myisamchk] ft_min_word_len=3 .fi .PP An alternative to using \fBmyisamchk\fR is to use the REPAIR TABLE, ANALYZE TABLE, OPTIMIZE TABLE, or ALTER TABLE. These statements are performed by the server, which knows the proper full\-text parameter values to use. .SH "\\FBMYISAMCHK\\FR CHECK OPTIONS" .PP \fBmyisamchk\fR supports the following options for table checking operations: .TP 3 \(bu \fB\-\-check\fR, \fB\-c\fR .sp Check the table for errors. This is the default operation if you specify no option that selects an operation type explicitly. .TP \(bu \fB\-\-check\-only\-changed\fR, \fB\-C\fR .sp Check only tables that have changed since the last check. .TP \(bu \fB\-\-extend\-check\fR, \fB\-e\fR .sp Check the table very thoroughly. This is quite slow if the table has many indexes. This option should only be used in extreme cases. Normally, \fBmyisamchk\fR or \fBmyisamchk \-\-medium\-check\fR should be able to determine whether there are any errors in the table. .sp If you are using \fB\-\-extend\-check\fR and have plenty of memory, setting the key_buffer_size variable to a large value helps the repair operation run faster. .TP \(bu \fB\-\-fast\fR, \fB\-F\fR .sp Check only tables that haven't been closed properly. .TP \(bu \fB\-\-force\fR, \fB\-f\fR .sp Do a repair operation automatically if \fBmyisamchk\fR finds any errors in the table. The repair type is the same as that specified with the \fB\-\-recover\fR or \fB\-r\fR option. .TP \(bu \fB\-\-information\fR, \fB\-i\fR .sp Print informational statistics about the table that is checked. .TP \(bu \fB\-\-medium\-check\fR, \fB\-m\fR .sp Do a check that is faster than an \fB\-\-extend\-check\fR operation. This finds only 99.99% of all errors, which should be good enough in most cases. .TP \(bu \fB\-\-read\-only\fR, \fB\-T\fR .sp Don't mark the table as checked. This is useful if you use \fBmyisamchk\fR to check a table that is in use by some other application that does not use locking, such as \fBmysqld\fR when run with external locking disabled. .TP \(bu \fB\-\-update\-state\fR, \fB\-U\fR .sp Store information in the \fI.MYI\fR file to indicate when the table was checked and whether the table crashed. This should be used to get full benefit of the \fB\-\-check\-only\-changed\fR option, but you shouldn't use this option if the \fBmysqld\fR server is using the table and you are running it with external locking disabled. .SH "\\FBMYISAMCHK\\FR REPAIR OPTIONS" .PP \fBmyisamchk\fR supports the following options for table repair operations: .TP 3 \(bu \fB\-\-backup\fR, \fB\-B\fR .sp Make a backup of the \fI.MYD\fR file as \fI\fIfile_name\fR\fR\fI\-\fR\fI\fItime\fR\fR\fI.BAK\fR .TP \(bu \fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR .sp The directory where character sets are installed. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-correct\-checksum\fR .sp Correct the checksum information for the table. .TP \(bu \fB\-\-data\-file\-length=\fR\fB\fIlen\fR\fR\fB, \-D \fR\fB\fIlen\fR\fR .sp Maximum length of the data file (when re\-creating data file when it is \(lqfull\(rq). .TP \(bu \fB\-\-extend\-check\fR, \fB\-e\fR .sp Do a repair that tries to recover every possible row from the data file. Normally, this also finds a lot of garbage rows. Don't use this option unless you are totally desperate. .TP \(bu \fB\-\-force\fR, \fB\-f\fR .sp Overwrite old intermediate files (files with names like \fI\fItbl_name\fR\fR\fI.TMD\fR) instead of aborting. .TP \(bu \fB\-\-keys\-used=\fR\fB\fIval\fR\fR, \fB\-k \fR\fB\fIval\fR\fR .sp For \fBmyisamchk\fR, the option value is a bit\-value that indicates which indexes to update. Each binary bit of the option value corresponds to a table index, where the first index is bit 0. For \fBisamchk\fR, the option value indicates that only the first \fIval\fR of the table indexes should be updated. In either case, an option value of 0 disables updates to all indexes, which can be used to get faster inserts. Deactivated indexes can be reactivated by using \fBmyisamchk \-r\fR or (\fBisamchk \-r\fR). .TP \(bu \fB\-\-no\-symlinks\fR, \fB\-l\fR .sp Do not follow symbolic links. Normally \fBmyisamchk\fR repairs the table that a symlink points to. This option does not exist as of MySQL 4.0 because versions from 4.0 on do not remove symlinks during repair operations. .TP \(bu \fB\-\-max\-record\-length=\fR\fB\fIlen\fR\fR .sp Skip rows larger than the given length if \fBmyisamchk\fR cannot allocate memory to hold them. This option was added in MySQL 4.1.1. .TP \(bu \fB\-\-parallel\-recover\fR, \fB\-p\fR .sp Uses the same technique as \fB\-r\fR and \fB\-n\fR, but creates all the keys in parallel, using different threads. This option was added in MySQL 4.0.2. \fIThis is beta\-quality code; use at your own risk!\fR. .TP \(bu \fB\-\-quick\fR, \fB\-q\fR .sp Achieve a faster repair by not modifying the data file. You can specify this option twice to force \fBmyisamchk\fR to modify the original data file in case of duplicate keys. .TP \(bu \fB\-\-recover\fR, \fB\-r\fR .sp Do a repair that can fix almost any problem except unique keys that are not unique (which is an extremely unlikely error with ISAM/MyISAM tables). If you want to recover a table, this is the option to try first. You should try \fB\-\-safe\-recover\fR only if \fBmyisamchk\fR reports that the table cannot be recovered by \fB\-\-recover\fR. (In the unlikely case that \fB\-\-recover\fR fails, the data file remains intact.) .sp If you have lots of memory, you should increase the value of sort_buffer_size. .TP \(bu \fB\-\-safe\-recover\fR, \fB\-o\fR .sp Do a repair using an old recovery method that reads through all rows in order and updates all index trees based on the rows found. This is an order of magnitude slower than \fB\-\-recover\fR, but can handle a couple of very unlikely cases that \fB\-\-recover\fR cannot. This recovery method also uses much less disk space than \fB\-\-recover\fR. Normally, you should repair first using \fB\-\-recover\fR, and then with \fB\-\-safe\-recover\fR only if \fB\-\-recover\fR fails. .sp If you have lots of memory, you should increase the value of key_buffer_size. .TP \(bu \fB\-\-set\-character\-set=\fR\fB\fIname\fR\fR .sp Change the character set used by the table indexes. This option was replaced by \fB\-\-set\-collation\fR in MySQL 4.1.1. .TP \(bu \fB\-\-set\-collation=\fR\fB\fIname\fR\fR .sp Specify the collation to use for sorting table indexes. The character set name is implied by the first part of the collation name. This option was added in MySQL 4.1.11. .TP \(bu \fB\-\-sort\-recover\fR, \fB\-n\fR .sp Force \fBmyisamchk\fR to use sorting to resolve the keys even if the temporary files should be very big. .TP \(bu \fB\-\-tmpdir=\fR\fB\fIpath\fR\fR, \fB\-t \fR\fB\fIpath\fR\fR .sp Path of the directory to be used for storing temporary files. If this is not set, \fBmyisamchk\fR uses the value of the TMPDIR environment variable. Starting from MySQL 4.1, tmpdir can be set to a list of directory paths that are used successively in round\-robin fashion for creating temporary files. The separator character between directory names should be colon (\(oq:\(cq) on Unix and semicolon (\(oq;\(cq) on Windows, NetWare, and OS/2. .TP \(bu \fB\-\-unpack\fR, \fB\-u\fR .sp Unpack a table that was packed with \fBmyisampack\fR. .SH "OTHER MYISAMCHK OPTIONS" .PP \fBmyisamchk\fR supports the following options for actions other than table checks and repairs: .TP 3 \(bu \fB\-\-analyze\fR, \fB\-a\fR .sp Analyze the distribution of key values. This improves join performance by enabling the join optimizer to better choose the order in which to join the tables and which indexes it should use. To obtain information about the key distribution, use a \fBmyisamchk \-\-description \-\-verbose \fR\fB\fItbl_name\fR\fR command or the SHOW INDEX FROM \fItbl_name\fR statement. .TP \(bu \fB\-\-block\-search=\fR\fB\fIoffset\fR\fR, \fB\-b \fR\fB\fIoffset\fR\fR .sp Find the record that a block at the given offset belongs to. .TP \(bu \fB\-\-description\fR, \fB\-d\fR .sp Print some descriptive information about the table. .TP \(bu \fB\-\-set\-auto\-increment[=\fR\fB\fIvalue\fR\fR\fB]\fR, \fB\-A[\fR\fB\fIvalue\fR\fR\fB]\fR .sp Force AUTO_INCREMENT numbering for new records to start at the given value (or higher, if there are existing records with AUTO_INCREMENT values this large). If \fIvalue\fR is not specified, AUTO_INCREMENT numbers for new records begin with the largest value currently in the table, plus one. .TP \(bu \fB\-\-sort\-index\fR, \fB\-S\fR .sp Sort the index tree blocks in high\-low order. This optimizes seeks and makes table scans that use indexes faster. .TP \(bu \fB\-\-sort\-records=\fR\fB\fIN\fR\fR, \fB\-R \fR\fB\fIN\fR\fR .sp Sort records according to a particular index. This makes your data much more localized and may speed up range\-based SELECT and ORDER BY operations that use this index. (The first time you use this option to sort a table, it may be very slow.) To determine a table's index numbers, use SHOW INDEX, which displays a table's indexes in the same order that \fBmyisamchk\fR sees them. Indexes are numbered beginning with 1. .sp If keys are not packed (PACK_KEYS=0)), they have the same length, so when \fBmyisamchk\fR sorts and moves records, it just overwrites record offsets in the index. If keys are packed (PACK_KEYS=1), \fBmyisamchk\fR must unpack key blocks first, then re\-create indexes and pack the key blocks again. (In this case, re\-creating indexes is faster than updating offsets for each index.) .SH "\\FBMYISAMCHK\\FR MEMORY USAGE" .PP Memory allocation is important when you run \fBmyisamchk\fR. \fBmyisamchk\fR uses no more memory than its memory\-related variables are set to. If you are going to use \fBmyisamchk\fR on very large tables, you should first decide how much memory you want it to use. The default is to use only about 3MB to perform repairs. By using larger values, you can get \fBmyisamchk\fR to operate faster. For example, if you have more than 32MB RAM, you could use options such as these (in addition to any other options you might specify): .sp .nf shell> \fBmyisamchk \-\-sort_buffer_size=16M \-\-key_buffer_size=16M \\\fR \fB\-\-read_buffer_size=1M \-\-write_buffer_size=1M ...\fR .fi .PP Using \fB\-\-sort_buffer_size=16M\fR should probably be enough for most cases. .PP Be aware that \fBmyisamchk\fR uses temporary files in TMPDIR. If TMPDIR points to a memory filesystem, you may easily get out of memory errors. If this happens, run \fBmyisamchk\fR with the \fB\-\-tmpdir=\fR\fB\fIpath\fR\fR option to specify some directory located on a filesystem that has more space. .PP When repairing, \fBmyisamchk\fR also needs a lot of disk space: .TP 3 \(bu Double the size of the data file (the original file and a copy). This space is not needed if you do a repair with \fB\-\-quick\fR; in this case, only the index file is re\-created. \fIThis space must be available on the same filesystem as the original data file\fR, as the copy is created in the same directory as the original. .TP \(bu Space for the new index file that replaces the old one. The old index file is truncated at the start of the repair operation, so you usually ignore this space. This space must be available on the same filesystem as the original data file. .TP \(bu When using \fB\-\-recover\fR or \fB\-\-sort\-recover\fR (but not when using \fB\-\-safe\-recover\fR), you need space for a sort buffer. The following formula yields the amount of space required: .sp .nf (\fIlargest_key\fR + \fIrow_pointer_length\fR) \(mu \fInumber_of_rows\fR \(mu 2 .fi You can check the length of the keys and the row_pointer_length with \fBmyisamchk \-dv \fR\fB\fItbl_name\fR\fR. This space is allocated in the temporary directory (specified by TMPDIR or \fB\-\-tmpdir=\fR\fB\fIpath\fR\fR). .PP If you have a problem with disk space during repair, you can try \fB\-\-safe\-recover\fR instead of \fB\-\-recover\fR. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/safe_mysqld.1 0000644 0000000 0000000 00000000027 10664762446 016642 0 ustar root root .so man1/mysqld_safe.1 usr/local/mysql/man/man1/mysqlman.1 0000644 0000000 0000000 00000001243 10664762446 016175 0 ustar root root .TH mysqlman 1 "20 July 2004" "MySQL" "MySQL database" .SH NAME mysqlman \- default man page for mysql .SH "DESCRIPTION" Certain executables distributed with the MySQL database management system do not have specific man pages. .SH "SEE ALSO" In most cases, you can run the executable from the command line with a "--help" argument to display a brief summary of the executable's arguments and function. For more information about MySQL, 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/mysql/en .SH BUGS Please refer to http://bugs.mysql.com/ to report bugs. .\" end of man page usr/local/mysql/man/man1/isamchk.1 0000644 0000000 0000000 00000000025 10664762443 015745 0 ustar root root .so man1/myisamchk.1 usr/local/mysql/man/man1/mysqld.1 0000644 0000000 0000000 00000430276 10664762445 015660 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQLD\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysqld \- the MySQL server .SH "SYNOPSIS" .HP 17 \fBmysqld [\fR\fB\fIoptions\fR\fR\fB]\fR .SH "DESCRIPTION" .PP \fBmysqld\fR is the MySQL server. The following discussion covers these MySQL server configuration topics: .TP 3 \(bu Startup options that the server supports .TP \(bu Server system variables .TP \(bu Server status variables .TP \(bu How to set the server SQL mode .TP \(bu The server shutdown process .SH "\\FBMYSQLD\\FR COMMAND OPTIONS" .PP When you start the \fBmysqld\fR server, you can specify program options using any of the methods described in Section\ 3, \(lqSpecifying Program Options\(rq. The most common methods are to provide options in an option file or on the command line. However, in most cases it is desirable to make sure that the server uses the same options each time it runs. The best way to ensure this is to list them in an option file. See Section\ 3.2, \(lqUsing Option Files\(rq. .PP \fBmysqld\fR reads options from the [mysqld] and [server] groups. \fBmysqld_safe\fR reads options from the [mysqld], [server], [mysqld_safe], and [safe_mysqld] groups. \fBmysql.server\fR reads options from the [mysqld] and [mysql.server] groups. .PP An embedded MySQL server usually reads options from the [server], [embedded], and [\fIxxxxx\fR_SERVER] groups, where \fIxxxxx\fR is the name of the application into which the server is embedded. .PP \fBmysqld\fR accepts many command options. For a list, execute \fBmysqld \-\-help\fR. Before MySQL 4.1.1, \fB\-\-help\fR prints the full help message. As of 4.1.1, it prints a brief message; to see the full list, use \fBmysqld \-\-verbose \-\-help\fR. .PP The following list shows some of the most common server options. Additional options are described in other sections: .TP 3 \(bu Options that affect security: See Section\ 5.3, \(lqSecurity\-Related \fBmysqld\fR Options\(rq. .TP \(bu SSL\-related options: See Section\ 7.7.4, \(lqSSL Command Options\(rq. .TP \(bu Binary log control options: See Section\ 10.4, \(lqThe Binary Log\(rq. .TP \(bu Replication\-related options: See Section\ 8, \(lqReplication Startup Options\(rq. .TP \(bu Options specific to particular storage engines: See Section\ 1.1, \(lqMyISAM Startup Options\(rq, Section\ 5.3, \(lqBDB Startup Options\(rq, Section\ 2.5, \(lqInnoDB Startup Options and System Variables\(rq, and Section\ 5.5.1, \(lqMySQL Cluster\-Related Command Options for \fBmysqld\fR\(rq. .PP You can also set the values of server system variables by using variable names as options, as described later in this section. .TP 3 \(bu \fB\-\-help\fR, \fB\-?\fR .sp Display a short help message and exit. Before MySQL 4.1.1, \fB\-\-help\fR displays the full help message. As of 4.1.1, it displays an abbreviated message only. Use both the \fB\-\-verbose\fR and \fB\-\-help\fR options to see the full message. .TP \(bu \fB\-\-allow\-suspicious\-udfs\fR .sp This option controls whether user\-defined functions that have only an xxx symbol for the main function can be loaded. By default, the option is off and only UDFs that have at least one auxiliary symbol can be loaded; this prevents attempts at loading functions from shared object files other than those containing legitimate UDFs. This option was added in MySQL 4.0.24, and 4.1.10a. See Section\ 2.4.6, \(lqUser\-Defined Function Security Precautions\(rq. .TP \(bu \fB\-\-ansi\fR .sp Use standard (ANSI) SQL syntax instead of MySQL syntax. For more precise control over the server SQL mode, use the \fB\-\-sql\-mode\fR option instead. See Section\ 9.3, \(lqRunning MySQL in ANSI Mode\(rq, and the section called \(lqTHE SERVER SQL MODE\(rq. .TP \(bu \fB\-\-basedir=\fR\fB\fIpath\fR\fR, \fB\-b \fR\fB\fIpath\fR\fR .sp The path to the MySQL installation directory. All paths are usually resolved relative to this directory. .TP \(bu \fB\-\-big\-tables\fR .sp Allow large result sets by saving all temporary sets in files. This option prevents most \(lqtable full\(rq errors, but also slows down queries for which in\-memory tables would suffice. Since MySQL 3.23.2, the server is able to handle large result sets automatically by using memory for small temporary tables and switching to disk tables where necessary. .TP \(bu \fB\-\-bind\-address=\fR\fB\fIIP\fR\fR .sp The IP address to bind to. .TP \(bu \fB\-\-bootstrap\fR .sp This option is used by the \fBmysql_install_db\fR script to create the MySQL privilege tables without having to start a full MySQL server. .TP \(bu \fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR .sp The directory where character sets are installed. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-character\-set\-client\-handshake\fR .sp Don't ignore character set information sent by the client. To ignore client information and use the default server character set, use \fB\-\-skip\-character\-set\-client\-handshake\fR; this makes MySQL 4.1 and higher behave like MySQL 4.0. This option was added in MySQL 4.1.15. .TP \(bu \fB\-\-character\-set\-server=\fR\fB\fIcharset_name\fR\fR, \fB\-C \fR\fB\fIcharset_name\fR\fR .sp Use \fIcharset_name\fR as the default server character set. This option is available as of MySQL 4.1.3. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-chroot=\fR\fB\fIpath\fR\fR .sp Put the \fBmysqld\fR server in a closed environment during startup by using the chroot() system call. This is a recommended security measure as of MySQL 4.0. (MySQL 3.23 is not able to provide a chroot() jail that is 100% closed.) Note that use of this option somewhat limits LOAD DATA INFILE and SELECT ... INTO OUTFILE. .TP \(bu \fB\-\-collation\-server=\fR\fB\fIcollation_name\fR\fR .sp Use \fIcollation_name\fR as the default server collation. This option is available as of MySQL 4.1.3. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-console\fR .sp (Windows only.) Write error log messages to stderr and stdout even if \fB\-\-log\-error\fR is specified. \fBmysqld\fR does not close the console window if this option is used. .TP \(bu \fB\-\-core\-file\fR .sp Write a core file if \fBmysqld\fR dies. For some systems, you must also specify the \fB\-\-core\-file\-size\fR option to \fBmysqld_safe\fR. See \fBmysqld_safe\fR(1). Note that on some systems, such as Solaris, you do not get a core file if you are also using the \fB\-\-user\fR option. .TP \(bu \fB\-\-datadir=\fR\fB\fIpath\fR\fR, \fB\-h \fR\fB\fIpath\fR\fR .sp The path to the data directory. .TP \(bu \fB\-\-debug[=\fR\fB\fIdebug_options\fR\fR\fB]\fR, \fB\-# [\fR\fB\fIdebug_options\fR\fR\fB]\fR .sp If MySQL is configured with \fB\-\-with\-debug\fR, you can use this option to get a trace file of what \fBmysqld\fR is doing. The \fIdebug_options\fR string often is \'d:t:o,\fIfile_name\fR'. The default is \'d:t:i:o,mysqld.trace'. See Section\ 1.2, \(lqCreating Trace Files\(rq. .TP \(bu \fB\-\-default\-character\-set=\fR\fB\fIcharset_name\fR\fR, \fB\-C \fR\fB\fIcharset_name\fR\fR .sp Use \fIcharset_name\fR as the default character set. This option is deprecated in favor of \fB\-\-character\-set\-server\fR as of MySQL 4.1.3. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-default\-collation=\fR\fB\fIcollation_name\fR\fR .sp Use \fIcollation_name\fR as the default collation. This option is deprecated in favor of \fB\-\-collation\-server\fR as of MySQL 4.1.3. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-default\-storage\-engine=\fR\fB\fItype\fR\fR .sp This option is a synonym for \fB\-\-default\-table\-type\fR. It is available as of MySQL 4.1.2. .TP \(bu \fB\-\-default\-table\-type=\fR\fB\fItype\fR\fR .sp Set the default table type (storage engine) for tables. See Chapter\ 14, Storage Engines and Table Types. .TP \(bu \fB\-\-default\-time\-zone=\fR\fB\fItimezone\fR\fR .sp Set the default server time zone. This option sets the global time_zone system variable. If this option is not given, the default time zone is the same as the system time zone (given by the value of the system_time_zone system variable. This option is available as of MySQL 4.1.3. .TP \(bu \fB\-\-delay\-key\-write[={OFF|ON|ALL}]\fR .sp Specify how to use delayed key writes. Delayed key writing causes key buffers not to be flushed between writes for MyISAM tables. OFF disables delayed key writes. ON enables delayed key writes for those tables that were created with the DELAY_KEY_WRITE option. ALL delays key writes for all MyISAM tables. Available as of MySQL 4.0.3. See Section\ 5.2, \(lqTuning Server Parameters\(rq, and Section\ 1.1, \(lqMyISAM Startup Options\(rq. .sp \fBNote\fR: If you set this variable to ALL, you should not use MyISAM tables from within another program (such as another MySQL server or \fBmyisamchk\fR) when the tables are in use. Doing so leads to index corruption. .TP \(bu \fB\-\-delay\-key\-write\-for\-all\-tables\fR .sp Old form of \fB\-\-delay\-key\-write=ALL\fR for use prior to MySQL 4.0.3. As of 4.0.3, use \fB\-\-delay\-key\-write\fR instead. .TP \(bu \fB\-\-des\-key\-file=\fR\fB\fIfile_name\fR\fR .sp Read the default DES keys from this file. These keys are used by the DES_ENCRYPT() and DES_DECRYPT() functions. .TP \(bu \fB\-\-enable\-named\-pipe\fR .sp Enable support for named pipes. This option applies only on Windows NT, 2000, XP, and 2003 systems, and can be used only with the \fBmysqld\-nt\fR and \fBmysqld\-max\-nt\fR servers that support named\-pipe connections. .TP \(bu \fB\-\-exit\-info[=\fR\fB\fIflags\fR\fR\fB]\fR, \fB\-T [\fR\fB\fIflags\fR\fR\fB]\fR .sp This is a bit mask of different flags that you can use for debugging the \fBmysqld\fR server. Do not use this option unless you know \fIexactly\fR what it does! .TP \(bu \fB\-\-external\-locking\fR .sp Enable external locking (system locking), which is disabled by default as of MySQL 4.0. Note that if you use this option on a system on which lockd does not fully work (such as Linux), it is easy for \fBmysqld\fR to deadlock. This option was named \fB\-\-enable\-locking\fR before MySQL 4.0.3. .sp \fBNote\fR: If you use this option to enable updates to MyISAM tables from many MySQL processes, you must ensure that the following conditions are satisfied: .RS .TP 3 \(bu You should not use the query cache for queries that use tables that are updated by another process. .TP \(bu You should not use \fB\-\-delay\-key\-write=ALL\fR or DELAY_KEY_WRITE=1 on any shared tables. .RE .IP The easiest way to ensure this is to always use \fB\-\-external\-locking\fR together with \fB\-\-delay\-key\-write=OFF\fR and \fB\-\-query\-cache\-size=0\fR. (This is not done by default because in many setups it is useful to have a mixture of the preceding options.) .TP \(bu \fB\-\-flush\fR .sp Flush (synchronize) all changes to disk after each SQL statement. Normally, MySQL does a write of all changes to disk only after each SQL statement and lets the operating system handle the synchronizing to disk. See Section\ 4.2, \(lqWhat to Do If MySQL Keeps Crashing\(rq. .TP \(bu \fB\-\-init\-file=\fR\fB\fIfile_name\fR\fR .sp Read SQL statements from this file at startup. Each statement must be on a single line and should not include comments. .TP \(bu \fB\-\-innodb\-safe\-binlog\fR .sp Adds consistency guarantees between the content of InnoDB tables and the binary log. See Section\ 10.4, \(lqThe Binary Log\(rq. .TP \(bu \fB\-\-innodb\-\fR\fB\fIxxx\fR\fR .sp The InnoDB options are listed in Section\ 2.5, \(lqInnoDB Startup Options and System Variables\(rq. .TP \(bu \fB\-\-language=\fR\fB\fIlang_name\fR\fR\fB, \-L \fR\fB\fIlang_name\fR\fR .sp Return client error messages in the given language. \fIlang_name\fR can be given as the language name or as the full pathname to the directory where the language files are installed. See Section\ 9.2, \(lqSetting the Error Message Language\(rq. .TP \(bu \fB\-\-log[=\fR\fB\fIfile_name\fR\fR\fB]\fR, \fB\-l [\fR\fB\fIfile_name\fR\fR\fB]\fR .sp Log connections and SQL statements received from clients to this file. See Section\ 10.2, \(lqThe General Query Log\(rq. If you omit the filename, MySQL uses \fI\fIhost_name\fR\fR\fI.log\fR as the filename. .TP \(bu \fB\-\-log\-bin[=\fR\fB\fIbase_name\fR\fR\fB]\fR .sp Enable binary logging. The server logs all statements that change data to the binary log, which is used for backup and replication. See Section\ 10.4, \(lqThe Binary Log\(rq. .sp The option value, if given, is the basename for the log sequence. The server creates binary log files in sequence by adding a numeric suffix to the basename. It is recommended that you specify a basename (see Section\ 8.4, \(lqOpen Issues in MySQL\(rq, for the reason). Otherwise, MySQL uses \fI\fIhost_name\fR\fR\fI\-bin\fR as the basename. .TP \(bu \fB\-\-log\-bin\-index[=\fR\fB\fIfile_name\fR\fR\fB]\fR .sp The index file for binary log filenames. See Section\ 10.4, \(lqThe Binary Log\(rq. If you omit the filename, and if you didn't specify one with \fB\-\-log\-bin\fR, MySQL uses \fI\fIhost_name\fR\fR\fI\-bin.index\fR as the filename. .TP \(bu \fB\-\-log\-error[=\fR\fB\fIfile_name\fR\fR\fB]\fR .sp Log errors and startup messages to this file. See Section\ 10.1, \(lqThe Error Log\(rq. If you omit the filename, MySQL uses \fI\fIhost_name\fR\fR\fI.err\fR. If the filename has no extension, the server adds an extension of \fI.err\fR. .TP \(bu \fB\-\-log\-isam[=\fR\fB\fIfile_name\fR\fR\fB]\fR .sp Log all ISAM/MyISAM changes to this file (used only when debugging ISAM/MyISAM). .TP \(bu \fB\-\-log\-long\-format\fR .sp Log extra information to the update log, binary update log, and slow query log, if they have been activated. For example, the username and timestamp are logged for queries. Before MySQL 4.1, if you are using \fB\-\-log\-slow\-queries\fR and \fB\-\-log\-long\-format\fR, queries that are not using indexes also are logged to the slow query log. \fB\-\-log\-long\-format\fR is deprecated as of MySQL version 4.1, when \fB\-\-log\-short\-format\fR was introduced. (Long log format is the default setting since version 4.1.) Also note that starting with MySQL 4.1, the \fB\-\-log\-queries\-not\-using\-indexes\fR option is available for the purpose of logging queries that do not use indexes to the slow query log. .TP \(bu \fB\-\-log\-queries\-not\-using\-indexes\fR .sp If you are using this option with \fB\-\-log\-slow\-queries\fR, queries that do not use indexes also are logged to the slow query log. This option is available as of MySQL 4.1. See Section\ 10.5, \(lqThe Slow Query Log\(rq. .TP \(bu \fB\-\-log\-short\-format\fR .sp Log less information to the update log, binary update log, and slow query log, if they have been activated. For example, the username and timestamp are not logged for queries. This option was introduced in MySQL 4.1. .TP \(bu \fB\-\-log\-slow\-admin\-statements\fR .sp Log slow administrative statements such as OPTIMIZE TABLE, ANALYZE TABLE, and ALTER TABLE to the slow query log. .sp This option was added in MySQL 4.1.13. (It is unnecessary in MySQL 4.0 because slow administrative statements are logged by default.) .TP \(bu \fB\-\-log\-slow\-queries[=\fR\fB\fIfile_name\fR\fR\fB]\fR .sp Log all queries that have taken more than long_query_time seconds to execute to this file. See Section\ 10.5, \(lqThe Slow Query Log\(rq. Note that the default for the amount of information logged has changed in MySQL 4.1. See the \fB\-\-log\-long\-format\fR and \fB\-\-log\-short\-format\fR options for details. .TP \(bu \fB\-\-log\-update[=\fR\fB\fIfile_name\fR\fR\fB]\fR .sp Log updates to \fIfileN\fR where \fIN\fR is a unique number if not given. See Section\ 10.3, \(lqThe Update Log\(rq. The update log is now deprecated; you should use the binary log instead (\fB\-\-log\-bin\fR). See Section\ 10.4, \(lqThe Binary Log\(rq. .TP \(bu \fB\-\-log\-warnings[=\fR\fB\fIlevel\fR\fR\fB]\fR, \fB\-W [\fR\fB\fIlevel\fR\fR\fB]\fR .sp Print out warnings such as Aborted connection... to the error log. Enabling this option is recommended, for example, if you use replication (you get more information about what is happening, such as messages about network failures and reconnections). This option is enabled by default as of MySQL 4.0.19 and 4.1.2; to disable it, use \fB\-\-log\-warnings=0\fR. As of MySQL 4.0.21 and 4.1.3, a \fIlevel\fR argument can be given. If omitted, the default \fIlevel\fR is 1. Aborted connections are not logged to the error log unless the value is greater than 1. See Section\ 2.10, \(lqCommunication Errors and Aborted Connections\(rq. .sp Before MySQL 4.0.21 and 4.1.3, this is a boolean option, not an integer\-valued option. Before 4.0, this option was named \fB\-\-warnings\fR. .TP \(bu \fB\-\-low\-priority\-updates\fR .sp Give table\-modifying operations (INSERT, REPLACE, DELETE, UPDATE) lower priority than selects. This can also be done via {INSERT | REPLACE | DELETE | UPDATE} LOW_PRIORITY ... to lower the priority of only one query, or by SET LOW_PRIORITY_UPDATES=1 to change the priority in one thread. See Section\ 3.2, \(lqTable Locking Issues\(rq. .TP \(bu \fB\-\-memlock\fR .sp Lock the \fBmysqld\fR process in memory. This works on systems such as Solaris that support the mlockall() system call. This might help if you have a problem where the operating system is causing \fBmysqld\fR to swap on disk. Note that use of this option requires that you run the server as root, which is normally not a good idea for security reasons. See Section\ 5.5, \(lqHow to Run MySQL as a Normal User\(rq. .TP \(bu \fB\-\-myisam\-recover[=\fR\fB\fIoption\fR\fR\fB[,\fR\fB\fIoption\fR\fR\fB]...]]\fR .sp Set the MyISAM storage engine recovery mode. The option value is any combination of the values of DEFAULT, BACKUP, FORCE, or QUICK. If you specify multiple values, separate them by commas. You can also use a value of "" to disable this option. If this option is used, each time \fBmysqld\fR opens a MyISAM table, it checks whether the table is marked as crashed or wasn't closed properly. (The last option works only if you are running with external locking disabled.) If this is the case, \fBmysqld\fR runs a check on the table. If the table was corrupted, \fBmysqld\fR attempts to repair it. .sp The following options affect how the repair works: \fBOption\fR\fBDescription\fRDEFAULTThe same as not giving any option to \fB\-\-myisam\-recover\fR.BACKUPIf the data file was changed during recovery, save a backup of the \fI\fItbl_name\fR\fR\fI.MYD\fR file as \fI\fItbl_name\-datetime\fR\fR\fI.BAK\fR.FORCERun recovery even if we would lose more than one row from the \fI.MYD\fR file.QUICKdo not check the rows in the table if there are not any delete blocks.Before the server automatically repairs a table, it writes a note about the repair to the error log. If you want to be able to recover from most problems without user intervention, you should use the options BACKUP,FORCE. This forces a repair of a table even if some rows would be deleted, but it keeps the old data file as a backup so that you can later examine what happened. .sp This option is available as of MySQL 3.23.25. .TP \(bu \fB\-\-ndb\-connectstring=\fR\fB\fIconnect_string\fR\fR .sp When using the NDB storage engine, it is possible to point out the management server that distributes the cluster configuration by setting the connect string option. See Section\ 4.4.2, \(lqThe MySQL Cluster connectstring\(rq, for syntax. .TP \(bu \fB\-\-ndbcluster\fR .sp If the binary includes support for the NDB Cluster storage engine (from version 4.1.3, the MySQL\-Max binaries are built with NDB Cluster enabled), this option enables the engine, which is disabled by default. Using the NDB Cluster storage engine is necessary for using MySQL Cluster. See Chapter\ 15, MySQL Cluster. .TP \(bu \fB\-\-new\fR .sp The \fB\-\-new\fR option can be used to make the server behave as 4.1 in certain respects, easing a 4.0 to 4.1 upgrade: .RS .TP 3 \(bu Hexadecimal strings such as 0xFF are treated as strings by default rather than as numbers. (Works in 4.0.12 and up.) .TP \(bu TIMESTAMP is returned as a string with the format \'YYYY\-MM\-DD HH:MM:SS'. (Works in 4.0.13 and up.) See Chapter\ 11, Data Types. .RE .IP This option can be used to help you see how your applications behave in MySQL 4.1, without actually upgrading to 4.1. .TP \(bu \fB\-\-old\-passwords\fR .sp Force the server to generate short (pre\-4.1) password hashes for new passwords. This is useful for compatibility when the server must support older client programs. See Section\ 6.9, \(lqPassword Hashing as of MySQL 4.1\(rq. .TP \(bu \fB\-\-old\-protocol\fR, \fB\-o\fR .sp Use the 3.20 protocol for compatibility with some very old clients. .TP \(bu \fB\-\-one\-thread\fR .sp Only use one thread (for debugging under Linux). This option is available only if the server is built with debugging enabled. See Section\ 1, \(lqDebugging a MySQL Server\(rq. .TP \(bu \fB\-\-open\-files\-limit=\fR\fB\fIcount\fR\fR .sp Change the number of file descriptors available to \fBmysqld\fR. If this option is not set or is set to 0, \fBmysqld\fR uses the value to reserve file descriptors with setrlimit(). If the value is 0, \fBmysqld\fR reserves max_connections\(mu5 or max_connections + table_open_cache\(mu2 files (whichever is larger). You should try increasing this value if \fBmysqld\fR gives you the error Too many open files. .TP \(bu \fB\-\-pid\-file=\fR\fB\fIpath\fR\fR .sp The pathname of the process ID file. This file is used by other programs such as \fBmysqld_safe\fR to determine the server's process ID. .TP \(bu \fB\-\-port=\fR\fB\fIport_num\fR\fR, \fB\-P \fR\fB\fIport_num\fR\fR .sp The port number to use when listening for TCP/IP connections. The port number must be 1024 or higher unless the server is started by the root system user. .TP \(bu \fB\-\-safe\-mode\fR .sp Skip some optimization stages. .TP \(bu \fB\-\-safe\-show\-database\fR .sp With this option, the SHOW DATABASES statement displays only the names of those databases for which the user has some kind of privilege. As of MySQL 4.0.2, this option is deprecated and does not do anything (it is enabled by default), because there is a SHOW DATABASES privilege that can be used to control access to database names on a per\-account basis. See Section\ 6.3, \(lqPrivileges Provided by MySQL\(rq. .TP \(bu \fB\-\-safe\-user\-create\fR .sp If this option is enabled, a user cannot create new MySQL users by using the GRANT statement, if the user doesn't have the INSERT privilege for the mysql.user table or any column in the table. .TP \(bu \fB\-\-secure\-auth\fR .sp Disallow authentication by clients that attempt to use accounts that have old (pre\-4.1) passwords. This option is available as of MySQL 4.1.1. .TP \(bu \fB\-\-shared\-memory\fR .sp Enable shared\-memory connections by local clients. This option is available only on Windows. It was added in MySQL 4.1.0. .TP \(bu \fB\-\-shared\-memory\-base\-name=\fR\fB\fIname\fR\fR .sp The name of shared memory to use for shared\-memory connections. This option is available only on Windows. The default name is MYSQL. The name is case sensitive. This option was added in MySQL 4.1.0. .TP \(bu \fB\-\-skip\-bdb\fR .sp Disable the BDB storage engine. This saves memory and might speed up some operations. Do not use this option if you require BDB tables. .TP \(bu \fB\-\-skip\-concurrent\-insert\fR .sp Turn off the ability to select and insert at the same time on MyISAM tables. (This is to be used only if you think you have found a bug in this feature.) See Section\ 3.3, \(lqConcurrent Inserts\(rq. .TP \(bu \fB\-\-skip\-delay\-key\-write\fR .sp Ignore the DELAY_KEY_WRITE option for all tables. As of MySQL 4.0.3, you should use \fB\-\-delay\-key\-write=OFF\fR instead. See Section\ 5.2, \(lqTuning Server Parameters\(rq. .TP \(bu \fB\-\-skip\-external\-locking\fR .sp Do not use external locking (system locking). With external locking disabled, you must shut down the server to use \fBmyisamchk\fR or \fBisamchk\fR. See Section\ 4.3, \(lqMySQL Stability\(rq. As of MySQL 3.23, you can use the CHECK TABLE and REPAIR TABLE statements to check and repair MyISAM tables. This option previously was named \fB\-\-skip\-locking\fR. .sp External locking has been disabled by default since MySQL 4.0. .TP \(bu \fB\-\-skip\-grant\-tables\fR .sp This option causes the server not to use the privilege system at all, which gives anyone with access to the server \fIunrestricted access to all databases\fR. You can cause a running server to start using the grant tables again by executing \fBmysqladmin flush\-privileges\fR or \fBmysqladmin reload\fR command from a system shell, or by issuing a MySQL FLUSH PRIVILEGES statement after connecting to the server. This option also suppresses loading of user\-defined functions (UDFs). .TP \(bu \fB\-\-skip\-host\-cache\fR .sp Do not use the internal hostname cache for faster name\-to\-IP resolution. Instead, query the DNS server every time a client connects. See Section\ 5.5, \(lqHow MySQL Uses DNS\(rq. .TP \(bu \fB\-\-skip\-innodb\fR .sp Disable the InnoDB storage engine. This saves memory and disk space and might speed up some operations. Do not use this option if you require InnoDB tables. .TP \(bu \fB\-\-skip\-isam\fR .sp Disable the ISAM storage engine. As of MySQL 4.1, ISAM is disabled by default, so this option applies only if the server was configured with support for ISAM. This option was added in MySQL 4.1.1. .TP \(bu \fB\-\-skip\-name\-resolve\fR .sp Do not resolve hostnames when checking client connections. Use only IP numbers. If you use this option, all Host column values in the grant tables must be IP numbers or localhost. See Section\ 5.5, \(lqHow MySQL Uses DNS\(rq. .TP \(bu \fB\-\-skip\-ndbcluster\fR .sp Disable the NDB Cluster storage engine. This is the default for binaries that were built with NDB Cluster storage engine support; the server allocates memory and other resources for this storage engine only if the \fB\-\-ndbcluster\fR option is given explicitly. See Section\ 4.3, \(lqQuick Test Setup of MySQL Cluster\(rq, for an example of usage. .TP \(bu \fB\-\-skip\-networking\fR .sp Do not listen for TCP/IP connections at all. All interaction with \fBmysqld\fR must be made via named pipes or shared memory (on Windows) or Unix socket files (on Unix). This option is highly recommended for systems where only local clients are allowed. See Section\ 5.5, \(lqHow MySQL Uses DNS\(rq. .TP \(bu \fB\-\-skip\-new\fR .sp do not use new, possibly wrong routines. .TP \(bu \fB\-\-skip\-symlink\fR .sp This is the old form of \fB\-\-skip\-symbolic\-links\fR, for use before MySQL 4.0.13. .TP \(bu \fB\-\-standalone\fR .sp Available on Windows NT\-based systems only; instructs the MySQL server not to run as a service. .TP \(bu \fB\-\-symbolic\-links\fR, \fB\-\-skip\-symbolic\-links\fR .sp Enable or disable symbolic link support. This option has different effects on Windows and Unix: .RS .TP 3 \(bu On Windows, enabling symbolic links allows you to establish a symbolic link to a database directory by creating a \fI\fIdb_name\fR\fR\fI.sym\fR file that contains the path to the real directory. See Section\ 6.1.3, \(lqUsing Symbolic Links for Databases on Windows\(rq. .TP \(bu On Unix, enabling symbolic links means that you can link a MyISAM index file or data file to another directory with the INDEX DIRECTORY or DATA DIRECTORY options of the CREATE TABLE statement. If you delete or rename the table, the files that its symbolic links point to also are deleted or renamed. See Section\ 6.1.2, \(lqUsing Symbolic Links for Tables on Unix\(rq. .RE .IP This option was added in MySQL 4.0.13. .TP \(bu \fB\-\-skip\-safemalloc\fR .sp If MySQL is configured with \fB\-\-with\-debug=full\fR, all MySQL programs check for memory overruns during each memory allocation and memory freeing operation. This checking is very slow, so for the server you can avoid it when you do not need it by using the \fB\-\-skip\-safemalloc\fR option. .TP \(bu \fB\-\-skip\-show\-database\fR .sp With this option, the SHOW DATABASES statement is allowed only to users who have the SHOW DATABASES privilege, and the statement displays all database names. Without this option, SHOW DATABASES is allowed to all users, but displays each database name only if the user has the SHOW DATABASES privilege or some privilege for the database. Note that \fIany\fR global privilege is considered a privilege for the database. .TP \(bu \fB\-\-skip\-stack\-trace\fR .sp do not write stack traces. This option is useful when you are running \fBmysqld\fR under a debugger. On some systems, you also must use this option to get a core file. See Section\ 1, \(lqDebugging a MySQL Server\(rq. .TP \(bu \fB\-\-skip\-thread\-priority\fR .sp Disable using thread priorities for faster response time. .TP \(bu \fB\-\-socket=\fR\fB\fIpath\fR\fR .sp On Unix, this option specifies the Unix socket file to use when listening for local connections. The default value is \fI/tmp/mysql.sock\fR. On Windows, the option specifies the pipe name to use when listening for local connections that use a named pipe. The default value is MySQL (not case sensitive). .TP \(bu \fB\-\-sql\-mode=\fR\fB\fIvalue\fR\fR\fB[,\fR\fB\fIvalue\fR\fR\fB[,\fR\fB\fIvalue\fR\fR\fB...]]\fR .sp Set the SQL mode. See the section called \(lqTHE SERVER SQL MODE\(rq. This option was added in 3.23.41. .TP \(bu \fB\-\-temp\-pool\fR .sp This option causes most temporary files created by the server to use a small set of names, rather than a unique name for each new file. This works around a problem in the Linux kernel dealing with creating many new files with different names. With the old behavior, Linux seems to \(lqleak\(rq memory, because it is being allocated to the directory entry cache rather than to the disk cache. .TP \(bu \fB\-\-transaction\-isolation=\fR\fB\fIlevel\fR\fR .sp Sets the default transaction isolation level. The level value can be READ\-UNCOMMITTED, READ\-COMMITTED, REPEATABLE\-READ, or SERIALIZABLE. See Section\ 4.6, \(lqSET TRANSACTION Syntax\(rq. .TP \(bu \fB\-\-tmpdir=\fR\fB\fIpath\fR\fR, \fB\-t \fR\fB\fIpath\fR\fR .sp The path of the directory to use for creating temporary files. It might be useful if your default /tmp directory resides on a partition that is too small to hold temporary tables. Starting from MySQL 4.1.0, this option accepts several paths that are used in round\-robin fashion. Paths should be separated by colon characters (\(oq:\(cq) on Unix and semicolon characters (\(oq;\(cq) on Windows, NetWare, and OS/2. If the MySQL server is acting as a replication slave, you should not set \fB\-\-tmpdir\fR to point to a directory on a memory\-based filesystem or to a directory that is cleared when the server host restarts. For more information about the storage location of temporary files, see Section\ 4.4, \(lqWhere MySQL Stores Temporary Files\(rq. A replication slave needs some of its temporary files to survive a machine restart so that it can replicate temporary tables or LOAD DATA INFILE operations. If files in the temporary file directory are lost when the server restarts, replication fails. .TP \(bu \fB\-\-user={\fR\fB\fIuser_name\fR\fR\fB|\fR\fB\fIuser_id\fR\fR\fB}\fR, \fB\-u {\fR\fB\fIuser_name\fR\fR\fB|\fR\fB\fIuser_id\fR\fR\fB}\fR .sp Run the \fBmysqld\fR server as the user having the name \fIuser_name\fR or the numeric user ID \fIuser_id\fR. (\(lqUser\(rq in this context refers to a system login account, not a MySQL user listed in the grant tables.) .sp This option is \fImandatory\fR when starting \fBmysqld\fR as root. The server changes its user ID during its startup sequence, causing it to run as that particular user rather than as root. See Section\ 5.1, \(lqGeneral Security Guidelines\(rq. .sp Starting from MySQL 3.23.56 and 4.0.12: To avoid a possible security hole where a user adds a \fB\-\-user=root\fR option to a \fImy.cnf\fR file (thus causing the server to run as root), \fBmysqld\fR uses only the first \fB\-\-user\fR option specified and produces a warning if there are multiple \fB\-\-user\fR options. Options in \fI/etc/my.cnf\fR and \fI$MYSQL_HOME/my.cnf\fR are processed before command\-line options, so it is recommended that you put a \fB\-\-user\fR option in \fI/etc/my.cnf\fR and specify a value other than root. The option in \fI/etc/my.cnf\fR is found before any other \fB\-\-user\fR options, which ensures that the server runs as a user other than root, and that a warning results if any other \fB\-\-user\fR option is found. .TP \(bu \fB\-\-version\fR, \fB\-V\fR .sp Display version information and exit. .PP As of MySQL 4.0, you can assign a value to a server system variable by using an option of the form \fB\-\-\fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR. For example, \fB\-\-key_buffer_size=32M\fR sets the key_buffer_size variable to a value of 32MB. .PP Note that when you assign a value to a variable, MySQL might automatically correct the value to stay within a given range, or adjust the value to the closest allowable value if only certain values are allowed. .PP If you want to restrict the maximum value to which a variable can be set at runtime with SET, you can define this by using the \fB\-\-maximum\-\fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR command\-line option. .PP It is also possible to set variables by using \fB\-\-set\-variable=\fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR or \fB\-\-\fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR syntax. \fIThis syntax is deprecated as of MySQL 4.0.\fR .PP You can change the values of most system variables for a running server with the SET statement. See Section\ 5.3, \(lqSET Syntax\(rq. .PP the section called \(lqSERVER SYSTEM VARIABLES\(rq, provides a full description for all variables, and additional information for setting them at server startup and runtime. Section\ 5.2, \(lqTuning Server Parameters\(rq, includes information on optimizing the server by tuning system variables. .SH "SERVER SYSTEM VARIABLES" .PP The \fBmysql\fR server maintains many system variables that indicate how it is configured. Each system variable has a default value. System variables can be set at server startup using options on the command line or in an option file. As of MySQL 4.0.3, most of them can be changed dynamically while the server is running by means of the SET statement, which enables you to modify operation of the server without having to stop and restart it. You can refer to system variable values in expressions. .PP There are several ways to see the names and values of system variables: .TP 3 \(bu To see the values that a server will use based on its compiled\-in defaults and any option files that it reads, use this command (omit \fB\-\-verbose\fR before MySQL 4.1.1): .sp .nf mysqld \-\-verbose \-\-help .fi .TP \(bu To see the values that a server will use based on its compiled\-in defaults, ignoring the settings in any option files, use this command (omit \fB\-\-verbose\fR before MySQL 4.1.1): .sp .nf mysqld \-\-no\-defaults \-\-verbose \-\-help .fi .TP \(bu To see the current values used by a running server, use the SHOW VARIABLES statement. .PP This section provides a description of each system variable. Variables with no version indicated have been present since at least MySQL 3.22. .PP For additional system variable information, see these sections: .TP 3 \(bu the section called \(lqUSING SYSTEM VARIABLES\(rq, discusses the syntax for setting and displaying system variable values. .TP \(bu the section called \(lqDynamic System Variables\(rq, lists the variables that can be set at runtime. .TP \(bu Information on tuning sytem variables can be found in Section\ 5.2, \(lqTuning Server Parameters\(rq. .TP \(bu Section\ 2.5, \(lqInnoDB Startup Options and System Variables\(rq, lists InnoDB system variables. .PP \fINote\fR: Some of the following variable descriptions refer to \(lqenabling\(rq or \(lqdisabling\(rq a variable. These variables can be enabled with the SET statement by setting them to ON or 1, or disabled by setting them to OFF or 0. However, to set such a variable on the command line or in an option file, you must set it to 1 or 0; setting it to ON or OFF will not work. For example, on the command line, \fB\-\-delay_key_write=1\fR works but \fB\-\-delay_key_write=ON\fR does not. .PP Values for buffer sizes, lengths, and stack sizes are given in bytes unless otherwise specified. .TP 3 \(bu ansi_mode .sp This is ON if \fBmysqld\fR was started with \fB\-\-ansi\fR. See Section\ 9.3, \(lqRunning MySQL in ANSI Mode\(rq. This variable was added in MySQL 3.23.6 and removed in 3.23.41. See the description for sql_mode. .TP \(bu back_log .sp The number of outstanding connection requests MySQL can have. This comes into play when the main MySQL thread gets very many connection requests in a very short time. It then takes some time (although very little) for the main thread to check the connection and start a new thread. The back_log value indicates how many requests can be stacked during this short time before MySQL momentarily stops answering new requests. You need to increase this only if you expect a large number of connections in a short period of time. .sp In other words, this value is the size of the listen queue for incoming TCP/IP connections. Your operating system has its own limit on the size of this queue. The manual page for the Unix listen() system call should have more details. Check your OS documentation for the maximum value for this variable. back_log cannot be set higher than your operating system limit. .TP \(bu basedir .sp The MySQL installation base directory. This variable can be set with the \fB\-\-basedir\fR option. .TP \(bu bdb_cache_size .sp The size of the buffer that is allocated for caching indexes and rows for BDB tables. If you do not use BDB tables, you should start \fBmysqld\fR with \fB\-\-skip\-bdb\fR to not allocate memory for this cache. This variable was added in MySQL 3.23.14. .TP \(bu bdb_home .sp The base directory for BDB tables. This should be assigned the same value as the datadir variable. This variable was added in MySQL 3.23.14. .TP \(bu bdb_log_buffer_size .sp The size of the buffer that is allocated for caching indexes and rows for BDB tables. If you do not use BDB tables, you should set this to 0 or start \fBmysqld\fR with \fB\-\-skip\-bdb\fR in order not to allocate memory for this cache. This variable was added in MySQL 3.23.31. .TP \(bu bdb_logdir .sp The directory where the BDB storage engine writes its log files. This variable can be set with the \fB\-\-bdb\-logdir\fR option. This variable was added in MySQL 3.23.14. .TP \(bu bdb_max_lock .sp The maximum number of locks that can be active for a BDB table (10,000 by default). You should increase this value if errors such as the following occur when you perform long transactions or when \fBmysqld\fR has to examine many rows to calculate a query: .sp .nf bdb: Lock table is out of available locks Got error 12 from ... .fi This variable was added in MySQL 3.23.29. .TP \(bu bdb_shared_data .sp This is ON if you are using \fB\-\-bdb\-shared\-data\fR to start Berkeley DB in multi\-process mode. (Do not use DB_PRIVATE when initializing Berkeley DB.) This variable was added in MySQL 3.23.29. .TP \(bu bdb_tmpdir .sp The BDB temporary file directory. This variable was added in MySQL 3.23.14. .TP \(bu bdb_version .sp See the description for version_bdb. .TP \(bu binlog_cache_size .sp The size of the cache to hold the SQL statements for the binary log during a transaction. A binary log cache is allocated for each client if the server supports any transactional storage engines and, starting from MySQL 4.1.2, if the server has the binary log enabled (\fB\-\-log\-bin\fR option). If you often use large, multiple\-statement transactions, you can increase this cache size to get more performance. The Binlog_cache_use and Binlog_cache_disk_use status variables can be useful for tuning the size of this variable. This variable was added in MySQL 3.23.29. See Section\ 10.4, \(lqThe Binary Log\(rq. .TP \(bu bulk_insert_buffer_size .sp MyISAM uses a special tree\-like cache to make bulk inserts faster for INSERT ... SELECT, INSERT ... VALUES (...), (...), ..., and LOAD DATA INFILE when adding data to non\-empty tables. This variable limits the size of the cache tree in bytes per thread. Setting it to 0 disables this optimization. The default value is 8MB. This variable was added in MySQL 4.0.3. This variable previously was named myisam_bulk_insert_tree_size. .TP \(bu character_set .sp The default character set. This variable was added in MySQL 3.23.3, then removed in MySQL 4.1.1 and replaced by the various character_set_\fIxxx\fR variables. .TP \(bu character_set_client .sp The character set for statements that arrive from the client. This variable was added in MySQL 4.1.1. .TP \(bu character_set_connection .sp The character set used for literals that do not have a character set introducer and for number\-to\-string conversion. This variable was added in MySQL 4.1.1. .TP \(bu character_set_database .sp The character set used by the default database. The server sets this variable whenever the default database changes. If there is no default database, the variable has the same value as character_set_server. This variable was added in MySQL 4.1.1. .TP \(bu character_set_results .sp The character set used for returning query results to the client. This variable was added in MySQL 4.1.1. .TP \(bu character_set_server .sp The server default character set. This variable was added in MySQL 4.1.1. .TP \(bu character_set_system .sp The character set used by the server for storing identifiers. The value is always utf8. This variable was added in MySQL 4.1.1. .TP \(bu character_sets .sp The supported character sets. This variable was added in MySQL 3.23.15 and removed in MySQL 4.1.1. (Use SHOW CHARACTER SET for a list of character sets.) .TP \(bu character_sets_dir .sp The directory where character sets are installed. This variable was added in MySQL 4.1.2. .TP \(bu collation_connection .sp The collation of the connection character set. This variable was added in MySQL 4.1.1. .TP \(bu collation_database .sp The collation used by the default database. The server sets this variable whenever the default database changes. If there is no default database, the variable has the same value as collation_server. This variable was added in MySQL 4.1.1. .TP \(bu collation_server .sp The server default collation. This variable was added in MySQL 4.1.1. .TP \(bu concurrent_insert .sp If ON (the default), MySQL allows INSERT and SELECT statements to run concurrently for MyISAM tables that have no free blocks in the middle. You can turn this option off by starting \fBmysqld\fR with \fB\-\-safe\fR or \fB\-\-skip\-new\fR. This variable was added in MySQL 3.23.7. .sp See also Section\ 3.3, \(lqConcurrent Inserts\(rq. .TP \(bu connect_timeout .sp The number of seconds that the \fBmysqld\fR server waits for a connect packet before responding with Bad handshake. .TP \(bu convert_character_set .sp The current character set mapping that was set by SET CHARACTER SET. This variable was removed in MySQL 4.1. .TP \(bu datadir .sp The MySQL data directory. This variable can be set with the \fB\-\-datadir\fR option. .TP \(bu date_format .sp This variable is not implemented. .TP \(bu datetime_format .sp This variable is not implemented. .TP \(bu default_week_format .sp The default mode value to use for the WEEK() function. See Section\ 5, \(lqDate and Time Functions\(rq. This variable is available as of MySQL 4.0.14. .TP \(bu delay_key_write .sp This option applies only to MyISAM tables. It can have one of the following values to affect handling of the DELAY_KEY_WRITE table option that can be used in CREATE TABLE statements. \fBOption\fR\fBDescription\fROFFDELAY_KEY_WRITE is ignored.ONMySQL honors any DELAY_KEY_WRITE option specified in CREATE TABLE statements. This is the default value.ALLAll new opened tables are treated as if they were created with the DELAY_KEY_WRITE option enabled.If DELAY_KEY_WRITE is enabled for a table, the key buffer is not flushed for the table on every index update, but only when the table is closed. This speeds up writes on keys a lot, but if you use this feature, you should add automatic checking of all MyISAM tables by starting the server with the \fB\-\-myisam\-recover\fR option (for example, \fB\-\-myisam\-recover=BACKUP,FORCE\fR). See the section called \(lq\\FBMYSQLD\\FR COMMAND OPTIONS\(rq, and Section\ 1.1, \(lqMyISAM Startup Options\(rq. .sp Note that enabling external locking with \fB\-\-external\-locking\fR offers no protection against index corruption for tables that use delayed key writes. .sp This variable was added in MySQL 3.23.8. .TP \(bu delayed_insert_limit .sp After inserting delayed_insert_limit delayed rows, the INSERT DELAYED handler thread checks whether there are any SELECT statements pending. If so, it allows them to execute before continuing to insert delayed rows. .TP \(bu delayed_insert_timeout .sp How many seconds an INSERT DELAYED handler thread should wait for INSERT statements before terminating. .TP \(bu delayed_queue_size .sp This is a per\-table limit on the number of rows to queue when handling INSERT DELAYED statements. If the queue becomes full, any client that issues an INSERT DELAYED statement waits until there is room in the queue again. .TP \(bu expire_logs_days .sp The number of days for automatic binary log removal. The default is 0, which means \(lqno automatic removal.\(rq Possible removals happen at startup and at binary log rotation. This variable was added in MySQL 4.1.0. .TP \(bu flush .sp If ON, the server flushes (synchronizes) all changes to disk after each SQL statement. Normally, MySQL does a write of all changes to disk only after each SQL statement and lets the operating system handle the synchronizing to disk. See Section\ 4.2, \(lqWhat to Do If MySQL Keeps Crashing\(rq. This variable is set to ON if you start \fBmysqld\fR with the \fB\-\-flush\fR option. This variable was added in MySQL 3.22.9. .TP \(bu flush_time .sp If this is set to a non\-zero value, all tables are closed every flush_time seconds to free up resources and synchronize unflushed data to disk. We recommend that this option be used only on Windows 9x or Me, or on systems with minimal resources. This variable was added in MySQL 3.22.18. .TP \(bu ft_boolean_syntax .sp The list of operators supported by boolean full\-text searches performed using IN BOOLEAN MODE. See Section\ 7.1, \(lqBoolean Full\-Text Searches\(rq. This variable was added as a read\-only variable in MySQL 4.0.1. It can be modified as of MySQL 4.1.2. .sp The default variable value is \'+\ \-><()~*:""&|'. The rules for changing the value are as follows: .RS .TP 3 \(bu Operator function is determined by position within the string. .TP \(bu The replacement value must be 14 characters. .TP \(bu Each character must be an ASCII non\-alphanumeric character. .TP \(bu Either the first or second character must be a space. .TP \(bu No duplicates are allowed except the phrase quoting operators in positions 11 and 12. These two characters are not required to be the same, but they are the only two that may be. .TP \(bu Positions 10, 13, and 14 (which by default are set to \(oq:\(cq, \(oq&\(cq, and \(oq|\(cq) are reserved for future extensions. .RE .TP \(bu ft_max_word_len .sp The maximum length of the word to be included in a FULLTEXT index. This variable was added in MySQL 4.0.0. .sp \fBNote\fR: FULLTEXT indexes must be rebuilt after changing this variable. Use REPAIR TABLE \fItbl_name\fR QUICK. .TP \(bu ft_min_word_len .sp The minimum length of the word to be included in a FULLTEXT index. This variable was added in MySQL 4.0.0. .sp \fBNote\fR: FULLTEXT indexes must be rebuilt after changing this variable. Use REPAIR TABLE \fItbl_name\fR QUICK. .TP \(bu ft_query_expansion_limit .sp The number of top matches to use for full\-text searches performed using WITH QUERY EXPANSION. This variable was added in MySQL 4.1.1. .TP \(bu ft_stopword_file .sp The file from which to read the list of stopwords for full\-text searches. All the words from the file are used; comments are \fInot\fR honored. By default, a built\-in list of stopwords is used (as defined in the \fImyisam/ft_static.c\fR file). Setting this variable to the empty string ('') disables stopword filtering. This variable was added in MySQL 4.0.10. .sp \fBNote\fR: FULLTEXT indexes must be rebuilt after changing this variable or the contents of the stopword file. Use REPAIR TABLE \fItbl_name\fR QUICK. .TP \(bu group_concat_max_len .sp The maximum allowed result length for the GROUP_CONCAT() function. The default is 1024. This variable was added in MySQL 4.1.0. .TP \(bu have_archive .sp YES if \fBmysqld\fR supports ARCHIVE tables, NO if not. This variable was added in MySQL 4.1.3. .TP \(bu have_bdb .sp YES if \fBmysqld\fR supports BDB tables. DISABLED if \fB\-\-skip\-bdb\fR is used. This variable was added in MySQL 3.23.30. .TP \(bu have_blackhole_engine .sp YES if \fBmysqld\fR supports BLACKHOLE tables, NO if not. This variable was added in MySQL 4.1.11. .TP \(bu have_compress .sp YES if the zlib compression library is available to the server, NO if not. If not, the COMPRESS() and UNCOMPRESS() functions cannot be used. This variable was added in MySQL 4.1.1. .TP \(bu have_crypt .sp YES if the crypt() system call is available to the server, NO if not. If not, the ENCRYPT() function cannot be used. This variable was added in MySQL 4.0.10. .TP \(bu have_csv .sp YES if \fBmysqld\fR supports ARCHIVE tables, NO if not. This variable was added in MySQL 4.1.4. .TP \(bu have_example_engine .sp YES if \fBmysqld\fR supports EXAMPLE tables, NO if not. This variable was added in MySQL 4.1.4. .TP \(bu have_geometry .sp YES if the server supports spatial data types, NO if not. This variable was added in MySQL 4.1.3. .TP \(bu have_innodb .sp YES if \fBmysqld\fR supports InnoDB tables. DISABLED if \fB\-\-skip\-innodb\fR is used. This variable was added in MySQL 3.23.37. .TP \(bu have_isam .sp YES if \fBmysqld\fR supports ISAM tables. DISABLED if \fB\-\-skip\-isam\fR is used. This variable was added in MySQL 3.23.30. .TP \(bu have_ndbcluster .sp YES if \fBmysqld\fR supports NDB Cluster tables. DISABLED if \fB\-\-skip\-ndbcluster\fR is used. This variable was added in MySQL 4.1.2. .TP \(bu have_openssl .sp YES if \fBmysqld\fR supports SSL (encryption) connections, NO if not. This variable was added in MySQL 3.23.43. .TP \(bu have_query_cache .sp YES if \fBmysqld\fR supports the query cache, NO if not. This variable was added in MySQL 4.0.2. .TP \(bu have_raid .sp YES if \fBmysqld\fR supports the RAID option, NO if not. This variable was added in MySQL 3.23.30. .TP \(bu have_rtree_keys .sp YES if RTREE indexes are available, NO if not. (These are used for spatial indexes in MyISAM tables.) This variable was added in MySQL 4.1.3. .TP \(bu have_symlink .sp YES if symbolic link support is enabled, NO if not. This is required on Unix for support of the DATA DIRECTORY and INDEX DIRECTORY table options, and on Windows for support of data directory symlinks. .sp This variable was added in MySQL 4.0.0. .TP \(bu init_connect .sp A string to be executed by the server for each client that connects. The string consists of one or more SQL statements. To specify multiple statements, separate them by semicolon characters. For example, each client begins by default with autocommit mode enabled. There is no global system variable to specify that autocommit should be disabled by default, but init_connect can be used to achieve the same effect: .sp .nf SET GLOBAL init_connect='SET AUTOCOMMIT=0'; .fi This variable can also be set on the command line or in an option file. To set the variable as just shown using an option file, include these lines: .sp .nf [mysqld] init_connect='SET AUTOCOMMIT=0' .fi Note that the content of init_connect is not executed for users that have the SUPER privilege. This is done so that an erroneous value for init_connect does not prevent all clients from connecting. For example, the value might contain a statement that has a syntax error, thus causing client connections to fail. Not executing init_connect for users that have the SUPER privilege enables them to open a connection and fix the init_connect value. .sp This variable was added in MySQL 4.1.2. .TP \(bu init_file .sp The name of the file specified with the \fB\-\-init\-file\fR option when you start the server. This should be a file containing SQL statements that you want the server to execute when it starts. Each statement must be on a single line and should not include comments. This variable was added in MySQL 3.23.2. .TP \(bu init_slave .sp This variable is similar to init_connect, but is a string to be executed by a slave server each time the SQL thread starts. The format of the string is the same as for the init_connect variable. This variable was added in MySQL 4.1.2. .TP \(bu innodb_\fIxxx\fR .sp InnoDB system variables are listed in Section\ 2.5, \(lqInnoDB Startup Options and System Variables\(rq. .TP \(bu interactive_timeout .sp The number of seconds the server waits for activity on an interactive connection before closing it. An interactive client is defined as a client that uses the CLIENT_INTERACTIVE option to mysql_real_connect(). See also wait_timeout. .TP \(bu join_buffer_size .sp The size of the buffer that is used for joins that do not use indexes and thus perform full table scans. Normally, the best way to get fast joins is to add indexes. Increase the value of join_buffer_size to get a faster full join when adding indexes is not possible. One join buffer is allocated for each full join between two tables. For a complex join between several tables for which indexes are not used, multiple join buffers might be necessary. .TP \(bu key_buffer_size .sp Index blocks for MyISAM and ISAM tables are buffered and are shared by all threads. key_buffer_size is the size of the buffer used for index blocks. The key buffer is also known as the key cache. .sp The maximum allowable setting for key_buffer_size is 4GB. The effective maximum size might be less, depending on your available physical RAM and per\-process RAM limits imposed by your operating system or hardware platform. .sp Increase the value to get better index handling (for all reads and multiple writes) to as much as you can afford. Using a value that is 25% of total memory on a machine that mainly runs MySQL is quite common. However, if you make the value too large (for example, more than 50% of your total memory) your system might start to page and become extremely slow. MySQL relies on the operating system to perform filesystem caching for data reads, so you must leave some room for the filesystem cache. Consider also the memory requirements of other storage engines. .sp For even more speed when writing many rows at the same time, use LOCK TABLES. See Section\ 2.13, \(lqSpeed of INSERT Statements\(rq. .sp You can check the performance of the key buffer by issuing a SHOW STATUS statement and examining the Key_read_requests, Key_reads, Key_write_requests, and Key_writes status variables. (See Section\ 5.4, \(lqSHOW Syntax\(rq.) The Key_reads/Key_read_requests ratio should normally be less than 0.01. The Key_writes/Key_write_requests ratio is usually near 1 if you are using mostly updates and deletes, but might be much smaller if you tend to do updates that affect many rows at the same time or if you are using the DELAY_KEY_WRITE table option. .sp The fraction of the key buffer in use can be determined using key_buffer_size in conjunction with the Key_blocks_unused status variable and the buffer block size. From MySQL 4.1.1 on, the buffer block size is available from the key_cache_block_size server variable. The fraction of the buffer in use is: .sp .nf 1 \- ((Key_blocks_unused \(mu key_cache_block_size) / key_buffer_size) .fi This value is an approximation because some space in the key buffer may be allocated internally for administrative structures. .sp Before MySQL 4.1.1, key cache blocks are 1024 bytes, and before MySQL 4.1.2, Key_blocks_unused is unavailable. The Key_blocks_used variable can be used as follows to determine the fraction of the key buffer in use: .sp .nf (Key_blocks_used \(mu 1024) / key_buffer_size .fi However, Key_blocks_used indicates the maximum number of blocks that have ever been in use at once, so this formula does not necessary represent the current fraction of the buffer that is in use. .sp As of MySQL 4.1, it is possible to create multiple MyISAM key caches. The size limit of 4GB applies to each cache individually, not as a group. See Section\ 4.6, \(lqThe MyISAM Key Cache\(rq. .TP \(bu key_cache_age_threshold .sp This value controls the demotion of buffers from the hot sub\-chain of a key cache to the warm sub\-chain. Lower values cause demotion to happen more quickly. The minimum value is 100. The default value is 300. This variable was added in MySQL 4.1.1. See Section\ 4.6, \(lqThe MyISAM Key Cache\(rq. .TP \(bu key_cache_block_size .sp The size in bytes of blocks in the key cache. The default value is 1024. This variable was added in MySQL 4.1.1. See Section\ 4.6, \(lqThe MyISAM Key Cache\(rq. .TP \(bu key_cache_division_limit .sp The division point between the hot and warm sub\-chains of the key cache buffer chain. The value is the percentage of the buffer chain to use for the warm sub\-chain. Allowable values range from 1 to 100. The default value is 100. This variable was added in MySQL 4.1.1. See Section\ 4.6, \(lqThe MyISAM Key Cache\(rq. .TP \(bu language .sp The language used for error messages. .TP \(bu large_file_support .sp Whether \fBmysqld\fR was compiled with options for large file support. This variable was added in MySQL 3.23.28. .TP \(bu large_pages .sp Whether large page support is enabled. This variable was added in MySQL 5.0.3. .TP \(bu license .sp The type of license the server has. This variable was added in MySQL 4.0.19. .TP \(bu local_infile .sp Whether LOCAL is supported for LOAD DATA INFILE statements. See Section\ 5.4, \(lqSecurity Issues with LOAD DATA LOCAL\(rq. This variable was added in MySQL 4.0.3. .TP \(bu locked_in_memory .sp Whether \fBmysqld\fR was locked in memory with \fB\-\-memlock\fR. This variable was added in MySQL 3.23.25. .TP \(bu log .sp Whether logging of all statements to the general query log is enabled. See Section\ 10.2, \(lqThe General Query Log\(rq. .TP \(bu log_bin .sp Whether the binary log is enabled. This variable was added in MySQL 3.23.14. See Section\ 10.4, \(lqThe Binary Log\(rq. .TP \(bu log_error .sp The location of the error log. This variable was added in MySQL 4.0.10. .TP \(bu log_slave_updates .sp Whether updates received by a slave server from a master server should be logged to the slave's own binary log. Binary logging must be enabled on the slave for this variable to have any effect. This variable was added in MySQL 3.23.17. See Section\ 8, \(lqReplication Startup Options\(rq. .TP \(bu log_slow_queries .sp Whether slow queries should be logged. \(lqSlow\(rq is determined by the value of the long_query_time variable. This variable was added in MySQL 4.0.2. See Section\ 10.5, \(lqThe Slow Query Log\(rq. .TP \(bu log_update .sp Whether the update log is enabled. This variable was added in MySQL 3.22.18. Note that the binary log is preferable to the update log, which is unavailable as of MySQL 5.0. See Section\ 10.3, \(lqThe Update Log\(rq. .TP \(bu log_warnings .sp Whether to produce additional warning messages. This variable was added in MySQL 4.0.3. It is enabled by default as of MySQL 4.0.19 and 4.1.2. As of MySQL 4.0.21 and 4.1.3, the variable can take values greater than 1 and aborted connections are not logged to the error log unless the value is greater than 1. .TP \(bu long_query_time .sp If a query takes longer than this many seconds, the server increments the Slow_queries status variable. If you are using the \fB\-\-log\-slow\-queries\fR option, the query is logged to the slow query log file. This value is measured in real time, not CPU time, so a query that is under the threshold on a lightly loaded system might be above the threshold on a heavily loaded one. The minimum value is 1. The default is 10. See Section\ 10.5, \(lqThe Slow Query Log\(rq. .TP \(bu low_priority_updates .sp If set to 1, all INSERT, UPDATE, DELETE, and LOCK TABLE WRITE statements wait until there is no pending SELECT or LOCK TABLE READ on the affected table. This variable previously was named sql_low_priority_updates. It was added in MySQL 3.22.5. .TP \(bu lower_case_file_system .sp This variable describes the case sensitivity of filenames on the filesystem where the data directory is located. OFF means filenames are case sensitive, ON means they are not case sensitive. This variable was added in MySQL 4.0.19. .TP \(bu lower_case_table_names .sp If set to 1 table names are stored in lowercase on disk and table name comparisons are not case sensitive. This variable was added in MySQL 3.23.6. If set to 2 (new in 4.0.18), table names are stored as given but compared in lowercase. From MySQL 4.0.2, this option also applies to database names. From 4.1.1, it also applies to table aliases. See Section\ 2.2, \(lqIdentifier Case Sensitivity\(rq. .sp \fBNote\fR: If you are using InnoDB tables, you should set this variable to 1 on all platforms to force names to be converted to lowercase. .sp You should \fInot\fR set this variable to 0 if you are running MySQL on a system that does not have case\-sensitive filenames (such as Windows or Mac OS X). \fINew in 4.0.18\fR: If this variable is not set at startup and the filesystem on which the data directory is located does not have case\-sensitive filenames, MySQL automatically sets lower_case_table_names to 2. .TP \(bu max_allowed_packet .sp The maximum size of one packet or any generated/intermediate string. .sp The packet message buffer is initialized to net_buffer_length bytes, but can grow up to max_allowed_packet bytes when needed. This value by default is small, to catch large (possibly incorrect) packets. .sp You must increase this value if you are using large BLOB columns or long strings. It should be as big as the largest BLOB you want to use. The protocol limit for max_allowed_packet is 16MB before MySQL 4.0 and 1GB thereafter. .TP \(bu max_binlog_cache_size .sp If a multiple\-statement transaction requires more than this amount of memory, the server generates a Multi\-statement transaction required more than 'max_binlog_cache_size' bytes of storage error. This variable was added in MySQL 3.23.29. .TP \(bu max_binlog_size .sp If a write to the binary log causes the current log file size to exceed the value of this variable, the server rotates the binary logs (closes the current file and opens the next one). You cannot set this variable to more than 1GB or to less than 4096 bytes. (The minimum before MYSQL 4.0.14 is 1024 bytes.) The default value is 1GB. This variable was added in MySQL 3.23.33. .sp A transaction is written in one chunk to the binary log, so it is never split between several binary logs. Therefore, if you have big transactions, you might see binary logs larger than max_binlog_size. .sp If max_relay_log_size is 0, the value of max_binlog_size applies to relay logs as well. max_relay_log_size was added in MySQL 4.0.14. .TP \(bu max_connect_errors .sp If there are more than this number of interrupted connections from a host, that host is blocked from further connections. You can unblock blocked hosts with the FLUSH HOSTS statement. .TP \(bu max_connections .sp The number of simultaneous client connections allowed. Increasing this value increases the number of file descriptors that \fBmysqld\fR requires. See Section\ 4.8, \(lqHow MySQL Opens and Closes Tables\(rq, for comments on file descriptor limits. See also Section\ 2.6, \(lqToo many connections\(rq. .TP \(bu max_delayed_threads .sp Do not start more than this number of threads to handle INSERT DELAYED statements. If you try to insert data into a new table after all INSERT DELAYED threads are in use, the row is inserted as if the DELAYED attribute wasn't specified. If you set this to 0, MySQL never creates a thread to handle DELAYED rows; in effect, doing so disables DELAYED entirely. This variable was added in MySQL 3.23.0. .TP \(bu max_error_count .sp The maximum number of error, warning, and note messages to be stored for display by the SHOW ERRORS or SHOW WARNINGS statements. This variable was added in MySQL 4.1.0. .TP \(bu max_heap_table_size .sp This variable sets the maximum size to which MEMORY (HEAP) tables are allowed to grow. The value of the variable is used to calculate MEMORY table MAX_ROWS values. Setting this variable has no effect on any existing MEMORY table, unless the table is re\-created with a statement such as CREATE TABLE, or altered with ALTER TABLE or TRUNCATE TABLE. This variable was added in MySQL 3.23.0. .TP \(bu max_insert_delayed_threads .sp This variable is a synonym for max_delayed_threads. It was added in MySQL 4.0.19. .TP \(bu max_join_size .sp Do not allow SELECT statements that probably need to examine more than max_join_size rows (for single\-table statements) or row combinations (for multiple\-table statements) or that are likely to do more than max_join_size disk seeks. By setting this value, you can catch SELECT statements where keys are not used properly and that would probably take a long time. Set it if your users tend to perform joins that lack a WHERE clause, that take a long time, or that return millions of rows. .sp Setting this variable to a value other than DEFAULT resets the value of SQL_BIG_SELECTS to 0. If you set the SQL_BIG_SELECTS value again, the max_join_size variable is ignored. .sp If a query result is in the query cache, no result size check is performed, because the result has previously been computed and it does not burden the server to send it to the client. .sp This variable previously was named sql_max_join_size. .TP \(bu max_length_for_sort_data .sp The cutoff on the size of index values that determines which filesort algorithm to use. See Section\ 2.9, \(lqORDER BY Optimization\(rq. This variable was added in MySQL 4.1.1 .TP \(bu max_prepared_stmt_count .sp This variable limits the total number of prepared statements in the server. It can be used in environments where there is the potential for denial\-of\-service attacks based on running the server out of memory by preparing huge numbers of statements. The default value is 16,382. The allowable range of values is from 0 to 1 milliion. If the value is set lower than the current number of prepared statements, existing statements are not affected and can be used, but no new statements can be prepared until the current number drops below the limit. This variable was added in MySQL 4.1.19. .TP \(bu max_relay_log_size .sp If a write by a replication slave to its relay log causes the current log file size to exceed the value of this variable, the slave rotates the relay logs (closes the current file and opens the next one). If max_relay_log_size is 0, the server uses max_binlog_size for both the binary log and the relay log. If max_relay_log_size is greater than 0, it constrains the size of the relay log, which enables you to have different sizes for the two logs. You must set max_relay_log_size to between 4096 bytes and 1GB (inclusive), or to 0. The default value is 0. This variable was added in MySQL 4.0.14. See Section\ 3, \(lqReplication Implementation Details\(rq. .TP \(bu max_seeks_for_key .sp Limit the assumed maximum number of seeks when looking up rows based on a key. The MySQL optimizer assumes that no more than this number of key seeks are required when searching for matching rows in a table by scanning an index, regardless of the actual cardinality of the index (see Section\ 5.4.11, \(lqSHOW INDEX Syntax\(rq). By setting this to a low value (say, 100), you can force MySQL to prefer indexes instead of table scans. .sp This variable was added in MySQL 4.0.14. .TP \(bu max_sort_length .sp The number of bytes to use when sorting BLOB or TEXT values. Only the first max_sort_length bytes of each value are used; the rest are ignored. .TP \(bu max_tmp_tables .sp The maximum number of temporary tables a client can keep open at the same time. (This option does not yet do anything.) .TP \(bu max_user_connections .sp The maximum number of simultaneous connections allowed to any given MySQL account. A value of 0 means \(lqno limit.\(rq This variable was added in MySQL 3.23.34. .sp This variable has only a global form. .TP \(bu max_write_lock_count .sp After this many write locks, allow some pending read lock requests to be processed in between. This variable was added in MySQL 3.23.7. .TP \(bu myisam_data_pointer_size .sp The default pointer size in bytes, to be used by CREATE TABLE for MyISAM tables when no MAX_ROWS option is specified. This variable cannot be less than 2 or larger than 7. The default value is 4. This variable was added in MySQL 4.1.2. See Section\ 2.11, \(lqThe table is full\(rq. .TP \(bu myisam_max_extra_sort_file_size .sp If the temporary file used for fast MyISAM index creation would be larger than using the key cache by the amount specified here, prefer the key cache method. This is mainly used to force long character keys in large tables to use the slower key cache method to create the index. This variable was added in MySQL 3.23.37. \fBNote\fR: The value is given in megabytes before 4.0.3 and in bytes thereafter. .TP \(bu myisam_max_sort_file_size .sp The maximum size of the temporary file that MySQL is allowed to use while re\-creating a MyISAM index (during REPAIR TABLE, ALTER TABLE, or LOAD DATA INFILE). If the file size would be larger than this value, the index is created using the key cache instead, which is slower. This variable was added in MySQL 3.23.37. \fBNote\fR: The value is given in megabytes before 4.0.3 and in bytes thereafter. .TP \(bu myisam_recover_options .sp The value of the \fB\-\-myisam\-recover\fR option. See the section called \(lq\\FBMYSQLD\\FR COMMAND OPTIONS\(rq. This variable was added in MySQL 3.23.36. .TP \(bu myisam_repair_threads .sp If this value is greater than 1, MyISAM table indexes are created in parallel (each index in its own thread) during the Repair by sorting process. The default value is 1. .sp \fBNote\fR: Multi\-threaded repair is still \fIbeta\-quality\fR code. This variable was added in MySQL 4.0.13. .TP \(bu myisam_sort_buffer_size .sp The size of the buffer that is allocated when sorting MyISAM indexes during a REPAIR TABLE or when creating indexes with CREATE INDEX or ALTER TABLE. This variable was added in MySQL 3.23.16. .TP \(bu myisam_stats_method .sp How the server treats NULL values when collecting statistics about the distribution of index values for MyISAM tables. This variable has two possible values, nulls_equal and nulls_unequal. For nulls_equal, all NULL index values are considered equal and form a single value group that has a size equal to the number of NULL values. For nulls_unequal, NULL values are considered unequal, and each NULL forms a distinct value group of size 1. .sp The method that is used for generating table statistics influences how the optimizer chooses indexes for query execution, as described in Section\ 4.7, \(lqMyISAM Index Statistics Collection\(rq. .sp This variable was added in MySQL 4.1.15/5.0.14. For older versions, the statistics collection method is equivalent to nulls_equal. .TP \(bu named_pipe .sp On Windows, indicates whether the server supports connections over named pipes. This variable was added in MySQL 3.23.50. .TP \(bu ndb_autoincrement_prefetch_sz .sp Determines the probability of gaps in an autoincremented column. Set to 1 to minimize this. Set to a high value for optimization \(em makes inserts faster, but decreases the likelihood that consecutive autoincrement numbers will be used in a batch of inserts. Default value: 32. Mimimum value: 1. .TP \(bu ndb_cache_check_time .sp The number of seconds to wait before checking the NDB query cache. Setting this to 0 (the default and minimum value) means that the NDB query cache will be checked for validation upon each query. A large value means the NDB query cache will seldom be checked and invalidated because of updates on another \fBmysqld\fR. It is generally not desirable to set this to a value greater than 2. .TP \(bu ndb_force_send .sp Forces sending of buffers to NDB immediately, without waiting for other threads. Defaults to ON. .TP \(bu ndb_index_stat_cache_entries .sp Sets the granularity of the statistics by determining the number of starting and ending keys to store in the statistics memory cache. Zero means no caching takes place; in this case, the data nodes are always queries directly. Default value: 32. .TP \(bu ndb_index_stat_enable .sp Use NDB index statistics in query optimization. Defaults to ON. .TP \(bu ndb_index_stat_update_freq .sp How often to query data nodes instead of the statistics cache. For example, a value of 20 (the default) means to direct every 20th query to the data nodes. .TP \(bu ndb_report_thresh_binlog_epoch_slip .sp This is a threshold on the number of epochs to be behind before reporting binlog status. For example, a value of 3 (the default) means that if the difference between which epoch has been received from the storage nodes and which epoch has been applied to the binlog is 3 or more, a status message will be sent to the cluster log. .TP \(bu ndb_report_thresh_binlog_mem_usage .sp This is a threshold on the percentage of free memory remaining before reporting binlog status. For example, a value of 10 (the default) means that if the amount of available memory for receiving binlog data from the data nodes falls below 10%, a status message will be sent to the cluster log. .TP \(bu ndb_use_exact_count .sp Forces NDB to use an count of records during SELECT COUNT(*) query planning to speed up this type of query. The default value is ON. For faster queries overall, disable this feature by setting the value of ndb_use_exact_count to OFF. .TP \(bu ndb_use_transactions .sp You can disable NDB transaction support by setting this variable's values to OFF (not recommended). The default is ON. .TP \(bu net_buffer_length .sp The communication buffer is reset to this size between SQL statements. This variable should not normally be changed, but if you have very little memory, you can set it to the expected length of statements sent by clients. If statements exceed this length, the buffer is automatically enlarged, up to max_allowed_packet bytes. .TP \(bu net_read_timeout .sp The number of seconds to wait for more data from a connection before aborting the read. This timeout applies only to TCP/IP connections, not to connections made via Unix socket files, named pipes, or shared memory. When the server is reading from the client, net_read_timeout is the timeout value controlling when to abort. When the server is writing to the client, net_write_timeout is the timeout value controlling when to abort. See also slave_net_timeout. This variable was added in MySQL 3.23.20. .TP \(bu net_retry_count .sp If a read on a communication port is interrupted, retry this many times before giving up. This value should be set quite high on FreeBSD because internal interrupts are sent to all threads. This variable was added in MySQL 3.23.7. .TP \(bu net_write_timeout .sp The number of seconds to wait for a block to be written to a connection before aborting the write. This timeout applies only to TCP/IP connections, not to connections made via Unix socket files, named pipes, or shared memory. See also net_read_timeout. This variable was added in MySQL 3.23.20. .TP \(bu new .sp This variable is used in MySQL 4.0 to turn on some 4.1 behaviors. This variable was added in MySQL 4.0.12. .TP \(bu old_passwords .sp Whether the server should use pre\-4.1\-style passwords for MySQL user accounts. This variable was added in MySQL 4.1.1. .TP \(bu one_shot .sp This is not a variable, but it can be used when setting some variables. It is described in Section\ 5.3, \(lqSET Syntax\(rq. .TP \(bu open_files_limit .sp The number of files that the operating system allows \fBmysqld\fR to open. This is the real value allowed by the system and might be different from the value you gave using the \fB\-\-open\-files\-limit\fR option to \fBmysqld\fR or \fBmysqld_safe\fR. The value is 0 on systems where MySQL can't change the number of open files. This variable was added in MySQL 3.23.20. .TP \(bu pid_file .sp The pathname of the process ID (PID) file. This variable can be set with the \fB\-\-pid\-file\fR option. This variable was added in MySQL 3.23.23. .TP \(bu port .sp The number of the port on which the server listens for TCP/IP connections. This variable can be set with the \fB\-\-port\fR option. .TP \(bu preload_buffer_size .sp The size of the buffer that is allocated when preloading indexes. This variable was added in MySQL 4.1.1. .TP \(bu prepared_stmt_count .sp The current number of prepared statements. (The maximum number of statements is given by the max_prepared_stmt_count system variable.) This variable was added in MySQL 4.1.19. .TP \(bu protocol_version .sp The version of the client/server protocol used by the MySQL server. This variable was added in MySQL 3.23.18. .TP \(bu query_alloc_block_size .sp The allocation size of memory blocks that are allocated for objects created during statement parsing and execution. If you have problems with memory fragmentation, it might help to increase this a bit. This variable was added in MySQL 4.0.16. .TP \(bu query_cache_limit .sp Don't cache results that are larger than this number of bytes. The default value is 1MB. This variable was added in MySQL 4.0.1. .TP \(bu query_cache_min_res_unit .sp The minimum size for blocks allocated by the query cache. The default value is 4KB. Tuning information for this variable is given in Section\ 12.3, \(lqQuery Cache Configuration\(rq. This variable is present from MySQL 4.1. .TP \(bu query_cache_size .sp The amount of memory allocated for caching query results. The default value is 0, which disables the query cache. Note that query_cache_size bytes of memory are allocated even if if query_cache_type is set to 0. This variable was added in MySQL 4.0.1. .TP \(bu query_cache_type .sp Set the query cache type. Setting the GLOBAL value sets the type for all clients that connect thereafter. Individual clients can set the SESSION value to affect their own use of the query cache. \fBOption\fR\fBDescription\fR0 or OFFDon't cache results in or retrieve results from the query cache. Note that this does not deallocate the query cache buffer. To do that, you should set query_cache_size to 0.1 or ONCache all query results except for those that begin with SELECT SQL_NO_CACHE.2 or DEMANDCache results only for queries that begin with SELECT SQL_CACHE.This variable was added in MySQL 4.0.3. .TP \(bu query_cache_wlock_invalidate .sp Normally, when one client acquires a WRITE lock on a MyISAM table, other clients are not blocked from issuing statements that read from the table if the query results are present in the query cache. Setting this variable to 1 causes acquisition of a WRITE lock for a table to invalidate any queries in the query cache that refer to the table. This forces other clients that attempt to access the table to wait while the lock is in effect. This variable was added in MySQL 4.0.19. .TP \(bu query_prealloc_size .sp The size of the persistent buffer used for statement parsing and execution. This buffer is not freed between statements. If you are running complex queries, a larger query_prealloc_size value might be helpful in improving performance, because it can reduce the need for the server to perform memory allocation during query execution operations. .sp This variable was added in MySQL 4.0.16. .TP \(bu range_alloc_block_size .sp The size of blocks that are allocated when doing range optimization. This variable was added in MySQL 4.0.16. .TP \(bu read_buffer_size .sp Each thread that does a sequential scan allocates a buffer of this size for each table it scans. If you do many sequential scans, you might want to increase this value. This variable was added in MySQL 4.0.3. Previously, it was named record_buffer. .TP \(bu read_only .sp When the variable is set to ON for a replication slave server, it causes the slave to allow no updates except from slave threads or from users that have the SUPER privilege. This can be useful to ensure that a slave server accepts updates only from its master server and not from clients. This variable was added in MySQL 4.0.14. .TP \(bu relay_log_purge .sp Disables or enables automatic purging of relay logs as soon as they are not needed any more. The default value is 1 (ON). This variable was added in MySQL 4.1.1. .TP \(bu read_rnd_buffer_size .sp When reading rows in sorted order following a key\-sorting operation, the rows are read through this buffer to avoid disk seeks. Setting the variable to a large value can improve ORDER BY performance by a lot. However, this is a buffer allocated for each client, so you should not set the global variable to a large value. Instead, change the session variable only from within those clients that need to run large queries. This variable was added in MySQL 4.0.3. Previously, it was named record_rnd_buffer. .TP \(bu safe_show_database .sp Do not show databases for which the user has no database or table privileges. This can improve security if you are concerned about people being able to see what databases other users have. See also skip_show_database. .sp This variable was removed in MySQL 4.0.5. Beginning with this version, you should instead use the SHOW DATABASES privilege to control access by MySQL accounts to databases. .TP \(bu secure_auth .sp If the MySQL server has been started with the \fB\-\-secure\-auth\fR option, it blocks connections from all accounts that have passwords stored in the old (pre\-4.1) format. In that case, the value of this variable is ON, otherwise it is OFF. .sp You should enable this option if you want to prevent all use of passwords in the old format (and hence insecure communication over the network). This variable was added in MySQL 4.1.1. .sp Server startup fails with an error if this option is enabled and the privilege tables are in pre\-4.1 format. .TP \(bu server_id .sp The server ID. This value is set by the \fB\-\-server\-id\fR option. It is used for replication to enable master and slave servers to identify themselves uniquely. This variable was added in MySQL 3.23.26. .TP \(bu shared_memory .sp (Windows only.) Whether the server allows shared\-memory connections. This variable was added in MySQL 4.1.1. .TP \(bu shared_memory_base_name .sp (Windows only.) The name of shared memory to use for shared\-memory connections. This is useful when running multiple MYSQL instances on a single physical machine. This variable was added in MySQL 4.1.0. .TP \(bu skip_external_locking .sp This is OFF if \fBmysqld\fR uses external locking, ON if external locking is disabled. This variable was added in MySQL 4.0.3. Previously, it was named skip_locking. .TP \(bu skip_networking .sp This is ON if the server allows only local (non\-TCP/IP) connections. On Unix, local connections use a Unix socket file. On Windows, local connections use a named pipe or shared memory. On NetWare, only TCP/IP connections are supported, so do not set this variable to ON. This variable can be set to ON with the \fB\-\-skip\-networking\fR option. This variable was added in MySQL 3.22.23. .TP \(bu skip_show_database .sp This prevents people from using the SHOW DATABASES statement if they do not have the SHOW DATABASES privilege. This can improve security if you are concerned about people being able to see what databases other users have. See also safe_show_database. This variable was added in MySQL 3.23.4. As of MySQL 4.0.2, its effect also depends on the SHOW DATABASES privilege: If the variable value is ON, the SHOW DATABASES statement is allowed only to users who have the SHOW DATABASES privilege, and the statement displays all database names. If the value is OFF, SHOW DATABASES is allowed to all users, but displays each database name only if the user has the SHOW DATABASES privilege or some privilege for the database. Note that any global privilege is a privilege for the database. .TP \(bu slave_compressed_protocol .sp Whether to use compression of the master/slave protocol if both the slave and the master support it. This variable was added in MySQL 4.0.3. .TP \(bu slave_load_tmpdir .sp The name of the directory where the slave creates temporary files for replicating LOAD DATA INFILE statements. This variable was added in MySQL 4.0.0. .TP \(bu slave_net_timeout .sp The number of seconds to wait for more data from a master/slave connection before aborting the read. This timeout applies only to TCP/IP connections, not to connections made via Unix socket files, named pipes, or shared memory. This variable was added in MySQL 3.23.40. .TP \(bu slave_skip_errors .sp The replication errors that the slave should skip (ignore). This variable was added in MySQL 3.23.47. .TP \(bu slave_transaction_retries .sp If a replication slave SQL thread fails to execute a transaction because of an InnoDB deadlock or InnoDB's innodb_lock_wait_timeout or NDB Cluster's TransactionDeadlockDetectionTimeout or TransactionInactiveTimeout was exceeded, it automatically retries slave_transaction_retries times before stopping with an error. The default in MySQL 4.1 is 0. You must explicitly set the value to greater than 0 to enable the \(lqretry\(rq behavior, which is probably a good idea. .TP \(bu slow_launch_time .sp If creating a thread takes longer than this many seconds, the server increments the Slow_launch_threads status variable. This variable was added in MySQL 3.23.15. .TP \(bu socket .sp On Unix platforms, this variable is the name of the socket file that is used for local client connections. The default is \fI/tmp/mysql.sock\fR. (For some distribution formats, the directory might be different, such as \fI/var/lib/mysql\fR for RPMs.) .sp On Windows, this variable is the name of the named pipe that is used for local client connections. The default value is MySQL (not case sensitive). .TP \(bu sort_buffer_size .sp Each thread that needs to do a sort allocates a buffer of this size. Increase this value for faster ORDER BY or GROUP BY operations. See Section\ 4.4, \(lqWhere MySQL Stores Temporary Files\(rq. .TP \(bu sql_mode .sp The current server SQL mode. This variable was added in MySQL 3.23.41. It can be set dynamically as of MySQL 4.1.1. See the section called \(lqTHE SERVER SQL MODE\(rq. .TP \(bu sql_slave_skip_counter .sp The number of events from the master that a slave server should skip. See Section\ 6.2.6, \(lqSET GLOBAL SQL_SLAVE_SKIP_COUNTER Syntax\(rq. This variable was added in MySQL 3.23.33. .TP \(bu storage_engine .sp This variable is a synonym for table_type. It was added in MySQL 4.1.2. .TP \(bu sync_binlog .sp If the value of this variable is positive, the MySQL server synchronizes its binary log to disk (using fdatasync()) after every sync_binlog writes to the binary log. Note that there is one write to the binary log per statement if autocommit is enabled, and one write per transaction otherwise. The default value is 0, which does no synchronizing to disk. A value of 1 is the safest choice, because in the event of a crash you lose at most one statement or transaction from the binary log. However, it is also the slowest choice (unless the disk has a battery\-backed cache, which makes synchronization very fast). This variable was added in MySQL 4.1.3. .sp If the value of sync_binlog is 0 (the default), no extra flushing is done. The server relies on the operating system to flush the file contents occasionaly as for any other file. .TP \(bu sync_frm .sp If this variable is set to 1, when any non\-temporary table is created its \fI.frm\fR file is synchronized to disk (using fdatasync()). This is slower but safer in case of a crash. The default is 1. This was added as a command\-line option in MySQL 4.0.18. It is also a settable global variable as of MySQL 4.1.3. .TP \(bu system_time_zone .sp The server system time zone. When the server begins executing, it inherits a time zone setting from the machine defaults, possibly modified by the environment of the account used for running the server or the startup script. The value is used to set system_time_zone. Typically the time zone is specified by the TZ environment variable. It also can be specified using the \fB\-\-timezone\fR option of the \fBmysqld_safe\fR script. This variable was added in MySQL 4.1.3. .TP \(bu table_cache .sp The number of open tables for all threads. Increasing this value increases the number of file descriptors that \fBmysqld\fR requires. You can check whether you need to increase the table cache by checking the Opened_tables status variable. See the section called \(lqSERVER STATUS VARIABLES\(rq. If the value of Opened_tables is large and you do not do FLUSH TABLES often (which just forces all tables to be closed and reopened), then you should increase the value of the table_cache variable. For more information about the table cache, see Section\ 4.8, \(lqHow MySQL Opens and Closes Tables\(rq. .TP \(bu table_type .sp The default table type (storage engine). To set the table type at server startup, use the \fB\-\-default\-table\-type\fR option. This variable was added in MySQL 3.23.0. See the section called \(lq\\FBMYSQLD\\FR COMMAND OPTIONS\(rq. .TP \(bu thread_cache_size .sp How many threads the server should cache for reuse. When a client disconnects, the client's threads are put in the cache if there are fewer than thread_cache_size threads there. Requests for threads are satisfied by reusing threads taken from the cache if possible, and only when the cache is empty is a new thread created. This variable can be increased to improve performance if you have a lot of new connections. (Normally, this doesn't provide a notable performance improvement if you have a good thread implementation.) By examining the difference between the Connections and Threads_created status variables, you can see how efficient the thread cache is. For details, see the section called \(lqSERVER STATUS VARIABLES\(rq. This variable was added in MySQL 3.23.16. .TP \(bu thread_concurrency .sp On Solaris, \fBmysqld\fR calls thr_setconcurrency() with this value. This function enables applications to give the threads system a hint about the desired number of threads that should be run at the same time. This variable was added in MySQL 3.23.7. .TP \(bu thread_stack .sp The stack size for each thread. Many of the limits detected by the crash\-me test are dependent on this value. The default is large enough for normal operation. See Section\ 1.4, \(lqThe MySQL Benchmark Suite\(rq. The default is 64KB before MySQL 4.0.10 and 192KB thereafter. .TP \(bu time_format .sp This variable is not implemented. .TP \(bu time_zone .sp The current time zone. This variable is used to initialize the tome zone for each client that connects. By default, the initial value of this is \'SYSTEM' (which means, \(lquse the value of system_time_zone\(rq). The value can be specified explicitly at server startup with the \fB\-\-default\-time\-zone\fR option. See Section\ 9.8, \(lqMySQL Server Time Zone Support\(rq. This variable was added in MySQL 4.1.3. .TP \(bu timezone .sp The time zone for the server. This is set from the TZ environment variable when \fBmysqld\fR is started. The time zone also can be set by giving a \fB\-\-timezone\fR argument to \fBmysqld_safe\fR. This variable was added in MySQL 3.23.15. As of MySQL 4.1.3, it is obsolete and has been replaced by the system_time_zone variable. See Section\ 4.6, \(lqTime Zone Problems\(rq. .TP \(bu tmp_table_size .sp If an in\-memory temporary table exceeds this size, MySQL automatically converts it to an on\-disk MyISAM table. Increase the value of tmp_table_size if you do many advanced GROUP BY queries and you have lots of memory. .TP \(bu tmpdir .sp The directory used for temporary files and temporary tables. Starting from MySQL 4.1, this variable can be set to a list of several paths that are used in round\-robin fashion. Paths should be separated by colon characters (\(oq:\(cq) on Unix and semicolon characters (\(oq;\(cq) on Windows, NetWare, and OS/2. .sp The multiple\-directory feature can be used to spread the load between several physical disks. If the MySQL server is acting as a replication slave, you should not set tmpdir to point to a directory on a memory\-based filesystem or to a directory that is cleared when the server host restarts. A replication slave needs some of its temporary files to survive a machine restart so that it can replicate temporary tables or LOAD DATA INFILE operations. If files in the temporary file directory are lost when the server restarts, replication fails. However, if you are using MySQL 4.0.0 or later, you can set the slave's temporary directory using the slave_load_tmpdir variable. In that case, the slave won't use the general tmpdir value and you can set tmpdir to a non\-permanent location. .sp This variable was added in MySQL 3.22.4. .TP \(bu transaction_alloc_block_size .sp The amount in bytes by which to increase a per\-transaction memory pool which needs memory. See the description of transaction_prealloc_size. This variable was added in MySQL 4.0.16. .TP \(bu transaction_prealloc_size .sp There is a per\-transaction memory pool from which various transaction\-related allocations take memory. The initial size of the pool in bytes is transaction_prealloc_size. For every allocation that cannot be satisfied from the pool because it has insufficient memory available, the pool is increased by transaction_alloc_block_size bytes. When the transaction ends, the pool is truncated to transaction_prealloc_size bytes. .sp By making transaction_prealloc_size sufficiently large to contain all statements within a single transaction, you can avoid many malloc() calls. This variable was added in MySQL 4.0.16. .sp The system_time_zone variable differs from time_zone. Although they might have the same value, the latter variable is used to initialize the time zone for each client that connects. See Section\ 9.8, \(lqMySQL Server Time Zone Support\(rq. .TP \(bu tx_isolation .sp The default transaction isolation level. This variable was added in MySQL 4.0.3. .sp This variable is set by the SET TRANSACTION ISOLATION LEVEL statement. See Section\ 4.6, \(lqSET TRANSACTION Syntax\(rq. If you set tx_isolation directly to an isolation level name that contains a space, the name should be enclosed within quotes, with the space replaced by a dash. For example: .sp .nf SET tx_isolation = 'READ\-COMMITTED'; .fi .TP \(bu version .sp The version number for the server. .TP \(bu version_bdb .sp The BDB storage engine version. This variable was added in MySQL 3.23.31 with the name bdb_version and renamed to version_bdb in MySQL 4.1.1. .TP \(bu version_comment .sp The \fBconfigure\fR script has a \fB\-\-with\-comment\fR option that allows a comment to be specified when building MySQL. This variable contains the value of that comment. This variable was added in MySQL 4.0.17. .TP \(bu version_compile_machine .sp The type of machine or architecture on which MySQL was built. This variable was added in MySQL 4.1.1. .TP \(bu version_compile_os .sp The type of operating system on which MySQL was built. This variable was added in MySQL 4.0.19. .TP \(bu wait_timeout .sp The number of seconds the server waits for activity on a non\-interactive connection before closing it. This timeout applies only to TCP/IP connections, not to connections made via Unix socket files, named pipes, or shared memory. .sp On thread startup, the session wait_timeout value is initialized from the global wait_timeout value or from the global interactive_timeout value, depending on the type of client (as defined by the CLIENT_INTERACTIVE connect option to mysql_real_connect()). See also interactive_timeout. .SH "USING SYSTEM VARIABLES" .PP The \fBmysql\fR server maintains many system variables that indicate how it is configured. the section called \(lqSERVER SYSTEM VARIABLES\(rq, describes the meaning of these variables. Each system variable has a default value. System variables can be set at server startup using options on the command line or in an option file. As of MySQL 4.0.3, most of them can be changed dynamically while the server is running by means of the SET statement, which enables you to modify operation of the server without having to stop and restart it. You can refer to system variable values in expressions. .PP Beginning with MySQL 4.0.3, the server maintains two kinds of system variables. Global variables affect the overall operation of the server. Session variables affect its operation for individual client connections. A given system variable can have both a global and a session value. Global and session system variables are related as follows: .TP 3 \(bu When the server starts, it initializes all global variables to their default values. These defaults can be changed by options specified on the command line or in an option file. (See Section\ 3, \(lqSpecifying Program Options\(rq.) .TP \(bu The server also maintains a set of session variables for each client that connects. The client's session variables are initialized at connect time using the current values of the corresponding global variables. For example, the client's SQL mode is controlled by the session sql_mode value, which is initialized when the client connects to the value of the global sql_mode value. .PP System variable values can be set globally at server startup by using options on the command line or in an option file. When you use a startup option to set a variable that takes a numeric value, the value can be given with a suffix of K, M, or G (either uppercase or lowercase) to indicate a multiplier of 1024, 10242 or 10243; that is, units of kilobytes, megabytes, or gigabygtes, respectively. Thus, the following command starts the server with a query cache size of 16 megabytes and a maximum packet size of one gigabyte: .sp .nf mysqld \-\-query_cache_size=16M \-\-max_allowed_packet=1G .fi .PP Before MySQL 4.0.2, use this syntax instead: .sp .nf mysqld \-\-set\-variable=query_cache_size=16M \\ \-\-set\-variable=max_allowed_packet=1G .fi .PP Within an option file, those variables are set like this: .sp .nf [mysqld] query_cache_size=16M max_allowed_packet=1G .fi .PP Or like this before MySQL 4.0.2: .sp .nf [mysqld] set\-variable=query_cache_size=16M set\-variable=max_allowed_packet=1G .fi .PP The lettercase of suffix letters does not matter; 16M and 16m are equivalent, as are 1G and 1g. .PP If you want to restrict the maximum value to which a system variable can be set at runtime with the SET statement, you can specify this maximum by using an option of the form \fB\-\-maximum\-\fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR at server startup. For example, to prevent the value of query_cache_size from being increased to more than 32MB at runtime, use the option \fB\-\-maximum\-query_cache_size=32M\fR. This feature is available as of MySQL 4.0.2. .PP Many system variables are dynamic and can be changed while the server runs by using the SET statement. For a list, see the section called \(lqDynamic System Variables\(rq. To change a system variable with SET, refer to it as \fIvar_name\fR, optionally preceded by a modifier: .TP 3 \(bu To indicate explicitly that a variable is a global variable, precede its name by GLOBAL or @@global.. The SUPER privilege is required to set global variables. .TP \(bu To indicate explicitly that a variable is a session variable, precede its name by SESSION, @@session., or @@. Setting a session variable requires no special privilege, but a client can change only its own session variables, not those of any other client. .TP \(bu LOCAL and @@local. are synonyms for SESSION and @@session.. .TP \(bu If no modifier is present, SET changes the session variable. .PP A SET statement can contain multiple variable assignments, separated by commas. If you set several system variables, the most recent GLOBAL or SESSION modifier in the statement is used for following variables that have no modifier specified. .PP Examples: .sp .nf SET sort_buffer_size=10000; SET @@local.sort_buffer_size=10000; SET GLOBAL sort_buffer_size=1000000, SESSION sort_buffer_size=1000000; SET @@sort_buffer_size=1000000; SET @@global.sort_buffer_size=1000000, @@local.sort_buffer_size=1000000; .fi .PP When you assign a value to a system variable with SET, you cannot use suffix letters in the value (as can be done with startup options). However, the value can take the form of an expression: .sp .nf SET sort_buffer_size = 10 * 1024 * 1024; .fi .PP The @@\fIvar_name\fR syntax for system variables is supported for compatibility with some other database systems. .PP If you change a session system variable, the value remains in effect until your session ends or until you change the variable to a different value. The change is not visible to other clients. .PP If you change a global system variable, the value is remembered and used for new connections until the server restarts. (To make a global system variable setting permanent, you should set it in an option file.) The change is visible to any client that accesses that global variable. However, the change affects the corresponding session variable only for clients that connect after the change. The global variable change does not affect the session variable for any client that is currently connected (not even that of the client that issues the SET GLOBAL statement). .PP To prevent incorrect usage, MySQL produces an error if you use SET GLOBAL with a variable that can only be used with SET SESSION or if you do not specify GLOBAL (or @@global.) when setting a global variable. .PP To set a SESSION variable to the GLOBAL value or a GLOBAL value to the compiled\-in MySQL default value, use the DEFAULT keyword. For example, the following two statements are identical in setting the session value of max_join_size to the global value: .sp .nf SET max_join_size=DEFAULT; SET @@session.max_join_size=@@global.max_join_size; .fi .PP Not all system variables can be set to DEFAULT. In such cases, use of DEFAULT results in an error. .PP You can refer to the values of specific global or sesson system variables in expressions by using one of the @@\-modifiers. For example, you can retrieve values in a SELECT statement like this: .sp .nf SELECT @@global.sql_mode, @@session.sql_mode, @@sql_mode; .fi .PP When you refer to a system variable in an expression as @@\fIvar_name\fR (that is, when you do not specify @@global. or @@session.), MySQL returns the session value if it exists and the global value otherwise. (This differs from SET @@\fIvar_name\fR = \fIvalue\fR, which always refers to the session value.) .PP \fINote\fR: Some system variables can be enabled with the SET statement by setting them to ON or 1, or disabled by setting them to OFF or 0. However, to set such a variable on the command line or in an option file, you must set it to 1 or 0; setting it to ON or OFF will not work. For example, on the command line, \fB\-\-delay_key_write=1\fR works but \fB\-\-delay_key_write=ON\fR does not. .PP To display system variable names and values, use the SHOW VARIABLES statement. .sp .nf mysql> \fBSHOW VARIABLES;\fR +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | Variable_name | Value | +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | back_log | 50 | | basedir | /usr/local/mysql | | bdb_cache_size | 8388600 | | bdb_home | /usr/local/mysql | | bdb_log_buffer_size | 32768 | | bdb_logdir | | | bdb_max_lock | 10000 | | bdb_shared_data | OFF | | bdb_tmpdir | /tmp/ | | binlog_cache_size | 32768 | | bulk_insert_buffer_size | 8388608 | | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql/share/charsets/ | | collation_connection | latin1_swedish_ci | | collation_database | latin1_swedish_ci | | collation_server | latin1_swedish_ci | ... | innodb_additional_mem_pool_size | 1048576 | | innodb_autoextend_increment | 8 | | innodb_buffer_pool_awe_mem_mb | 0 | | innodb_buffer_pool_size | 8388608 | | innodb_data_file_path | ibdata1:10M:autoextend | | innodb_data_home_dir | | ... | version | 4.1.18\-max\-log | | version_comment | MySQL Community Edition \- Max (GPL) | | version_compile_machine | i686 | | version_compile_os | pc\-linux\-gnu | | wait_timeout | 28800 | +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ .fi .PP With a LIKE clause, the statement displays only those variables that match the pattern. To obtain a specific variable name, use a LIKE clause as shown: .sp .nf SHOW VARIABLES LIKE 'max_join_size'; SHOW SESSION VARIABLES LIKE 'max_join_size'; .fi .PP To get a list of variables whose name match a pattern, use the \(oq%\(cq wildcard character in a LIKE clause: .sp .nf SHOW VARIABLES LIKE '%size%'; SHOW GLOBAL VARIABLES LIKE '%size%'; .fi .PP Wildcard characters can be used in any position within the pattern to be matched. Strictly speaking, because \(oq_\(cq is a wildcard that matches any single character, you should escape it as \(oq\\_\(cq to match it literally. In practice, this is rarely necessary. .PP For SHOW VARIABLES, if you specify neither GLOBAL nor SESSION, MySQL returns SESSION values. .PP The reason for requiring the GLOBAL keyword when setting GLOBAL\-only variables but not when retrieving them is to prevent problems in the future. If we were to remove a SESSION variable that has the same name as a GLOBAL variable, a client with the SUPER privilege might accidentally change the GLOBAL variable rather than just the SESSION variable for its own connection. If we add a SESSION variable with the same name as a GLOBAL variable, a client that intends to change the GLOBAL variable might find only its own SESSION variable changed. .SS "Structured System Variables" .PP Structured system variables are supported beginning with MySQL 4.1.1. A structured variable differs from a regular system variable in two respects: .TP 3 \(bu Its value is a structure with components that specify server parameters considered to be closely related. .TP \(bu There might be several instances of a given type of structured variable. Each one has a different name and refers to a different resource maintained by the server. .PP In MySQL 4.1 (4.1.1 and above), MySQL supports one structured variable type. It specifies parameters that govern the operation of key caches. A key cache structured variable has these components: .TP 3 \(bu key_buffer_size .TP \(bu key_cache_block_size .TP \(bu key_cache_division_limit .TP \(bu key_cache_age_threshold .PP The purpose of this section is to describe the syntax for referring to structured variables. Key cache variables are used for syntax examples, but specific details about how key caches operate are found elsewhere, in Section\ 4.6, \(lqThe MyISAM Key Cache\(rq. .PP To refer to a component of a structured variable instance, you can use a compound name in \fIinstance_name.component_name\fR format. Examples: .sp .nf hot_cache.key_buffer_size hot_cache.key_cache_block_size cold_cache.key_cache_block_size .fi .PP For each structured system variable, an instance with the name of default is always predefined. If you refer to a component of a structured variable without any instance name, the default instance is used. Thus, default.key_buffer_size and key_buffer_size both refer to the same system variable. .PP Structured variable instances and components follow these naming rules: .TP 3 \(bu For a given type of structured variable, each instance must have a name that is unique \fIwithin\fR variables of that type. However, instance names need not be unique \fIacross\fR structured variable types. For example, each structured variable has an instance named default, so default is not unique across variable types. .TP \(bu The names of the components of each structured variable type must be unique across all system variable names. If this were not true (that is, if two different types of structured variables could share component member names), it would not be clear which default structured variable to use for references to member names that are not qualified by an instance name. .TP \(bu If a structured variable instance name is not legal as an unquoted identifier, refer to it as a quoted identifier using backticks. For example, hot\-cache is not legal, but `hot\-cache` is. .TP \(bu global, session, and local are not legal instance names. This avoids a conflict with notation such as @@global.\fIvar_name\fR for referring to non\-structured system variables. .PP At the moment, the first two rules have no possibility of being violated because the only structured variable type is the one for key caches. These rules will assume greater significance if some other type of structured variable is created in the future. .PP With one exception, it is allowable to refer to structured variable components using compound names in any context where simple variable names can occur. For example, you can assign a value to a structured variable using a command\-line option: .sp .nf shell> \fBmysqld \-\-hot_cache.key_buffer_size=64K\fR .fi .PP In an option file, use this syntax: .sp .nf [mysqld] hot_cache.key_buffer_size=64K .fi .PP If you start the server with such an option, it creates a key cache named hot_cache with a size of 64KB in addition to the default key cache that has a default size of 8MB. .PP Suppose that you start the server as follows: .sp .nf shell> \fBmysqld \-\-key_buffer_size=256K \\\fR \fB\-\-extra_cache.key_buffer_size=128K \\\fR \fB\-\-extra_cache.key_cache_block_size=2048\fR .fi .PP In this case, the server sets the size of the default key cache to 256KB. (You could also have written \fB\-\-default.key_buffer_size=256K\fR.) In addition, the server creates a second key cache named extra_cache that has a size of 128KB, with the size of block buffers for caching table index blocks set to 2048 bytes. .PP The following example starts the server with three different key caches having sizes in a 3:1:1 ratio: .sp .nf shell> \fBmysqld \-\-key_buffer_size=6M \\\fR \fB\-\-hot_cache.key_buffer_size=2M \\\fR \fB\-\-cold_cache.key_buffer_size=2M\fR .fi .PP Structured variable values may be set and retrieved at runtime as well. For example, to set a key cache named hot_cache to a size of 10MB, use either of these statements: .sp .nf mysql> \fBSET GLOBAL hot_cache.key_buffer_size = 10*1024*1024;\fR mysql> \fBSET @@global.hot_cache.key_buffer_size = 10*1024*1024;\fR .fi .PP To retrieve the cache size, do this: .sp .nf mysql> \fBSELECT @@global.hot_cache.key_buffer_size;\fR .fi .PP However, the following statement does not work. The variable is not interpreted as a compound name, but as a simple string for a LIKE pattern\-matching operation: .sp .nf mysql> \fBSHOW GLOBAL VARIABLES LIKE 'hot_cache.key_buffer_size';\fR .fi .PP This is the exception to being able to use structured variable names anywhere a simple variable name may occur. .SS "Dynamic System Variables" .PP Beginning with MySQL 4.0.3, many server system variables are dynamic and can be set at runtime using SET GLOBAL or SET SESSION. You can also select their values using SELECT. See the section called \(lqUSING SYSTEM VARIABLES\(rq. .PP The following table shows the full list of all dynamic system variables. The last column indicates for each variable whether GLOBAL or SESSION (or both) apply. The table also lists session options that can be set with the SET statement. Section\ 5.3, \(lqSET Syntax\(rq, discusses these options. .PP Variables that have a type of \(lqstring\(rq take a string value. Variables that have a type of \(lqnumeric\(rq take a numeric value. Variables that have a type of \(lqboolean\(rq can be set to 0, 1, ON or OFF. (If you set them on the command line or in an option file, use the numeric values.) Variables that are marked as \(lqenumeration\(rq normally should be set to one of the available values for the variable, but can also be set to the number that corresponds to the desired enumeration value. For enumerated system variables, the first enumeration value corresponds to 0. This differs from ENUM columns, for which the first enumeration value corresponds to 1. \fBVariable Name\fR\fBValue Type\fR\fBType\fRautocommitbooleanSESSIONbig_tablesbooleanSESSIONbinlog_cache_sizenumericGLOBALbulk_insert_buffer_sizenumericGLOBAL | SESSIONcharacter_set_clientstringGLOBAL | SESSIONcharacter_set_connectionstringGLOBAL | SESSION character_set_resultsstringGLOBAL | SESSIONcharacter_set_serverstringGLOBAL | SESSIONcollation_connectionstringGLOBAL | SESSION collation_serverstringGLOBAL | SESSIONconcurrent_insertbooleanGLOBALconnect_timeoutnumericGLOBALconvert_character_setstringGLOBAL | SESSIONdefault_week_formatnumericGLOBAL | SESSIONdelay_key_writeOFF | ON | ALLGLOBALdelayed_insert_limitnumericGLOBALdelayed_insert_timeoutnumericGLOBALdelayed_queue_sizenumericGLOBALerror_countnumericSESSIONexpire_logs_daysnumericGLOBALflushbooleanGLOBALflush_timenumericGLOBALforeign_key_checksbooleanSESSIONft_boolean_syntaxnumericGLOBALgroup_concat_max_lennumericGLOBAL | SESSIONidentitynumericSESSION innodb_autoextend_incrementnumericGLOBALinnodb_concurrency_ticketsnumericGLOBALinnodb_max_dirty_pages_pctnumericGLOBALinnodb_max_purge_lagnumericGLOBALinnodb_sync_spin_loopsnumericGLOBALinnodb_table_locksbooleanGLOBAL | SESSIONinnodb_thread_concurrencynumericGLOBALinnodb_thread_sleep_delaynumericGLOBALinsert_idbooleanSESSIONinteractive_timeoutnumericGLOBAL | SESSIONjoin_buffer_sizenumericGLOBAL | SESSIONkey_buffer_sizenumericGLOBAL last_insert_idnumericSESSIONlocal_infilebooleanGLOBALlog_warningsnumericGLOBALlong_query_timenumericGLOBAL | SESSIONlow_priority_updatesbooleanGLOBAL | SESSIONmax_allowed_packetnumericGLOBAL | SESSIONmax_binlog_cache_sizenumericGLOBALmax_binlog_sizenumericGLOBALmax_connect_errorsnumericGLOBALmax_connectionsnumericGLOBALmax_delayed_threadsnumericGLOBALmax_error_countnumericGLOBAL | SESSIONmax_heap_table_sizenumericGLOBAL | SESSIONmax_insert_delayed_threadsnumericGLOBALmax_join_sizenumericGLOBAL | SESSIONmax_prepared_stmt_countnumericGLOBALmax_relay_log_sizenumericGLOBALmax_seeks_for_keynumericGLOBAL | SESSIONmax_sort_lengthnumericGLOBAL | SESSIONmax_tmp_tablesnumericGLOBAL | SESSIONmax_user_connectionsnumericGLOBALmax_write_lock_countnumericGLOBALmyisam_stats_methodenumGLOBAL | SESSIONmulti_read_rangenumericGLOBAL | SESSIONmyisam_data_pointer_sizenumericGLOBALmyisam_max_sort_file_sizenumericGLOBAL | SESSIONmyisam_repair_threadsnumericGLOBAL | SESSIONmyisam_sort_buffer_sizenumericGLOBAL | SESSIONnet_buffer_lengthnumericGLOBAL | SESSIONnet_read_timeoutnumericGLOBAL | SESSIONnet_retry_countnumericGLOBAL | SESSIONnet_write_timeoutnumericGLOBAL | SESSIONold_passwordsnumericGLOBAL | SESSIONoptimizer_prune_levelnumericGLOBAL | SESSIONoptimizer_search_depthnumericGLOBAL | SESSIONpreload_buffer_sizenumericGLOBAL | SESSIONquery_alloc_block_sizenumericGLOBAL | SESSIONquery_cache_limitnumericGLOBALquery_cache_sizenumericGLOBALquery_cache_typeenumerationGLOBAL | SESSIONquery_cache_wlock_invalidatebooleanGLOBAL | SESSIONquery_prealloc_sizenumericGLOBAL | SESSIONrange_alloc_block_sizenumericGLOBAL | SESSIONread_buffer_sizenumericGLOBAL | SESSIONread_onlynumericGLOBALread_rnd_buffer_sizenumericGLOBAL | SESSIONrpl_recovery_ranknumericGLOBALsafe_show_databasebooleanGLOBALsecure_authbooleanGLOBALserver_idnumericGLOBALslave_compressed_protocolbooleanGLOBALslave_net_timeoutnumericGLOBALslave_transaction_retriesnumericGLOBALslow_launch_timenumericGLOBALsort_buffer_sizenumericGLOBAL | SESSIONsql_auto_is_nullbooleanSESSIONsql_big_selectsbooleanSESSIONsql_big_tablesbooleanSESSIONsql_buffer_resultbooleanSESSIONsql_log_binbooleanSESSIONsql_log_offbooleanSESSIONsql_log_updatebooleanSESSIONsql_low_priority_updatesbooleanGLOBAL | SESSIONsql_max_join_sizenumericGLOBAL | SESSIONsql_modeenumerationGLOBAL | SESSIONsql_notesbooleanSESSIONsql_quote_show_createbooleanSESSIONsql_safe_updatesbooleanSESSIONsql_select_limitnumericSESSIONsql_slave_skip_counternumericGLOBALupdatable_views_with_limitenumerationGLOBAL | SESSIONsql_warningsbooleanSESSIONsync_binlognumericGLOBALsync_frmbooleanGLOBALstorage_engineenumerationGLOBAL | SESSIONtable_cachenumericGLOBALtable_typeenumerationGLOBAL | SESSIONthread_cache_sizenumericGLOBALtime_zonestringGLOBAL | SESSIONtimestampbooleanSESSIONtmp_table_sizeenumerationGLOBAL | SESSIONtransaction_alloc_block_sizenumericGLOBAL | SESSIONtransaction_prealloc_sizenumericGLOBAL | SESSIONtx_isolationenumerationGLOBAL | SESSIONunique_checksbooleanSESSIONwait_timeoutnumericGLOBAL | SESSIONwarning_countnumericSESSION.SH "SERVER STATUS VARIABLES" .PP The server maintains many status variables that provide information about its operation. You can view these variables and their values by using the SHOW STATUS statement: .sp .nf mysql> \fBSHOW STATUS;\fR +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-+ | Variable_name | Value | +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-+ | Aborted_clients | 0 | | Aborted_connects | 0 | | Bytes_received | 155372598 | | Bytes_sent | 1176560426 | | Connections | 30023 | ... .fi .PP Many status variables are reset to 0 by the FLUSH STATUS statement. .PP The status variables have the following meanings. The Com_\fIxxx\fR statement counter variables were added beginning with MySQL 3.23.47. The Qcache_\fIxxx\fR query cache variables were added beginning with MySQL 4.0.1. Otherwise, variables with no version indicated have been present since at least MySQL 3.22. .TP 3 \(bu Aborted_clients .sp The number of connections that were aborted because the client died without closing the connection properly. See Section\ 2.10, \(lqCommunication Errors and Aborted Connections\(rq. .TP \(bu Aborted_connects .sp The number of failed attempts to connect to the MySQL server. See Section\ 2.10, \(lqCommunication Errors and Aborted Connections\(rq. .TP \(bu Binlog_cache_disk_use .sp The number of transactions that used the temporary binary log cache but that exceeded the value of binlog_cache_size and used a temporary file to store statements from the transaction. This variable was added in MySQL 4.1.2. .TP \(bu Binlog_cache_use .sp The number of transactions that used the temporary binary log cache. This variable was added in MySQL 4.1.2. .TP \(bu Bytes_received .sp The number of bytes received from all clients. This variable was added in MySQL 3.23.7. .TP \(bu Bytes_sent .sp The number of bytes sent to all clients. This variable was added in MySQL 3.23.7. .TP \(bu Com_\fIxxx\fR .sp The Com_\fIxxx\fR statement counter variables were added beginning with MySQL 3.23.47. They indicate the number of times each \fIxxx\fR statement has been executed. There is one status variable for each type of statement. For example, Com_delete and Com_insert count DELETE and INSERT statements. .sp New Com_stmt_\fIxxx\fR status variables have been added in MySQL 4.1.13. .RS .TP 3 \(bu Com_stmt_prepare .TP \(bu Com_stmt_execute .TP \(bu Com_stmt_send_long_data .TP \(bu Com_stmt_reset .TP \(bu Com_stmt_close .RE .IP Those variables stand for prepared statement commands. Their names refer to the COM_\fIxxx\fR command set used in the network layer. In other words, their values increase whenever prepared statement API calls such as \fBmysql_stmt_prepare()\fR, \fBmysql_stmt_execute()\fR, and so forth are executed. However, Com_stmt_prepare, Com_stmt_execute and Com_stmt_close also increase for PREPARE, EXECUTE, or DEALLOCATE PREPARE, respectively. Additionally, the values of the older (available since MySQL 4.1.3) statement counter variables Com_prepare_sql, Com_execute_sql, and Com_dealloc_sql increase for the PREPARE, EXECUTE, and DEALLOCATE PREPARE statements. .sp All of the Com_stmt_\fIxxx\fR variables are increased even if their argument (a prepared statement) is unknown or an error occurred during execution; in other words: Their values correspond to the number of requests issued, not to the number of requests successfully completed. .TP \(bu Connections .sp The number of connection attempts (successful or not) to the MySQL server. .TP \(bu Created_tmp_disk_tables .sp The number of temporary tables on disk created automatically by the server while executing statements. This variable was added in MySQL 3.23.24. .TP \(bu Created_tmp_files .sp How many temporary files \fBmysqld\fR has created. This variable was added in MySQL 3.23.28. .TP \(bu Created_tmp_tables .sp The number of in\-memory temporary tables created automatically by the server while executing statements. If Created_tmp_disk_tables is large, you may want to increase the tmp_table_size value to cause temporary tables to be memory\-based instead of disk\-based. .TP \(bu Delayed_errors .sp The number of rows written with INSERT DELAYED for which some error occurred (probably duplicate key). .TP \(bu Delayed_insert_threads .sp The number of INSERT DELAYED handler threads in use. .TP \(bu Delayed_writes .sp The number of INSERT DELAYED rows written. .TP \(bu Flush_commands .sp The number of executed FLUSH statements. .TP \(bu Handler_commit .sp The number of internal COMMIT statements. This variable was added in MySQL 4.0.2. .TP \(bu Handler_discover .sp The MySQL server can ask the NDB Cluster storage engine if it knows about a table with a given name. This is called discovery. Handler_discover indicates the number of times that tables have been discovered. This variable was added in MySQL 4.1.2. .TP \(bu Handler_delete .sp The number of times a row was deleted from a table. .TP \(bu Handler_read_first .sp The number of times the first entry was read from an index. If this value is high, it suggests that the server is doing a lot of full index scans; for example, SELECT col1 FROM foo, assuming that col1 is indexed. .TP \(bu Handler_read_key .sp The number of requests to read a row based on a key. If this value is high, it is a good indication that your tables are properly indexed for your queries. .TP \(bu Handler_read_next .sp The number of requests to read the next row in key order. This value is incremented if you are querying an index column with a range constraint or if you are doing an index scan. .TP \(bu Handler_read_prev .sp The number of requests to read the previous row in key order. This read method is mainly used to optimize ORDER BY ... DESC. This variable was added in MySQL 3.23.6. .TP \(bu Handler_read_rnd .sp The number of requests to read a row based on a fixed position. This value is high if you are doing a lot of queries that require sorting of the result. You probably have a lot of queries that require MySQL to scan entire tables or you have joins that don't use keys properly. .TP \(bu Handler_read_rnd_next .sp The number of requests to read the next row in the data file. This value is high if you are doing a lot of table scans. Generally this suggests that your tables are not properly indexed or that your queries are not written to take advantage of the indexes you have. .TP \(bu Handler_rollback .sp The number of internal ROLLBACK statements. This variable was added in MySQL 4.0.2. .TP \(bu Handler_update .sp The number of requests to update a row in a table. .TP \(bu Handler_write .sp The number of requests to insert a row in a table. .TP \(bu Key_blocks_not_flushed .sp The number of key blocks in the key cache that have changed but have not yet been flushed to disk. This variable was added in MySQL 4.1.1. It used to be known as Not_flushed_key_blocks. .TP \(bu Key_blocks_unused .sp The number of unused blocks in the key cache. You can use this value to determine how much of the key cache is in use; see the discussion of key_buffer_size in the section called \(lqSERVER SYSTEM VARIABLES\(rq. This variable was added in MySQL 4.1.2. the section called \(lqSERVER SYSTEM VARIABLES\(rq. .TP \(bu Key_blocks_used .sp The number of used blocks in the key cache. This value is a high\-water mark that indicates the maximum number of blocks that have ever been in use at one time. .TP \(bu Key_read_requests .sp The number of requests to read a key block from the cache. .TP \(bu Key_reads .sp The number of physical reads of a key block from disk. If Key_reads is large, then your key_buffer_size value is probably too small. The cache miss rate can be calculated as Key_reads/Key_read_requests. .TP \(bu Key_write_requests .sp The number of requests to write a key block to the cache. .TP \(bu Key_writes .sp The number of physical writes of a key block to disk. .TP \(bu Max_used_connections .sp The maximum number of connections that have been in use simultaneously since the server started. .TP \(bu Not_flushed_delayed_rows .sp The number of rows waiting to be written in INSERT DELAY queues. .TP \(bu Not_flushed_key_blocks .sp The old name for Key_blocks_not_flushed before MySQL 4.1.1. .TP \(bu Open_files .sp The number of files that are open. .TP \(bu Open_streams .sp The number of streams that are open (used mainly for logging). .TP \(bu Open_tables .sp The number of tables that are open. .TP \(bu Opened_tables .sp The number of tables that have been opened. If Opened_tables is big, your table_cache value is probably too small. .TP \(bu Qcache_free_blocks .sp The number of free memory blocks in the query cache. .TP \(bu Qcache_free_memory .sp The amount of free memory for the query cache. .TP \(bu Qcache_hits .sp The number of query cache hits. .TP \(bu Qcache_inserts .sp The number of queries added to the query cache. .TP \(bu Qcache_lowmem_prunes .sp The number of queries that were deleted from the query cache because of low memory. .TP \(bu Qcache_not_cached .sp The number of non\-cached queries (not cacheable, or not cached due to the query_cache_type setting). .TP \(bu Qcache_queries_in_cache .sp The number of queries registered in the query cache. .TP \(bu Qcache_total_blocks .sp The total number of blocks in the query cache. .TP \(bu Questions .sp The number of statements that clients have sent to the server. .TP \(bu Rpl_status .sp The status of fail\-safe replication (not yet implemented). .TP \(bu Select_full_join .sp The number of joins that perform table scans because they do not use indexes. If this value is not 0, you should carefully check the indexes of your tables. This variable was added in MySQL 3.23.25. .TP \(bu Select_full_range_join .sp The number of joins that used a range search on a reference table. This variable was added in MySQL 3.23.25. .TP \(bu Select_range .sp The number of joins that used ranges on the first table. This is normally not critical issue even if the value is quite large. This variable was added in MySQL 3.23.25. .TP \(bu Select_range_check .sp The number of joins without keys that check for key usage after each row. (If this is not equal to 0, you should very carefully check the indexes of your tables.) This variable was added in MySQL 3.23.25. .TP \(bu Select_scan .sp The number of joins that did a full scan of the first table. This variable was added in MySQL 3.23.25. .TP \(bu Slave_open_temp_tables .sp The number of temporary tables that the slave SQL thread currently has open. This variable was added in MySQL 3.23.29. .TP \(bu Slave_running .sp This is ON if this server is a slave that is connected to a master. This variable was added in MySQL 3.23.16. .TP \(bu Slave_retried_transactions .sp Total (since startup) number of times the replication slave SQL thread has retried transactions. This variable was added in MySQL 4.1.11. .TP \(bu Slow_launch_threads .sp The number of threads that have taken more than slow_launch_time seconds to create. This variable was added in MySQL 3.23.15. .TP \(bu Slow_queries .sp The number of queries that have taken more than long_query_time seconds. See Section\ 10.5, \(lqThe Slow Query Log\(rq. .TP \(bu Sort_merge_passes .sp The number of merge passes that the sort algorithm has had to do. If this value is large, you should consider increasing the value of the sort_buffer_size system variable. This variable was added in MySQL 3.23.28. .TP \(bu Sort_range .sp The number of sorts that were done with ranges. This variable was added in MySQL 3.23.25. .TP \(bu Sort_rows .sp The number of sorted rows. This variable was added in MySQL 3.23.25. .TP \(bu Sort_scan .sp The number of sorts that were done by scanning the table. This variable was added in MySQL 3.23.25. .TP \(bu Ssl_\fIxxx\fR .sp Variables used for SSL connections. These variables were added in MySQL 4.0.0. .TP \(bu Table_locks_immediate .sp The number of times that a table lock was acquired immediately. This variable was added in MySQL 3.23.33. .TP \(bu Table_locks_waited .sp The number of times that a table lock could not be acquired immediately and a wait was needed. If this is high and you have performance problems, you should first optimize your queries, and then either split your table or tables or use replication. This variable was added in MySQL 3.23.33. .TP \(bu Threads_cached .sp The number of threads in the thread cache. This variable was added in MySQL 3.23.17. .TP \(bu Threads_connected .sp The number of currently open connections. .TP \(bu Threads_created .sp The number of threads created to handle connections. If Threads_created is big, you may want to increase the thread_cache_size value. The cache miss rate can be calculated as Threads_created divided by Connections. This variable was added in MySQL 3.23.31. .TP \(bu Threads_running .sp The number of threads that are not sleeping. .TP \(bu Uptime .sp The number of seconds that the server has been up. .SH "THE SERVER SQL MODE" .PP The MySQL server can operate in different SQL modes, and (as of MySQL 4.1) can apply these modes differentially for different clients. This capability enables each application to tailor the server's operating mode to its own requirements. .PP Modes define what SQL syntax MySQL should support and what kind of data validation checks it should perform. This makes it easier to use MySQL in different environments and to use MySQL together with other database servers. .PP You can set the default SQL mode by starting \fBmysqld\fR with the \fB\-\-sql\-mode="\fR\fB\fImodes\fR\fR\fB"\fR option. \fImodes\fR is a list of different modes separated by comma (\(oq,\(cq) characters. The default value is empty (no modes set). The \fImodes\fR value also can be empty (\fB\-\-sql\-mode=""\fR) if you want to clear it explicitly. .PP Beginning with MySQL 4.1, you can change the SQL mode at runtime by using a SET [GLOBAL|SESSION] sql_mode='\fImodes\fR' statement to set the sql_mode system value. Setting the GLOBAL variable requires the SUPER privilege and affects the operation of all clients that connect from that time on. Setting the SESSION variable affects only the current client. Any client can change its own session sql_mode value at any time. .PP You can retrieve the current global or session sql_mode value with the following statements: .sp .nf SELECT @@global.sql_mode; SELECT @@session.sql_mode; .fi .PP The most important sql_mode value is ANSI, which changes syntax and behavior to be more conformant to standard SQL. This mode is available beginning in MySQL 4.1.1 .PP The following list describes all supported modes: .TP 3 \(bu ANSI_QUOTES .sp Treat \(oq"\(cq as an identifier quote character (like the \(oq`\(cq quote character) and not as a string quote character. You can still use \(oq`\(cq to quote identifiers with this mode enabled. With ANSI_QUOTES enabled, you cannot use double quotes to quote literal strings, because it is interpreted as an identifier. (New in MySQL 4.0.0) .TP \(bu IGNORE_SPACE .sp Allow spaces between a function name and the \(oq(\(cq character. This forces all function names to be treated as reserved words. As a result, if you want to access any database, table, or column name that is a reserved word, you must quote it. For example, because there is a USER() function, the name of the user table in the mysql database and the User column in that table become reserved, so you must quote them: .sp .nf SELECT "User" FROM mysql."user"; .fi (New in MySQL 4.0.0) .sp See Section\ 1.1, \(lqMyISAM Startup Options\(rq. .TP \(bu NO_AUTO_VALUE_ON_ZERO .sp NO_AUTO_VALUE_ON_ZERO affects handling of AUTO_INCREMENT columns. Normally, you generate the next sequence number for the column by inserting either NULL or 0 into it. NO_AUTO_VALUE_ON_ZERO suppresses this behavior for 0 so that only NULL generates the next sequence number. (New in MySQL 4.1.1) .sp This mode can be useful if 0 has been stored in a table's AUTO_INCREMENT column. (Storing 0 is not a recommended practice, by the way.) For example, if you dump the table with \fBmysqldump\fR and then reload it, MySQL normally generates new sequence numbers when it encounters the 0 values, resulting in a table with contents different from the one that was dumped. Enabling NO_AUTO_VALUE_ON_ZERO before reloading the dump file solves this problem. As of MySQL 4.1.1, \fBmysqldump\fR automatically includes a statement in the dump output that enables NO_AUTO_VALUE_ON_ZERO, to avoid this problem.. .TP \(bu NO_DIR_IN_CREATE .sp When creating a table, ignore all INDEX DIRECTORY and DATA DIRECTORY directives. This option is useful on slave replication servers. (New in MySQL 4.0.15) .TP \(bu NO_FIELD_OPTIONS .sp Do not print MySQL\-specific column options in the output of SHOW CREATE TABLE. This mode is used by \fBmysqldump\fR in portability mode. (New in MySQL 4.1.1) .TP \(bu NO_KEY_OPTIONS .sp Do not print MySQL\-specific index options in the output of SHOW CREATE TABLE. This mode is used by \fBmysqldump\fR in portability mode. (New in MySQL 4.1.1) .TP \(bu NO_TABLE_OPTIONS .sp Do not print MySQL\-specific table options (such as ENGINE) in the output of SHOW CREATE TABLE. This mode is used by \fBmysqldump\fR in portability mode. (New in MySQL 4.1.1) .TP \(bu NO_UNSIGNED_SUBTRACTION .sp In integer subtraction operations, do not mark the result as UNSIGNED if one of the operands is unsigned. Note that this makes BIGINT UNSIGNED not 100% usable in all contexts. See Section\ 8, \(lqCast Functions and Operators\(rq. (New in MySQL 4.0.2) .TP \(bu ONLY_FULL_GROUP_BY .sp Do not allow queries for which the GROUP BY clause refers to a column that is not present in the output column list. (New in MySQL 4.0.0) .TP \(bu PIPES_AS_CONCAT .sp Treat || as a string concatenation operator (same as CONCAT()) rather than as a synonym for OR. (New in MySQL 4.0.0) .TP \(bu REAL_AS_FLOAT .sp Treat REAL as a synonym for FLOAT. By default, MySQL treats REAL as a synonym for DOUBLE. (New in MySQL 4.0.0) .PP The following special modes are provided as shorthand for combinations of mode values from the preceding list. All are available as of MySQL 4.1.1. .PP The descriptions include all mode values that are available in the most recent version of MySQL. For older versions, a combination mode does not include individual mode values that are not available except in newer versions. .TP 3 \(bu ANSI .sp Equivalent to REAL_AS_FLOAT, PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE. Before MySQL 4.1.11, ANSI also includes ONLY_FULL_GROUP_BY. See Section\ 9.3, \(lqRunning MySQL in ANSI Mode\(rq. .TP \(bu DB2 .sp Equivalent to PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, NO_FIELD_OPTIONS. .TP \(bu MAXDB .sp Equivalent to PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, NO_FIELD_OPTIONS. .TP \(bu MSSQL .sp Equivalent to PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, NO_FIELD_OPTIONS. .TP \(bu MYSQL323 .sp Equivalent to NO_FIELD_OPTIONS. .TP \(bu MYSQL40 .sp Equivalent to NO_FIELD_OPTIONS. .TP \(bu ORACLE .sp Equivalent to PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, NO_FIELD_OPTIONS. .TP \(bu POSTGRESQL .sp Equivalent to PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, NO_FIELD_OPTIONS. .SH "THE MYSQL SERVER SHUTDOWN PROCESS" .PP The server shutdown process takes place as follows: .TP 3 1. The shutdown process is initiated. .sp Server shutdown can be initiated several ways. For example, a user with the SHUTDOWN privilege can execute a \fBmysqladmin shutdown\fR command. \fBmysqladmin\fR can be used on any platform supported by MySQL. Other operating system\-specific shutdown initiation methods are possible as well: The server shuts down on Unix when it receives a SIGTERM signal. A server running as a service on Windows shuts down when the services manager tells it to. (On Windows, a user with Administrator rights can also shut down the server using NET STOP \fIservice_name\fR, where \fIservice_name\fR is the name of the MySQL service. By default, this is MySQL.) .TP 2. The server creates a shutdown thread if necessary. .sp Depending on how shutdown was initiated, the server might create a thread to handle the shutdown process. If shutdown was requested by a client, a shutdown thread is created. If shutdown is the result of receiving a SIGTERM signal, the signal thread might handle shutdown itself, or it might create a separate thread to do so. If the server tries to create a shutdown thread and cannot (for example, if memory is exhausted), it issues a diagnostic message that appears in the error log: .sp .nf Error: Can't create thread to kill server .fi .TP 3. The server stops accepting new connections. .sp To prevent new activity from being initiated during shutdown, the server stops accepting new client connections. It does this by closing the network connections to which it normally listens for connections: the TCP/IP port, the Unix socket file, the Windows named pipe, and shared memory on Windows. .TP 4. The server terminates current activity. .sp For each thread that is associated with a client connection, the connection to the client is broken and the thread is marked as killed. Threads die when they notice that they are so marked. Threads for idle connections die quickly. Threads that currently are processing statements check their state periodically and take longer to die. For additional information about thread termination, see Section\ 5.5.3, \(lqKILL Syntax\(rq, in particular for the instructions about killed REPAIR TABLE or OPTIMIZE TABLE operations on MyISAM tables. .sp For threads that have an open transaction, the transaction is rolled back. Note that if a thread is updating a non\-transactional table, an operation such as a multiple\-row UPDATE or INSERT may leave the table partially updated, because the operation can terminate before completion. .sp If the server is a master replication server, threads associated with currently connected slaves are treated like other client threads. That is, each one is marked as killed and exits when it next checks its state. .sp If the server is a slave replication server, the I/O and SQL threads, if active, are stopped before client threads are marked as killed. The SQL thread is allowed to finish its current statement (to avoid causing replication problems), and then stops. If the SQL thread was in the middle of a transaction at this point, the transaction is rolled back. .TP 5. Storage engines are shut down or closed. .sp At this stage, the table cache is flushed and all open tables are closed. .sp Each storage engine performs any actions necessary for tables that it manages. For example, MyISAM flushes any pending index writes for a table. InnoDB flushes its buffer pool to disk, writes the current LSN to the tablespace, and terminates its own internal threads. .TP 6. The server exits. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/mysql_fix_privilege_tables.1 0000644 0000000 0000000 00000007117 10664762444 021753 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQL_FIX_PRIVILE" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysql_fix_privilege_tables \- upgrade MySQL system tables .SH "SYNOPSIS" .HP 37 \fBmysql_fix_privilege_tables [\fR\fB\fIoptions\fR\fR\fB]\fR .SH "DESCRIPTION" .PP Some releases of MySQL introduce changes to the structure of the system tables in the mysql database to add new privileges or support new features. When you update to a new version of MySQL, you should update your system tables as well to make sure that their structure is up to date. Otherwise, there might be capabilities that you cannot take advantage of. First, make a backup of your mysql database, and then use the following procedure. .PP On Unix or Unix\-like systems, update the system tables by running the \fBmysql_fix_privilege_tables\fR script: .sp .nf shell> \fBmysql_fix_privilege_tables\fR .fi .PP You must run this script while the server is running. It attempts to connect to the server running on the local host as root. If your root account requires a password, indicate the password on the command line. For MySQL 4.1 and up, specify the password like this: .sp .nf shell> \fBmysql_fix_privilege_tables \-\-password=\fR\fB\fIroot_password\fR\fR .fi .PP Prior to MySQL 4.1, specify the password like this: .sp .nf shell> \fBmysql_fix_privilege_tables \fR\fB\fIroot_password\fR\fR .fi .PP The \fBmysql_fix_privilege_tables\fR script performs any actions necessary to convert your system tables to the current format. You might see some Duplicate column name warnings as it runs; you can ignore them. .PP After running the script, stop the server and restart it. .PP On Windows systems, there isn't an easy way to update the system tables until MySQL 4.0.15. From version 4.0.15 on, MySQL distributions include a \fImysql_fix_privilege_tables.sql\fR SQL script that you can run using the \fBmysql\fR client. For example, if your MySQL installation is located at \fIC:\\Program Files\\MySQL\\MySQL Server 4.1\fR, the commands look like this: .sp .nf C:\\> \fBcd "C:\\Program Files\\MySQL\\MySQL Server 4.1"\fR C:\\> \fBbin\\mysql \-u root \-p mysql\fR mysql> \fBSOURCE scripts/mysql_fix_privilege_tables.sql\fR .fi .PP The \fBmysql\fR command will prompt you for the root password; enter it when prompted. .PP If your installation is located in some other directory, adjust the pathnames appropriately. .PP As with the Unix procedure, you might see some Duplicate column name warnings as \fBmysql\fR processes the statements in the \fImysql_fix_privilege_tables.sql\fR script; you can ignore them. .PP After running the script, stop the server and restart it. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/mysqlhotcopy.1 0000644 0000000 0000000 00000014163 10664762445 017113 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQLHOTCOPY\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysqlhotcopy \- a database backup program .SH "SYNOPSIS" .HP 23 \fBmysqlhotcopy \fR\fB\fIarguments\fR\fR .SH "DESCRIPTION" .PP \fBmysqlhotcopy\fR is a Perl script that was originally written and contributed by Tim Bunce. It uses LOCK TABLES, FLUSH TABLES, and cp or scp to make a database backup quickly. It is the fastest way to make a backup of the database or single tables, but it can be run only on the same machine where the database directories are located. \fBmysqlhotcopy\fR works only for backing up MyISAM and ISAM tables, and ARCHIVE tables as of MySQL 4.1. \fBmysqlhotcopy\fR runs on Unix, and as of MySQL 4.0.18 also on NetWare. .sp .nf shell> \fBmysqlhotcopy \fR\fB\fIdb_name\fR\fR\fB [\fR\fB\fI/path/to/new_directory\fR\fR\fB]\fR .fi .sp .nf shell> \fBmysqlhotcopy \fR\fB\fIdb_name_1\fR\fR\fB ... \fR\fB\fIdb_name_n\fR\fR\fB \fR\fB\fI/path/to/new_directory\fR\fR .fi .PP Back up tables in the given database that match a regular expression: .sp .nf shell> \fBmysqlhotcopy \fR\fB\fIdb_name\fR\fR\fB./\fR\fB\fIregex\fR\fR\fB/\fR .fi .PP The regular expression for the table name can be negated by prefixing it with a tilde (\(oq~\(cq): .sp .nf shell> \fBmysqlhotcopy \fR\fB\fIdb_name\fR\fR\fB./~\fR\fB\fIregex\fR\fR\fB/\fR .fi .PP \fBmysqlhotcopy\fR supports the following options: .TP 3 \(bu \fB\-\-help\fR, \fB\-?\fR .sp Display a help message and exit. .TP \(bu \fB\-\-addtodest\fR .sp Do not rename target directory (if it exists); merely add files to it. This option was added in MySQL 4.0.13. .TP \(bu \fB\-\-allowold\fR .sp Do not abort if a target exists; rename it by adding an _old suffix. .TP \(bu \fB\-\-checkpoint=\fR\fB\fIdb_name\fR\fR\fB.\fR\fB\fItbl_name\fR\fR .sp Insert checkpoint entries into the specified database \fIdb_name\fR and table \fItbl_name\fR. .TP \(bu \fB\-\-chroot=\fR\fB\fIpath\fR\fR .sp Base directory of the \fBchroot\fR jail in which \fBmysqld\fR operates. The \fIpath\fR value should match that of the \fB\-\-chroot\fR option given to \fBmysqld\fR. This option was added in MySQL 4.0.19. .TP \(bu \fB\-\-debug\fR .sp Enable debug output. .TP \(bu \fB\-\-dryrun\fR, \fB\-n\fR .sp Report actions without performing them. .TP \(bu \fB\-\-flushlog\fR .sp Flush logs after all tables are locked. .TP \(bu \fB\-\-host=\fR\fB\fIhost_name\fR\fR, \fB\-h \fR\fB\fIhost_name\fR\fR .sp The hostname of the local host to use for making a TCP/IP connection to the local server. By default, the connection is made to localhost using a Unix socket file. .TP \(bu \fB\-\-keepold\fR .sp Do not delete previous (renamed) target when done. .TP \(bu \fB\-\-method=\fR\fB\fIcommand\fR\fR .sp The method for copying files (cp or scp). .TP \(bu \fB\-\-noindices\fR .sp Do not include full index files in the backup. This makes the backup smaller and faster. The indexes for reloaded tables can be reconstructed later with \fBmyisamchk \-rq\fR for MyISAM tables or \fBisamchk \-rq\fR for ISAM tables. .TP \(bu \fB\-\-password=\fR\fB\fIpassword\fR\fR, \fB\-p\fR\fB\fIpassword\fR\fR .sp The password to use when connecting to the server. Note that the password value is not optional for this option, unlike for other MySQL programs. You can use an option file to avoid giving the password on the command line. .sp Specifying a password on the command line should be considered insecure. See Section\ 7.6, \(lqKeeping Your Password Secure\(rq. .TP \(bu \fB\-\-port=\fR\fB\fIport_num\fR\fR, \fB\-P \fR\fB\fIport_num\fR\fR .sp The TCP/IP port number to use when connecting to the local server. .TP \(bu \fB\-\-quiet\fR, \fB\-q\fR .sp Be silent except for errors. .TP \(bu \fB\-\-record_log_pos=\fR\fB\fIdb_name\fR\fR\fB.\fR\fB\fItbl_name\fR\fR .sp Record master and slave status in the specified database \fIdb_name\fR and table \fItbl_name\fR. .TP \(bu \fB\-\-regexp=\fR\fB\fIexpr\fR\fR .sp Copy all databases with names that match the given regular expression. .TP \(bu \fB\-\-resetmaster\fR .sp Reset the binary log after locking all the tables. .TP \(bu \fB\-\-resetslave\fR .sp Reset the \fImaster.info\fR file after locking all the tables. .TP \(bu \fB\-\-socket=\fR\fB\fIpath\fR\fR, \fB\-S \fR\fB\fIpath\fR\fR .sp The Unix socket file to use for the connection. .TP \(bu \fB\-\-suffix=\fR\fB\fIstr\fR\fR .sp The suffix for names of copied databases. .TP \(bu \fB\-\-tmpdir=\fR\fB\fIpath\fR\fR .sp The temporary directory. The default is \fI/tmp\fR. .TP \(bu \fB\-\-user=\fR\fB\fIuser_name\fR\fR, \fB\-u \fR\fB\fIuser_name\fR\fR .sp The MySQL username to use when connecting to the server. .PP \fBmysqlhotcopy\fR reads the [client] and [mysqlhotcopy] option groups from option files. .PP To execute \fBmysqlhotcopy\fR, you must have access to the files for the tables that you are backing up, the SELECT privilege for those tables, the RELOAD privilege (to be able to execute FLUSH TABLES), and the LOCK TABLES privilege (to be able to lock the tables). .PP Use perldoc for additional \fBmysqlhotcopy\fR documentation, including information about the structure of the tables needed for the \fB\-\-checkpoint\fR and \fB\-\-record_log_pos\fR options: .sp .nf shell> \fBperldoc mysqlhotcopy\fR .fi .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/mysqlaccess.1 0000644 0000000 0000000 00000012377 10664762444 016673 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQLACCESS\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysqlaccess \- client for checking access privileges .SH "SYNOPSIS" .HP 56 \fBmysqlaccess [\fR\fB\fIhost_name\fR\fR\fB [\fR\fB\fIuser_name\fR\fR\fB [\fR\fB\fIdb_name\fR\fR\fB]]] [\fR\fB\fIoptions\fR\fR\fB]\fR .SH "DESCRIPTION" .PP \fBmysqlaccess\fR is a diagnostic tool that Yves Carlier has provided for the MySQL distribution. It checks the access privileges for a hostname, username, and database combination. Note that \fBmysqlaccess\fR checks access using only the user, db, and host tables. It does not check table, column, or routine privileges specified in the tables_priv, columns_priv, or procs_priv tables. .PP Invoke \fBmysqlaccess\fR like this: .sp .nf shell> \fBmysqlaccess [\fR\fB\fIhost_name\fR\fR\fB [\fR\fB\fIuser_name\fR\fR\fB [\fR\fB\fIdb_name\fR\fR\fB]]] [\fR\fB\fIoptions\fR\fR\fB]\fR .fi .PP \fBmysqlaccess\fR understands the following options: .TP 3 \(bu \fB\-\-help\fR, \fB\-?\fR .sp Display a help message and exit. .TP \(bu \fB\-\-brief\fR, \fB\-b\fR .sp Generate reports in single\-line tabular format. .TP \(bu \fB\-\-commit\fR .sp Copy the new access privileges from the temporary tables to the original grant tables. The grant tables must be flushed for the new privileges to take effect. (For example, execute a \fBmysqladmin reload\fR command.) .TP \(bu \fB\-\-copy\fR .sp Reload the temporary grant tables from original ones. .TP \(bu \fB\-\-db=\fR\fB\fIdb_name\fR\fR, \fB\-d \fR\fB\fIdb_name\fR\fR .sp Specify the database name. .TP \(bu \fB\-\-debug=\fR\fB\fIN\fR\fR .sp Specify the debug level. \fIN\fR can be an integer from 0 to 3. .TP \(bu \fB\-\-host=\fR\fB\fIhost_name\fR\fR, \fB\-h \fR\fB\fIhost_name\fR\fR .sp The hostname to use in the access privileges. .TP \(bu \fB\-\-howto\fR .sp Display some examples that show how to use \fBmysqlaccess\fR. .TP \(bu \fB\-\-old_server\fR .sp Assume that the server is an old MySQL server (before MySQL 3.21) that does not yet know how to handle full WHERE clauses. .TP \(bu \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR .sp The password to use when connecting to the server. If you omit the \fIpassword\fR value following the \fB\-\-password\fR or \fB\-p\fR option on the command line, you are prompted for one. .sp Specifying a password on the command line should be considered insecure. See Section\ 7.6, \(lqKeeping Your Password Secure\(rq. .TP \(bu \fB\-\-plan\fR .sp Display suggestions and ideas for future releases. .TP \(bu \fB\-\-preview\fR .sp Show the privilege differences after making changes to the temporary grant tables. .TP \(bu \fB\-\-relnotes\fR .sp Display the release notes. .TP \(bu \fB\-\-rhost=\fR\fB\fIhost_name\fR\fR, \fB\-H \fR\fB\fIhost_name\fR\fR .sp Connect to the MySQL server on the given host. .TP \(bu \fB\-\-rollback\fR .sp Undo the most recent changes to the temporary grant tables. .TP \(bu \fB\-\-spassword[=\fR\fB\fIpassword\fR\fR\fB]\fR, \fB\-P[\fR\fB\fIpassword\fR\fR\fB]\fR .sp The password to use when connecting to the server as the superuser. If you omit the \fIpassword\fR value following the \fB\-\-password\fR or \fB\-p\fR option on the command line, you are prompted for one. .sp Specifying a password on the command line should be considered insecure. See Section\ 7.6, \(lqKeeping Your Password Secure\(rq. .TP \(bu \fB\-\-superuser=\fR\fB\fIuser_name\fR\fR, \fB\-U \fR\fB\fIuser_name\fR\fR .sp Specify the username for connecting as the superuser. .TP \(bu \fB\-\-table\fR, \fB\-t\fR .sp Generate reports in table format. .TP \(bu \fB\-\-user=\fR\fB\fIuser_name\fR\fR, \fB\-u \fR\fB\fIuser_name\fR\fR .sp The username to use in the access privileges. .TP \(bu \fB\-\-version\fR, \fB\-v\fR .sp Display version information and exit. .PP If your MySQL distribution is installed in some non\-standard location, you must change the location where \fBmysqlaccess\fR expects to find the \fBmysql\fR client. Edit the \fImysqlaccess\fR script at approximately line 18. Search for a line that looks like this: .sp .nf $MYSQL = '/usr/local/bin/mysql'; # path to mysql executable .fi .PP Change the path to reflect the location where \fBmysql\fR actually is stored on your system. If you do not do this, a Broken pipe error will occur when you run \fBmysqlaccess\fR. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/mysqlbinlog.1 0000644 0000000 0000000 00000032306 10664762445 016677 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQLBINLOG\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysqlbinlog \- utility for processing binary log files .SH "SYNOPSIS" .HP 35 \fBmysqlbinlog [\fR\fBoptions\fR\fB] \fR\fB\fIlog_file\fR\fR\fB ...\fR .SH "DESCRIPTION" .PP The binary log files that the server generates are written in binary format. To examine these files in text format, use the \fBmysqlbinlog\fR utility. It is available as of MySQL 3.23.14. You can also use \fBmysqlbinlog\fR to read relay log files written by a slave server in a replication setup. Relay logs have the same format as binary log files. .PP Invoke \fBmysqlbinlog\fR like this: .sp .nf shell> \fBmysqlbinlog [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIlog_file\fR\fR\fB ...\fR .fi .PP For example, to display the contents of the binary log file named \fIbinlog.000003\fR, use this command: .sp .nf shell> \fBmysqlbinlog binlog.0000003\fR .fi .PP The output includes all events contained in \fIbinlog.000003\fR. Event information includes the statement executed, the time the statement took, the thread ID of the client that issued it, the timestamp when it was executed, and so forth. .PP The output from \fBmysqlbinlog\fR can be re\-executed (for example, by using it as input to \fBmysql\fR) to reapply the statements in the log. This is useful for recovery operations after a server crash. For other usage examples, see the discussion later in this section. .PP Normally, you use \fBmysqlbinlog\fR to read binary log files directly and apply them to the local MySQL server. It is also possible to read binary logs from a remote server by using the \fB\-\-read\-from\-remote\-server\fR option. When you read remote binary logs, the connection parameter options can be given to indicate how to connect to the server. These options are \fB\-\-host\fR, \fB\-\-password\fR, \fB\-\-port\fR, \fB\-\-protocol\fR, \fB\-\-socket\fR, and \fB\-\-user\fR; they are ignored except when you also use the \fB\-\-read\-from\-remote\-server\fR option. .PP Binary logs and relay logs are discussed further in Section\ 10.4, \(lqThe Binary Log\(rq, and Section\ 3.4, \(lqReplication Relay and Status Files\(rq. .PP \fBmysqlbinlog\fR supports the following options: .TP 3 \(bu \fB\-\-help\fR, \fB\-?\fR .sp Display a help message and exit. .TP \(bu \fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR .sp The directory where character sets are installed. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-database=\fR\fB\fIdb_name\fR\fR, \fB\-d \fR\fB\fIdb_name\fR\fR .sp List entries for just this database (local log only). .TP \(bu \fB\-\-debug[=\fR\fB\fIdebug_options\fR\fR\fB]\fR, \fB\-# [\fR\fB\fIdebug_options\fR\fR\fB]\fR .sp Write a debugging log. A typical \fIdebug_options\fR string is often \'d:t:o,\fIfile_name\fR'. .TP \(bu \fB\-\-disable\-log\-bin\fR, \fB\-D\fR .sp Disable binary logging. This is useful for avoiding an endless loop if you use the \fB\-\-to\-last\-log\fR option and are sending the output to the same MySQL server. This option also is useful when restoring after a crash to avoid duplication of the statements you have logged. This option is available as of MySQL 4.1.8. .sp This option requires that you have the SUPER privilege. It causes \fBmysqlbinlog\fR to include a SET SQL_LOG_BIN=0 statement in its output to disable binary logging of the remaining output. The SET statement is ineffective unless you have the SUPER privilege. .TP \(bu \fB\-\-force\-read\fR, \fB\-f\fR .sp With this option, if \fBmysqlbinlog\fR reads a binary log event that it does not recognize, it prints a warning, ignores the event, and continues. Without this option, \fBmysqlbinlog\fR stops if it reads such an event. .TP \(bu \fB\-\-host=\fR\fB\fIhost_name\fR\fR, \fB\-h \fR\fB\fIhost_name\fR\fR .sp Get the binary log from the MySQL server on the given host. .TP \(bu \fB\-\-local\-load=\fR\fB\fIpath\fR\fR, \fB\-l \fR\fB\fIpath\fR\fR .sp Prepare local temporary files for LOAD DATA INFILE in the specified directory. .TP \(bu \fB\-\-offset=\fR\fB\fIN\fR\fR, \fB\-o \fR\fB\fIN\fR\fR .sp Skip the first \fIN\fR entries in the log. .TP \(bu \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR .sp The password to use when connecting to the server. If you use the short option form (\fB\-p\fR), you \fIcannot\fR have a space between the option and the password. If you omit the \fIpassword\fR value following the \fB\-\-password\fR or \fB\-p\fR option on the command line, you are prompted for one. .sp Specifying a password on the command line should be considered insecure. See Section\ 7.6, \(lqKeeping Your Password Secure\(rq. .TP \(bu \fB\-\-port=\fR\fB\fIport_num\fR\fR, \fB\-P \fR\fB\fIport_num\fR\fR .sp The TCP/IP port number to use for connecting to a remote server. .TP \(bu \fB\-\-position=\fR\fB\fIN\fR\fR, \fB\-j \fR\fB\fIN\fR\fR .sp Deprecated. Use \fB\-\-start\-position\fR instead (starting from MySQL 4.1.4). .TP \(bu \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR .sp The connection protocol to use. Added in MySQL 4.1. .TP \(bu \fB\-\-read\-from\-remote\-server\fR, \fB\-R\fR .sp Read the binary log from a MySQL server rather than reading a local log file. Any connection parameter options are ignored unless this option is given as well. These options are \fB\-\-host\fR, \fB\-\-password\fR, \fB\-\-port\fR, \fB\-\-protocol\fR, \fB\-\-socket\fR, and \fB\-\-user\fR. .TP \(bu \fB\-\-result\-file=\fR\fB\fIname\fR\fR, \fB\-r \fR\fB\fIname\fR\fR .sp Direct output to the given file. .TP \(bu \fB\-\-short\-form\fR, \fB\-s\fR .sp Display only the statements contained in the log, without any extra information. .TP \(bu \fB\-\-socket=\fR\fB\fIpath\fR\fR, \fB\-S \fR\fB\fIpath\fR\fR .sp For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. .TP \(bu \fB\-\-start\-datetime=\fR\fB\fIdatetime\fR\fR .sp Start reading the binary log at the first event having a timestamp equal to or later than the \fIdatetime\fR argument. The \fIdatetime\fR value is relative to the local time zone on the machine where you run \fBmysqlbinlog\fR. The value should be in a format accepted for the DATETIME or TIMESTAMP data types. For example: .sp .nf shell> \fBmysqlbinlog \-\-start\-datetime="2005\-12\-25 11:25:56" binlog.000003\fR .fi This option is available as of MySQL 4.1.4. It is useful for point\-in\-time recovery. See Section\ 8.2, \(lqExample Backup and Recovery Strategy\(rq. .TP \(bu \fB\-\-stop\-datetime=\fR\fB\fIdatetime\fR\fR .sp Stop reading the binary log at the first event having a timestamp equal or posterior to the \fIdatetime\fR argument. This option is useful for point\-in\-time recovery. See the description of the \fB\-\-start\-datetime\fR option for information about the \fIdatetime\fR value. This option is available as of MySQL 4.1.4. .TP \(bu \fB\-\-start\-position=\fR\fB\fIN\fR\fR .sp Start reading the binary log at the first event having a position equal to the \fIN\fR argument. Available as of MySQL 4.1.4 (previously named \fB\-\-position\fR). .TP \(bu \fB\-\-stop\-position=\fR\fB\fIN\fR\fR .sp Stop reading the binary log at the first event having a position equal or greater than the \fIN\fR argument. Available as of MySQL 4.1.4. .TP \(bu \fB\-\-to\-last\-log\fR, \fB\-t\fR .sp Do not stop at the end of the requested binary log from a MySQL server, but rather continue printing until the end of the last binary log. If you send the output to the same MySQL server, this may lead to an endless loop. This option requires \fB\-\-read\-from\-remote\-server\fR. Available as of MySQL 4.1.2. .TP \(bu \fB\-\-user=\fR\fB\fIuser_name\fR\fR, \fB\-u \fR\fB\fIuser_name\fR\fR .sp The MySQL username to use when connecting to a remote server. .TP \(bu \fB\-\-version\fR, \fB\-V\fR .sp Display version information and exit. .PP You can also set the following variable by using \fB\-\-\fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR syntax: .TP 3 \(bu open_files_limit .sp Specify the number of open file descriptors to reserve. .PP It is also possible to set variables by using \fB\-\-set\-variable=\fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR or \fB\-O \fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR syntax. \fIThis syntax is deprecated\fR. .PP You can pipe the output of \fBmysqlbinlog\fR into the \fBmysql\fR client to execute the statements contained in the binary log. This is used to recover from a crash when you have an old backup (see Section\ 8.1, \(lqDatabase Backups\(rq). For example: .sp .nf shell> \fBmysqlbinlog binlog.000001 | mysql\fR .fi .PP Or: .sp .nf shell> \fBmysqlbinlog binlog.[0\-9]* | mysql\fR .fi .PP You can also redirect the output of \fBmysqlbinlog\fR to a text file instead, if you need to modify the statement log first (for example, to remove statements that you do not want to execute for some reason). After editing the file, execute the statements that it contains by using it as input to the \fBmysql\fR program. .PP \fBmysqlbinlog\fR has the \fB\-\-start\-position\fR option, which prints only those statements with an offset in the binary log greater than or equal to a given position (the given position must match the start of one event). It also has options to stop and start when it sees an event with a given date and time. This enables you to perform point\-in\-time recovery using the \fB\-\-stop\-datetime\fR option (to be able to say, for example, \(lqroll forward my databases to how they were today at 10:30 a.m.\(rq). .PP If you have more than one binary log to execute on the MySQL server, the safe method is to process them all using a single connection to the server. Here is an example that demonstrates what may be \fIunsafe\fR: .sp .nf shell> \fBmysqlbinlog binlog.000001 | mysql # DANGER!!\fR shell> \fBmysqlbinlog binlog.000002 | mysql # DANGER!!\fR .fi .PP Processing binary logs this way using different connections to the server causes problems if the first log file contains a CREATE TEMPORARY TABLE statement and the second log contains a statement that uses the temporary table. When the first \fBmysql\fR process terminates, the server drops the temporary table. When the second \fBmysql\fR process attempts to use the table, the server reports \(lqunknown table.\(rq .PP To avoid problems like this, use a \fIsingle\fR connection to execute the contents of all binary logs that you want to process. Here is one way to do so: .sp .nf shell> \fBmysqlbinlog binlog.000001 binlog.000002 | mysql\fR .fi .PP Another approach is to write all the logs to a single file and then process the file: .sp .nf shell> \fBmysqlbinlog binlog.000001 > /tmp/statements.sql\fR shell> \fBmysqlbinlog binlog.000002 >> /tmp/statements.sql\fR shell> \fBmysql \-e "source /tmp/statements.sql"\fR .fi .PP In MySQL 3.23, the binary log did not contain the data to load for LOAD DATA INFILE statements. To execute such a statement from a binary log file, the original data file was needed. Starting from MySQL 4.0.14, the binary log does contain the data, so \fBmysqlbinlog\fR can produce output that reproduces the LOAD DATA INFILE operation without the original data file. \fBmysqlbinlog\fR copies the data to a temporary file and writes a LOAD DATA LOCAL INFILE statement that refers to the file. The default location of the directory where these files are written is system\-specific. To specify a directory explicitly, use the \fB\-\-local\-load\fR option. .PP Because \fBmysqlbinlog\fR converts LOAD DATA INFILE statements to LOAD DATA LOCAL INFILE statements (that is, it adds LOCAL), both the client and the server that you use to process the statements must be configured to allow LOCAL capability. See Section\ 5.4, \(lqSecurity Issues with LOAD DATA LOCAL\(rq. .PP \fBWarning:\fR The temporary files created for LOAD DATA LOCAL statements are \fInot\fR automatically deleted because they are needed until you actually execute those statements. You should delete the temporary files yourself after you no longer need the statement log. The files can be found in the temporary file directory and have names like \fIoriginal_file_name\-#\-#\fR. .PP Before MySQL 4.1, \fBmysqlbinlog\fR could not prepare output suitable for \fBmysql\fR if the binary log contained interlaced statements originating from different clients that used temporary tables of the same name. This is fixed in MySQL 4.1. However, the problem still existed for LOAD DATA INFILE statements until it was fixed in MySQL 4.1.8. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/mysqld_safe.1 0000644 0000000 0000000 00000026203 10664762445 016645 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQLD_SAFE\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysqld_safe \- MySQL server startup script safe_mysqld \- MySQL server startup script .SH "SYNOPSIS" .HP 20 \fBmysqld_safe \fR\fB\fIoptions\fR\fR .SH "DESCRIPTION" .PP \fBmysqld_safe\fR is the recommended way to start a \fBmysqld\fR server on Unix and NetWare. \fBmysqld_safe\fR adds some safety features such as restarting the server when an error occurs and logging runtime information to an error log file. NetWare\-specific behaviors are listed later in this section. .PP \fBNote\fR: Before MySQL 4.0, \fBmysqld_safe\fR is named \fBsafe_mysqld\fR. To preserve backward compatibility, MySQL binary distributions include \fBsafe_mysqld\fR as a symbolic link to \fBmysqld_safe\fR until MySQL 5.1. .PP By default, \fBmysqld_safe\fR tries to start an executable named \fBmysqld\-max\fR if it exists, and \fBmysqld\fR otherwise. Be aware of the implications of this behavior: .TP 3 \(bu On Linux, the MySQL\-Max RPM relies on this \fBmysqld_safe\fR behavior. The RPM installs an executable named \fBmysqld\-max\fR, which causes \fBmysqld_safe\fR to automatically use that executable rather than \fBmysqld\fR from that point on. .TP \(bu If you install a MySQL\-Max distribution that includes a server named \fBmysqld\-max\fR, and then upgrade later to a non\-Max version of MySQL, \fBmysqld_safe\fR will still attempt to run the old \fBmysqld\-max\fR server. If you perform such an upgrade, you should manually remove the old \fBmysqld\-max\fR server to ensure that \fBmysqld_safe\fR runs the new \fBmysqld\fR server. .PP To override the default behavior and specify explicitly the name of the server you want to run, specify a \fB\-\-mysqld\fR or \fB\-\-mysqld\-version\fR option to \fBmysqld_safe\fR. You can also use \fB\-\-ledir\fR to indicate the directory where \fBmysqld_safe\fR should look for the server. .PP Many of the options to \fBmysqld_safe\fR are the same as the options to \fBmysqld\fR. See the section called \(lq\\FBMYSQLD\\FR COMMAND OPTIONS\(rq. .PP All options specified to \fBmysqld_safe\fR on the command line are passed to \fBmysqld\fR. If you want to use any options that are specific to \fBmysqld_safe\fR and that \fBmysqld\fR does not support, do not specify them on the command line. Instead, list them in the [mysqld_safe] group of an option file. See Section\ 3.2, \(lqUsing Option Files\(rq. .PP \fBmysqld_safe\fR reads all options from the [mysqld], [server], and [mysqld_safe] sections in option files. For backward compatibility, it also reads [safe_mysqld] sections, although you should rename such sections to [mysqld_safe] when you begin using MySQL 4.0 or later. .PP \fBmysqld_safe\fR supports the following options: .TP 3 \(bu \fB\-\-autoclose\fR .sp (NetWare only) On NetWare, \fBmysqld_safe\fR provides a screen presence. When you unload (shut down) the \fBmysqld_safe\fR NLM, the screen does not by default go away. Instead, it prompts for user input: .sp .nf *<NLM has terminated; Press any key to close the screen>* .fi If you want NetWare to close the screen automatically instead, use the \fB\-\-autoclose\fR option to \fBmysqld_safe\fR. .TP \(bu \fB\-\-basedir=\fR\fB\fIpath\fR\fR .sp The path to the MySQL installation directory. .TP \(bu \fB\-\-core\-file\-size=\fR\fB\fIsize\fR\fR .sp The size of the core file that \fBmysqld\fR should be able to create. The option value is passed to \fBulimit \-c\fR. .TP \(bu \fB\-\-datadir=\fR\fB\fIpath\fR\fR .sp The path to the data directory. .TP \(bu \fB\-\-defaults\-extra\-file=\fR\fB\fIpath\fR\fR .sp The name of an option file to be read in addition to the usual option files. This must be the first option on the command line if it is used. .TP \(bu \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR .sp The name of an option file to be read instead of the usual option files. This must be the first option on the command line if it is used. .TP \(bu \fB\-\-err\-log=\fR\fB\fIfile_name\fR\fR .sp The old form of the \fB\-\-log\-error\fR option, to be used before MySQL 4.0. .TP \(bu \fB\-\-ledir=\fR\fB\fIpath\fR\fR .sp If \fBmysqld_safe\fR cannot find the server, use this option to indicate the pathname to the directory where the server is located. .TP \(bu \fB\-\-log\-error=\fR\fB\fIfile_name\fR\fR .sp Write the error log to the given file. See Section\ 10.1, \(lqThe Error Log\(rq. .TP \(bu \fB\-\-mysqld=\fR\fB\fIprog_name\fR\fR .sp The name of the server program (in the ledir directory) that you want to start. This option is needed if you use the MySQL binary distribution but have the data directory outside of the binary distribution. If \fBmysqld_safe\fR cannot find the server, use the \fB\-\-ledir\fR option to indicate the pathname to the directory where the server is located. .TP \(bu \fB\-\-mysqld\-version=\fR\fB\fIsuffix\fR\fR .sp This option is similar to the \fB\-\-mysqld\fR option, but you specify only the suffix for the server program name. The basename is assumed to be \fBmysqld\fR. For example, if you use \fB\-\-mysqld\-version=max\fR, \fBmysqld_safe\fR starts the \fBmysqld\-max\fR program in the ledir directory. If the argument to \fB\-\-mysqld\-version\fR is empty, \fBmysqld_safe\fR uses \fBmysqld\fR in the ledir directory. .TP \(bu \fB\-\-nice=\fR\fB\fIpriority\fR\fR .sp Use the nice program to set the server's scheduling priority to the given value. This option was added in MySQL 4.0.14. .TP \(bu \fB\-\-no\-defaults\fR .sp Do not read any option files. This must be the first option on the command line if it is used. .TP \(bu \fB\-\-open\-files\-limit=\fR\fB\fIcount\fR\fR .sp The number of files that \fBmysqld\fR should be able to open. The option value is passed to \fBulimit \-n\fR. Note that you need to start \fBmysqld_safe\fR as root for this to work properly. .TP \(bu \fB\-\-pid\-file=\fR\fB\fIfile_name\fR\fR .sp The pathname of the process ID file. .TP \(bu \fB\-\-port=\fR\fB\fIport_num\fR\fR .sp The port number that the server should use when listening for TCP/IP connections. The port number must be 1024 or higher unless the server is started by the root system user. .TP \(bu \fB\-\-socket=\fR\fB\fIpath\fR\fR .sp The Unix socket file that the server should use when listening for local connections. .TP \(bu \fB\-\-timezone=\fR\fB\fItimezone\fR\fR .sp Set the TZ time zone environment variable to the given option value. Consult your operating system documentation for legal time zone specification formats. .TP \(bu \fB\-\-user={\fR\fB\fIuser_name\fR\fR\fB|\fR\fB\fIuser_id\fR\fR\fB}\fR .sp Run the \fBmysqld\fR server as the user having the name \fIuser_name\fR or the numeric user ID \fIuser_id\fR. (\(lqUser\(rq in this context refers to a system login account, not a MySQL user listed in the grant tables.) .PP If you execute \fBmysqld_safe\fR with the \fB\-\-defaults\-file\fR or \fB\-\-defaults\-extra\-option\fR option to name an option file, the option must be the first one given on the command line or the option file will not be used. For example, this command will not use the named option file: .sp .nf mysql> \fBmysqld_safe \-\-port=\fR\fB\fIport_num\fR\fR\fB \-\-defaults\-file=\fR\fB\fIfile_name\fR\fR .fi .PP Instead, use the following command: .sp .nf mysql> \fBmysqld_safe \-\-defaults\-file=\fR\fB\fIfile_name\fR\fR\fB \-\-port=\fR\fB\fIport_num\fR\fR .fi .PP The \fBmysqld_safe\fR script is written so that it normally can start a server that was installed from either a source or a binary distribution of MySQL, even though these types of distributions typically install the server in slightly different locations. (See Section\ 1.5, \(lqInstallation Layouts\(rq.) \fBmysqld_safe\fR expects one of the following conditions to be true: .TP 3 \(bu The server and databases can be found relative to the working directory (the directory from which \fBmysqld_safe\fR is invoked). For binary distributions, \fBmysqld_safe\fR looks under its working directory for \fIbin\fR and \fIdata\fR directories. For source distributions, it looks for \fIlibexec\fR and \fIvar\fR directories. This condition should be met if you execute \fBmysqld_safe\fR from your MySQL installation directory (for example, \fI/usr/local/mysql\fR for a binary distribution). .TP \(bu If the server and databases cannot be found relative to the working directory, \fBmysqld_safe\fR attempts to locate them by absolute pathnames. Typical locations are \fI/usr/local/libexec\fR and \fI/usr/local/var\fR. The actual locations are determined from the values configured into the distribution at the time it was built. They should be correct if MySQL is installed in the location specified at configuration time. .PP Because \fBmysqld_safe\fR tries to find the server and databases relative to its own working directory, you can install a binary distribution of MySQL anywhere, as long as you run \fBmysqld_safe\fR from the MySQL installation directory: .sp .nf shell> \fBcd \fR\fB\fImysql_installation_directory\fR\fR shell> \fBbin/mysqld_safe &\fR .fi .PP If \fBmysqld_safe\fR fails, even when invoked from the MySQL installation directory, you can specify the \fB\-\-ledir\fR and \fB\-\-datadir\fR options to indicate the directories in which the server and databases are located on your system. .PP Normally, you should not edit the \fBmysqld_safe\fR script. Instead, configure \fBmysqld_safe\fR by using command\-line options or options in the [mysqld_safe] section of a \fImy.cnf\fR option file. In rare cases, it might be necessary to edit \fBmysqld_safe\fR to get it to start the server properly. However, if you do this, your modified version of \fBmysqld_safe\fR might be overwritten if you upgrade MySQL in the future, so you should make a copy of your edited version that you can reinstall. .PP On NetWare, \fBmysqld_safe\fR is a NetWare Loadable Module (NLM) that is ported from the original Unix shell script. It starts the server as follows: .TP 3 1. Runs a number of system and option checks. .TP 2. Runs a check on MyISAM and ISAM tables. .TP 3. Provides a screen presence for the MySQL server. .TP 4. Starts \fBmysqld\fR, monitors it, and restarts it if it terminates in error. .TP 5. Sends error messages from \fBmysqld\fR to the \fI\fIhost_name\fR\fR\fI.err\fR file in the data directory. .TP 6. Sends \fBmysqld_safe\fR screen output to the \fI\fIhost_name\fR\fR\fI.safe\fR file in the data directory. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/mysql.server.1 0000644 0000000 0000000 00000005104 10664762444 017004 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQL.SERVER\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysql.server \- MySQL server startup script .SH "SYNOPSIS" .HP 19 \fBmysql {start|stop}\fR .SH "DESCRIPTION" .PP MySQL distributions on Unix include a script named \fBmysql.server\fR. It can be used on systems such as Linux and Solaris that use System V\-style run directories to start and stop system services. It is also used by the Mac OS X Startup Item for MySQL. .PP \fBmysql.server\fR can be found in the \fIsupport\-files\fR directory under your MySQL installation directory or in a MySQL source distribution. .PP If you use the Linux server RPM package (MySQL\-server\-\fIVERSION\fR.rpm), the \fBmysql.server\fR script will be installed in the \fI/etc/init.d\fR directory with the name \fImysql\fR. You need not install it manually. See Section\ 4, \(lqInstalling MySQL on Linux\(rq, for more information on the Linux RPM packages. .PP Some vendors provide RPM packages that install a startup script under a different name such as \fBmysqld\fR. .PP If you install MySQL from a source distribution or using a binary distribution format that does not install \fBmysql.server\fR automatically, you can install it manually. Instructions are provided in Section\ 10.2.2, \(lqStarting and Stopping MySQL Automatically\(rq. .PP \fBmysql.server\fR reads options from the [mysql.server] and [mysqld] sections of option files. For backward compatibility, it also reads [mysql_server] sections, although you should rename such sections to [mysql.server] when you begin using MySQL 4.0 or later. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/mysqlshow.1 0000644 0000000 0000000 00000013036 10664762446 016405 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQLSHOW\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysqlshow \- display database, table, and column information .SH "SYNOPSIS" .HP 52 \fBmysqlshow [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIdb_name\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB [\fR\fB\fIcol_name\fR\fR\fB]]]\fR .SH "DESCRIPTION" .PP The \fBmysqlshow\fR client can be used to quickly see which databases exist, their tables, or a table's columns or indexes. .PP \fBmysqlshow\fR provides a command\-line interface to several SQL SHOW statements. See Section\ 5.4, \(lqSHOW Syntax\(rq. The same information can be obtained by using those statements directly. For example, you can issue them from the \fBmysql\fR client program. .PP Invoke \fBmysqlshow\fR like this: .sp .nf shell> \fBmysqlshow [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIdb_name\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB [\fR\fB\fIcol_name\fR\fR\fB]]]\fR .fi .TP 3 \(bu If no database is given, a list of database names is shown. .TP \(bu If no table is given, all matching tables in the database are shown. .TP \(bu If no column is given, all matching columns and column types in the table are shown. .PP The output displays only the names of those databases, tables, or columns for which you have some privileges. .PP If the last argument contains shell or SQL wildcard characters (\(oq*\(cq, \(oq?\(cq, \(oq%\(cq, or \(oq_\(cq), only those names that are matched by the wildcard are shown. If a database name contains any underscores, those should be escaped with a backslash (some Unix shells require two) to get a list of the proper tables or columns. \(oq*\(cq and \(oq?\(cq characters are converted into SQL \(oq%\(cq and \(oq_\(cq wildcard characters. This might cause some confusion when you try to display the columns for a table with a \(oq_\(cq in the name, because in this case, \fBmysqlshow\fR shows you only the table names that match the pattern. This is easily fixed by adding an extra \(oq%\(cq last on the command line as a separate argument. .PP \fBmysqlshow\fR supports the following options: .TP 3 \(bu \fB\-\-help\fR, \fB\-?\fR .sp Display a help message and exit. .TP \(bu \fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR .sp The directory where character sets are installed. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-compress\fR, \fB\-C\fR .sp Compress all information sent between the client and the server if both support compression. .TP \(bu \fB\-\-debug[=\fR\fB\fIdebug_options\fR\fR\fB]\fR, \fB\-# [\fR\fB\fIdebug_options\fR\fR\fB]\fR .sp Write a debugging log. The \fIdebug_options\fR string often is \'d:t:o,\fIfile_name\fR'. .TP \(bu \fB\-\-default\-character\-set=\fR\fB\fIcharset_name\fR\fR .sp Use \fIcharset_name\fR as the default character set. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-host=\fR\fB\fIhost_name\fR\fR, \fB\-h \fR\fB\fIhost_name\fR\fR .sp Connect to the MySQL server on the given host. .TP \(bu \fB\-\-keys\fR, \fB\-k\fR .sp Show table indexes. .TP \(bu \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR .sp The password to use when connecting to the server. If you use the short option form (\fB\-p\fR), you \fIcannot\fR have a space between the option and the password. If you omit the \fIpassword\fR value following the \fB\-\-password\fR or \fB\-p\fR option on the command line, you are prompted for one. .sp Specifying a password on the command line should be considered insecure. See Section\ 7.6, \(lqKeeping Your Password Secure\(rq. .sp Specifying a password on the command line should be considered insecure. See Section\ 7.6, \(lqKeeping Your Password Secure\(rq. .TP \(bu \fB\-\-port=\fR\fB\fIport_num\fR\fR, \fB\-P \fR\fB\fIport_num\fR\fR .sp The TCP/IP port number to use for the connection. .TP \(bu \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR .sp The connection protocol to use. Added in MySQL 4.1. .TP \(bu \fB\-\-socket=\fR\fB\fIpath\fR\fR, \fB\-S \fR\fB\fIpath\fR\fR .sp For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. .TP \(bu \fB\-\-status\fR, \fB\-i\fR .sp Display extra information about each table. .TP \(bu \fB\-\-user=\fR\fB\fIuser_name\fR\fR, \fB\-u \fR\fB\fIuser_name\fR\fR .sp The MySQL username to use when connecting to the server. .TP \(bu \fB\-\-verbose\fR, \fB\-v\fR .sp Verbose mode. Print more information about what the program does. This option can be used multiple times to increase the amount of information. .TP \(bu \fB\-\-version\fR, \fB\-V\fR .sp Display version information and exit. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/msql2mysql.1 0000644 0000000 0000000 00000004122 10664762443 016454 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMSQL2MYSQL\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" msql2mysql \- convert mSQL programs for use with MySQL .SH "SYNOPSIS" .HP 28 \fBmsql2mysql\fR\fB\fIC\-source\-file\fR\fR\fB ...\fR .SH "DESCRIPTION" .PP Initially, the MySQL C API was developed to be very similar to that for the mSQL database system. Because of this, mSQL programs often can be converted relatively easily for use with MySQL by changing the names of the C API functions. .PP The \fBmsql2mysql\fR utility performs the conversion of mSQL C API function calls to their MySQL equivalents. \fBmsql2mysql\fR converts the input file in place, so make a copy of the original before converting it. For example, use \fBmsql2mysql\fR like this: .sp .nf shell> \fBcp client\-prog.c client\-prog.c.orig\fR shell> \fBmsql2mysql client\-prog.c\fR client\-prog.c converted .fi .PP Then examine \fIclient\-prog.c\fR and make any post\-conversion revisions that may be necessary. .PP \fBmsql2mysql\fR uses the \fBreplace\fR utility to make the function name substitutions. See \fBreplace\fR(1). .SH "SEE ALSO" isamchk(1), isamlog(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/isamlog.1 0000644 0000000 0000000 00000000025 10664762443 015761 0 ustar root root .so man1/myisamlog.1 usr/local/mysql/man/man1/mysqladmin.1 0000644 0000000 0000000 00000025734 10664762444 016523 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYSQLADMIN\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" mysqladmin \- client for administering a MySQL server .SH "SYNOPSIS" .HP 79 \fBmysqladmin [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIcommand\fR\fR\fB [\fR\fB\fIcommand\-options\fR\fR\fB] [\fR\fB\fIcommand\fR\fR\fB [\fR\fB\fIcommand\-options\fR\fR\fB]] ...\fR .SH "DESCRIPTION" .PP \fBmysqladmin\fR is a client for performing administrative operations. You can use it to check the server's configuration and current status, to create and drop databases, and more. .PP Invoke \fBmysqladmin\fR like this: .sp .nf shell> \fBmysqladmin [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIcommand\fR\fR\fB [\fR\fB\fIcommand\-arg\fR\fR\fB] [\fR\fB\fIcommand\fR\fR\fB [\fR\fB\fIcommand\-arg\fR\fR\fB]] ...\fR .fi .PP \fBmysqladmin\fR supports the commands described in the following list. Some of the commands take an argument following the command name. .TP 3 \(bu create \fIdb_name\fR .sp Create a new database named \fIdb_name\fR. .TP \(bu debug .sp Tell the server to write debug information to the error log. .TP \(bu drop \fIdb_name\fR .sp Delete the database named \fIdb_name\fR and all its tables. .TP \(bu extended\-status .sp Display the server status variables and their values. .TP \(bu flush\-hosts .sp Flush all information in the host cache. .TP \(bu flush\-logs .sp Flush all logs. .TP \(bu flush\-privileges .sp Reload the grant tables (same as reload). .TP \(bu flush\-status .sp Clear status variables. .TP \(bu flush\-tables .sp Flush all tables. .TP \(bu flush\-threads .sp Flush the thread cache. (Added in MySQL 3.23.16.) .TP \(bu kill \fIid\fR,\fIid\fR,... .sp Kill server threads. If multiple thread ID values are given, there must be no spaces in the list. .TP \(bu old\-password \fInew\-password\fR .sp This is like the password command but stores the password using the old (pre\-4.1) password\-hashing format. This command was added in MySQL 4.1.0. (See Section\ 6.9, \(lqPassword Hashing as of MySQL 4.1\(rq.) .TP \(bu password \fInew\-password\fR .sp Set a new password. This changes the password to \fInew\-password\fR for the account that you use with \fBmysqladmin\fR for connecting to the server. Thus, the next time you invoke \fBmysqladmin\fR (or any other client program) using the same account, you will need to specify the new password. .sp If the \fInew\-password\fR value contains spaces or other characters that are special to your command interpreter, you need to enclose it within quotes. On Windows, be sure to use double quotes rather than single quotes; single quotes are not stripped from the password, but rather are interpreted as part of the password. For example: .sp .nf shell> \fBmysqladmin password "my new password"\fR .fi .TP \(bu ping .sp Check whether the server is alive. The return status from \fBmysqladmin\fR is 0 if the server is running, 1 if it is not. Beginning with MySQL 4.0.22, the status is 0 even in case of an error such as Access denied, because that means the server is running but refused the connection, which is different from the server not running. .TP \(bu processlist .sp Show a list of active server threads. This is like the output of the SHOW PROCESSLIST statement. If the \fB\-\-verbose\fR option is given, the output is like that of SHOW FULL PROCESSLIST. .TP \(bu reload .sp Reload the grant tables. .TP \(bu refresh .sp Flush all tables and close and open log files. .TP \(bu shutdown .sp Stop the server. .TP \(bu start\-slave .sp Start replication on a slave server. (Added in MySQL 3.23.16.) .TP \(bu status .sp Display a short server status message. .TP \(bu stop\-slave .sp Stop replication on a slave server. (Added in MySQL 3.23.16.) .TP \(bu variables .sp Display the server system variables and their values. .TP \(bu version .sp Display version information from the server. .PP All commands can be shortened to any unique prefix. For example: .sp .nf shell> \fBmysqladmin proc stat\fR +\-\-\-\-+\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-+\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | Id | User | Host | db | Command | Time | State | Info | +\-\-\-\-+\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-+\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | 51 | monty | localhost | | Query | 0 | | show processlist | +\-\-\-\-+\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-+\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ Uptime: 1473624 Threads: 1 Questions: 39487 Slow queries: 0 Opens: 541 Flush tables: 1 Open tables: 19 Queries per second avg: 0.0268 .fi .PP The \fBmysqladmin status\fR command result displays the following values: .TP 3 \(bu Uptime .sp The number of seconds the MySQL server has been running. .TP \(bu Threads .sp The number of active threads (clients). .TP \(bu Questions .sp The number of questions (queries) from clients since the server was started. .TP \(bu Slow queries .sp The number of queries that have taken more than long_query_time seconds. See Section\ 10.5, \(lqThe Slow Query Log\(rq. .TP \(bu Opens .sp The number of tables the server has opened. .TP \(bu Flush tables .sp The number of flush\-*, refresh, and reload commands the server has executed. .TP \(bu Open tables .sp The number of tables that currently are open. .TP \(bu Memory in use .sp The amount of memory allocated directly by \fBmysqld\fR. This value is displayed only when MySQL has been compiled with \fB\-\-with\-debug=full\fR. .TP \(bu Maximum memory used .sp The maximum amount of memory allocated directly by \fBmysqld\fR. This value is displayed only when MySQL has been compiled with \fB\-\-with\-debug=full\fR. .PP If you execute \fBmysqladmin shutdown\fR when connecting to a local server using a Unix socket file, \fBmysqladmin\fR waits until the server's process ID file has been removed, to ensure that the server has stopped properly. .PP \fBmysqladmin\fR supports the following options: .TP 3 \(bu \fB\-\-help\fR, \fB\-?\fR .sp Display a help message and exit. .TP \(bu \fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR .sp The directory where character sets are installed. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-compress\fR, \fB\-C\fR .sp Compress all information sent between the client and the server if both support compression. .TP \(bu \fB\-\-count=\fR\fB\fIN\fR\fR, \fB\-c \fR\fB\fIN\fR\fR .sp The number of iterations to make for repeated command execution. This works only with the \fB\-\-sleep\fR option. .TP \(bu \fB\-\-debug[=\fR\fB\fIdebug_options\fR\fR\fB]\fR, \fB\-# [\fR\fB\fIdebug_options\fR\fR\fB]\fR .sp Write a debugging log. The \fIdebug_options\fR string often is \'d:t:o,\fIfile_name\fR'. The default is \'d:t:o,/tmp/mysqladmin.trace'. .TP \(bu \fB\-\-default\-character\-set=\fR\fB\fIcharset_name\fR\fR .sp Use \fIcharset_name\fR as the default character set. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. Added in MySQL 4.1.9. .TP \(bu \fB\-\-force\fR, \fB\-f\fR .sp Do not ask for confirmation for the drop \fIdb_name\fR command. With multiple commands, continue even if an error occurs. .TP \(bu \fB\-\-host=\fR\fB\fIhost_name\fR\fR, \fB\-h \fR\fB\fIhost_name\fR\fR .sp Connect to the MySQL server on the given host. .TP \(bu \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR .sp The password to use when connecting to the server. If you use the short option form (\fB\-p\fR), you \fIcannot\fR have a space between the option and the password. If you omit the \fIpassword\fR value following the \fB\-\-password\fR or \fB\-p\fR option on the command line, you are prompted for one. .sp Specifying a password on the command line should be considered insecure. See Section\ 7.6, \(lqKeeping Your Password Secure\(rq. .TP \(bu \fB\-\-port=\fR\fB\fIport_num\fR\fR, \fB\-P \fR\fB\fIport_num\fR\fR .sp The TCP/IP port number to use for the connection. .TP \(bu \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR .sp The connection protocol to use. Added in MySQL 4.1. .TP \(bu \fB\-\-relative\fR, \fB\-r\fR .sp Show the difference between the current and previous values when used with the \fB\-\-sleep\fR option. Currently, this option works only with the extended\-status command. .TP \(bu \fB\-\-silent\fR, \fB\-s\fR .sp Exit silently if a connection to the server cannot be established. .TP \(bu \fB\-\-sleep=\fR\fB\fIdelay\fR\fR, \fB\-i \fR\fB\fIdelay\fR\fR .sp Execute commands repeatedly, sleeping for \fIdelay\fR seconds in between. The \fB\-\-count\fR option determines the number of iterations. .TP \(bu \fB\-\-socket=\fR\fB\fIpath\fR\fR, \fB\-S \fR\fB\fIpath\fR\fR .sp For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. .TP \(bu \fB\-\-user=\fR\fB\fIuser_name\fR\fR, \fB\-u \fR\fB\fIuser_name\fR\fR .sp The MySQL username to use when connecting to the server. .TP \(bu \fB\-\-verbose\fR, \fB\-v\fR .sp Verbose mode. Print more information about what the program does. .TP \(bu \fB\-\-version\fR, \fB\-V\fR .sp Display version information and exit. .TP \(bu \fB\-\-vertical\fR, \fB\-E\fR .sp Print output vertically. This is similar to \fB\-\-relative\fR, but prints output vertically. .TP \(bu \fB\-\-wait[=\fR\fB\fIcount\fR\fR\fB]\fR, \fB\-w[\fR\fB\fIcount\fR\fR\fB]\fR .sp If the connection cannot be established, wait and retry instead of aborting. If a \fIcount\fR value is given, it indicates the number of times to retry. The default is one time. .PP You can also set the following variables by using \fB\-\-\fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR syntax: .TP 3 \(bu connect_timeout .sp The maximum number of seconds before connection timeout. The default value is 43200 (12 hours). .TP \(bu shutdown_timeout .sp The maximum number of seconds to wait for server shutdown. The default value is 3600 (1 hour). .PP It is also possible to set variables by using \fB\-\-set\-variable=\fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR or \fB\-O \fR\fB\fIvar_name\fR\fR\fB=\fR\fB\fIvalue\fR\fR syntax. However, this syntax is deprecated as of MySQL 4.0. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty. usr/local/mysql/man/man1/myisampack.1 0000644 0000000 0000000 00000040132 10664762443 016467 0 ustar root root .\" ** You probably do not want to edit this file directly ** .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" Instead of manually editing it, you probably should edit the DocBook XML .\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .TH "\\FBMYISAMPACK\\FR" "1" "05/06/2006" "MySQL 4.1" "MySQL Database System" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" myisampack \- generate compressed, read\-only MyISAM tables pack_isam \- generate compressed, read\-only ISAM tables .SH "SYNOPSIS" .HP 35 \fBmyisampack [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIfile_name\fR\fR\fB ...\fR .HP 32 \fBpack_isam [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIfile_name\fR\fR\fB \&...\fR .SH "DESCRIPTION" .PP The \fBmyisampack\fR utility compresses MyISAM tables. \fBmyisampack\fR works by compressing each column in the table separately. Usually, \fBmyisampack\fR packs the data file 40%\-70%. .PP When the table is used later, the server reads into memory the information needed to decompress columns. This results in much better performance when accessing individual rows, because you only have to uncompress exactly one row. .PP MySQL uses mmap() when possible to perform memory mapping on compressed tables. If mmap() does not work, MySQL falls back to normal read/write file operations. .PP A similar utility, \fBpack_isam\fR, compresses ISAM tables. Because ISAM tables are deprecated, this section discusses only \fBmyisampack\fR, but the general procedures for using \fBmyisampack\fR are also true for \fBpack_isam\fR unless otherwise specified. References to \fBmyisamchk\fR should be read as references to \fBisamchk\fR if you are using \fBpack_isam\fR. .PP Please note the following: .TP 3 \(bu If the \fBmysqld\fR server was invoked with external locking disabled, it is not a good idea to invoke \fBmyisampack\fR if the table might be updated by the server during the packing process. It is safest to compress tables with the server stopped. .TP \(bu After packing a table, it becomes read\-only. This is generally intended (such as when accessing packed tables on a CD). Allowing writes to a packed table is on our TODO list, but with low priority. .TP \(bu \fBmyisampack\fR can pack BLOB or TEXT columns. (The older \fBpack_isam\fR program for ISAM tables does not have this capability.) .PP Invoke \fBmyisampack\fR like this: .sp .nf shell> \fBmyisampack [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIfile_name\fR\fR\fB ...\fR .fi .PP Each filename argument should be the name of an index (\fI.MYI\fR) file. If you are not in the database directory, you should specify the pathname to the file. It is permissible to omit the \fI.MYI\fR extension. .PP After you compress a table with \fBmyisampack\fR, you should use \fBmyisamchk \-rq\fR to rebuild its indexes. \fBmyisamchk\fR(1). .PP \fBmyisampack\fR supports the following options: .TP 3 \(bu \fB\-\-help\fR, \fB\-?\fR .sp Display a help message and exit. .TP \(bu \fB\-\-backup\fR, \fB\-b\fR .sp Make a backup of each table's data file using the name \fI\fItbl_name\fR\fR\fI.OLD\fR. .TP \(bu \fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR .sp The directory where character sets are installed. See Section\ 9.1, \(lqThe Character Set Used for Data and Sorting\(rq. .TP \(bu \fB\-\-debug[=\fR\fB\fIdebug_options\fR\fR\fB]\fR, \fB\-# [\fR\fB\fIdebug_options\fR\fR\fB]\fR .sp Write a debugging log. The \fIdebug_options\fR string often is \'d:t:o,\fIfile_name\fR'. .TP \(bu \fB\-\-force\fR, \fB\-f\fR .sp Produce a packed table even if it becomes larger than the original or if the intermediate file from an earlier invocation of \fBmyisampack\fR exists. (\fBmyisampack\fR creates an intermediate file named \fI\fItbl_name\fR\fR\fI.TMD\fR in the database directory while it compresses the table. If you kill \fBmyisampack\fR, the \fI.TMD\fR file might not be deleted.) Normally, \fBmyisampack\fR exits with an error if it finds that \fI\fItbl_name\fR\fR\fI.TMD\fR exists. With \fB\-\-force\fR, \fBmyisampack\fR packs the table anyway. .TP \(bu \fB\-\-join=\fR\fB\fIbig_tbl_name\fR\fR, \fB\-j \fR\fB\fIbig_tbl_name\fR\fR .sp Join all tables named on the command line into a single table \fIbig_tbl_name\fR. All tables that are to be combined \fImust\fR have identical structure (same column names and types, same indexes, and so forth). .TP \(bu \fB\-\-packlength=\fR\fB\fIlen\fR\fR, \fB\-p \fR\fB\fIlen\fR\fR .sp Specify the row length storage size, in bytes. The value should be 1, 2, or 3. \fBmyisampack\fR stores all rows with length pointers of 1, 2, or 3 bytes. In most normal cases, \fBmyisampack\fR can determine the correct length value before it begins packing the file, but it may notice during the packing process that it could have used a shorter length. In this case, \fBmyisampack\fR prints a note that you could use a shorter row length the next time you pack the same file. .TP \(bu \fB\-\-silent\fR, \fB\-s\fR .sp Silent mode. Write output only when errors occur. .TP \(bu \fB\-\-test\fR, \fB\-t\fR .sp Do not actually pack the table, just test packing it. .TP \(bu \fB\-\-tmpdir=\fR\fB\fIpath\fR\fR, \fB\-T \fR\fB\fIpath\fR\fR .sp Use the named directory as the location where \fBmyisamchk\fR creates temporary files. .TP \(bu \fB\-\-verbose\fR, \fB\-v\fR .sp Verbose mode. Write information about the progress of the packing operation and its result. .TP \(bu \fB\-\-version\fR, \fB\-V\fR .sp Display version information and exit. .TP \(bu \fB\-\-wait\fR, \fB\-w\fR .sp Wait and retry if the table is in use. If the \fBmysqld\fR server was invoked with external locking disabled, it is not a good idea to invoke \fBmyisampack\fR if the table might be updated by the server during the packing process. .PP The following sequence of commands illustrates a typical table compression session: .sp .nf shell> \fBls \-l station.*\fR \-rw\-rw\-r\-\- 1 monty my 994128 Apr 17 19:00 station.MYD \-rw\-rw\-r\-\- 1 monty my 53248 Apr 17 19:00 station.MYI \-rw\-rw\-r\-\- 1 monty my 5767 Apr 17 19:00 station.frm shell> \fBmyisamchk \-dvv station\fR MyISAM file: station Isam\-version: 2 Creation time: 1996\-03\-13 10:08:58 Recover time: 1997\-02\-02 3:06:43 Data records: 1192 Deleted blocks: 0 Datafile parts: 1192 Deleted data: 0 Datafile pointer (bytes): 2 Keyfile pointer (bytes): 2 Max datafile length: 54657023 Max keyfile length: 33554431 Recordlength: 834 Record format: Fixed length table description: Key Start Len Index Type Root Blocksize Rec/key 1 2 4 unique unsigned long 1024 1024 1 2 32 30 multip. text 10240 1024 1 Field Start Length Type 1 1 1 2 2 4 3 6 4 4 10 1 5 11 20 6 31 1 7 32 30 8 62 35 9 97 35 10 132 35 11 167 4 12 171 16 13 187 35 14 222 4 15 226 16 16 242 20 17 262 20 18 282 20 19 302 30 20 332 4 21 336 4 22 340 1 23 341 8 24 349 8 25 357 8 26 365 2 27 367 2 28 369 4 29 373 4 30 377 1 31 378 2 32 380 8 33 388 4 34 392 4 35 396 4 36 400 4 37 404 1 38 405 4 39 409 4 40 413 4 41 417 4 42 421 4 43 425 4 44 429 20 45 449 30 46 479 1 47 480 1 48 481 79 49 560 79 50 639 79 51 718 79 52 797 8 53 805 1 54 806 1 55 807 20 56 827 4 57 831 4 shell> \fBmyisampack station.MYI\fR Compressing station.MYI: (1192 records) \- Calculating statistics normal: 20 empty\-space: 16 empty\-zero: 12 empty\-fill: 11 pre\-space: 0 end\-space: 12 table\-lookups: 5 zero: 7 Original trees: 57 After join: 17 \- Compressing file 87.14% Remember to run myisamchk \-rq on compressed tables shell> \fBls \-l station.*\fR \-rw\-rw\-r\-\- 1 monty my 127874 Apr 17 19:00 station.MYD \-rw\-rw\-r\-\- 1 monty my 55296 Apr 17 19:04 station.MYI \-rw\-rw\-r\-\- 1 monty my 5767 Apr 17 19:00 station.frm shell> \fBmyisamchk \-dvv station\fR MyISAM file: station Isam\-version: 2 Creation time: 1996\-03\-13 10:08:58 Recover time: 1997\-04\-17 19:04:26 Data records: 1192 Deleted blocks: 0 Datafile parts: 1192 Deleted data: 0 Datafile pointer (bytes): 3 Keyfile pointer (bytes): 1 Max datafile length: 16777215 Max keyfile length: 131071 Recordlength: 834 Record format: Compressed table description: Key Start Len Index Type Root Blocksize Rec/key 1 2 4 unique unsigned long 10240 1024 1 2 32 30 multip. text 54272 1024 1 Field Start Length Type Huff tree Bits 1 1 1 constant 1 0 2 2 4 zerofill(1) 2 9 3 6 4 no zeros, zerofill(1) 2 9 4 10 1 3 9 5 11 20 table\-lookup 4 0 6 31 1 3 9 7 32 30 no endspace, not_always 5 9 8 62 35 no endspace, not_always, no empty 6 9 9 97 35 no empty 7 9 10 132 35 no endspace, not_always, no empty 6 9 11 167 4 zerofill(1) 2 9 12 171 16 no endspace, not_always, no empty 5 9 13 187 35 no endspace, not_always, no empty 6 9 14 222 4 zerofill(1) 2 9 15 226 16 no endspace, not_always, no empty 5 9 16 242 20 no endspace, not_always 8 9 17 262 20 no endspace, no empty 8 9 18 282 20 no endspace, no empty 5 9 19 302 30 no endspace, no empty 6 9 20 332 4 always zero 2 9 21 336 4 always zero 2 9 22 340 1 3 9 23 341 8 table\-lookup 9 0 24 349 8 table\-lookup 10 0 25 357 8 always zero 2 9 26 365 2 2 9 27 367 2 no zeros, zerofill(1) 2 9 28 369 4 no zeros, zerofill(1) 2 9 29 373 4 table\-lookup 11 0 30 377 1 3 9 31 378 2 no zeros, zerofill(1) 2 9 32 380 8 no zeros 2 9 33 388 4 always zero 2 9 34 392 4 table\-lookup 12 0 35 396 4 no zeros, zerofill(1) 13 9 36 400 4 no zeros, zerofill(1) 2 9 37 404 1 2 9 38 405 4 no zeros 2 9 39 409 4 always zero 2 9 40 413 4 no zeros 2 9 41 417 4 always zero 2 9 42 421 4 no zeros 2 9 43 425 4 always zero 2 9 44 429 20 no empty 3 9 45 449 30 no empty 3 9 46 479 1 14 4 47 480 1 14 4 48 481 79 no endspace, no empty 15 9 49 560 79 no empty 2 9 50 639 79 no empty 2 9 51 718 79 no endspace 16 9 52 797 8 no empty 2 9 53 805 1 17 1 54 806 1 3 9 55 807 20 no empty 3 9 56 827 4 no zeros, zerofill(2) 2 9 57 831 4 no zeros, zerofill(1) 2 9 .fi .PP \fBmyisampack\fR displays the following kinds of information: .TP 3 \(bu normal .sp The number of columns for which no extra packing is used. .TP \(bu empty\-space .sp The number of columns containing values that are only spaces. These occupy one bit. .TP \(bu empty\-zero .sp The number of columns containing values that are only binary zeros. These occupy one bit. .TP \(bu empty\-fill .sp The number of integer columns that do not occupy the full byte range of their type. These are changed to a smaller type. For example, a BIGINT column (eight bytes) can be stored as a TINYINT column (one byte) if all its values are in the range from \-128 to 127. .TP \(bu pre\-space .sp The number of decimal columns that are stored with leading spaces. In this case, each value contains a count for the number of leading spaces. .TP \(bu end\-space .sp The number of columns that have a lot of trailing spaces. In this case, each value contains a count for the number of trailing spaces. .TP \(bu table\-lookup .sp The column had only a small number of different values, which were converted to an ENUM before Huffman compression. .TP \(bu zero .sp The number of columns for which all values are zero. .TP \(bu Original trees .sp The initial number of Huffman trees. .TP \(bu After join .sp The number of distinct Huffman trees left after joining trees to save some header space. .PP After a table has been compressed, \fBmyisamchk \-dvv\fR prints additional information about each column: .TP 3 \(bu Type .sp The data type. The value may contain any of the following descriptors: .RS .TP 3 \(bu constant .sp All rows have the same value. .TP \(bu no endspace .sp Do not store endspace. .TP \(bu no endspace, not_always .sp Do not store endspace and do not do endspace compression for all values. .TP \(bu no endspace, no empty .sp Do not store endspace. Do not store empty values. .TP \(bu table\-lookup .sp The column was converted to an ENUM. .TP \(bu zerofill(\fIN\fR) .sp The most significant \fIN\fR bytes in the value are always 0 and are not stored. .TP \(bu no zeros .sp Do not store zeros. .TP \(bu always zero .sp Zero values are stored using one bit. .RE .TP \(bu Huff tree .sp The number of the Huffman tree associated with the column. .TP \(bu Bits .sp The number of bits used in the Huffman tree. .PP After you run \fBmyisampack\fR, you must run \fBmyisamchk\fR to re\-create any indexes. At this time, you can also sort the index blocks and create statistics needed for the MySQL optimizer to work more efficiently: .sp .nf shell> \fBmyisamchk \-rq \-\-sort\-index \-\-analyze \fR\fB\fItbl_name\fR\fR\fB.MYI\fR .fi .PP A similar procedure applies for ISAM tables. After using \fBpack_isam\fR, use \fBisamchk\fR to re\-create the indexes: .sp .nf shell> \fBisamchk \-rq \-\-sort\-index \-\-analyze \fR\fB\fItbl_name\fR\fR\fB.ISM\fR .fi .PP After you have installed the packed table into the MySQL database directory, you should execute \fBmysqladmin flush\-tables\fR to force \fBmysqld\fR to start using the new table. .PP To unpack a packed table, use the \fB\-\-unpack\fR option to \fBmyisamchk\fR or \fBisamchk\fR. .SH "SEE ALSO" isamchk(1), isamlog(1), msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlshow(1), pack_isam(1), perror(1), replace(1), safe_mysqld(1) .P 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 MySQL AB (http://www.mysql.com/). This software comes with no warranty.
Rename:
-