MySQL Reference Manual for version 4.0.18.

[Top] [Contents] [Index] [ ? ]

Table of Contents

1. General Information
1.1 About This Manual
1.1.1 Conventions Used in This Manual
1.2 Overview of the MySQL Database Management System
1.2.1 History of MySQL
1.2.2 The Main Features of MySQL
1.2.3 MySQL Stability
1.2.4 How Big MySQL Tables Can Be
1.2.5 Year 2000 Compliance
1.3 Overview of MySQL AB
1.3.1 The Business Model and Services of MySQL AB
1.3.1.1 Support
1.3.1.2 Training and Certification
1.3.1.3 Consulting
1.3.1.4 Commercial Licenses
1.3.1.5 Partnering
1.3.2 Contact Information
1.4 MySQL Support and Licensing
1.4.1 Support Offered by MySQL AB
1.4.2 Copyrights and Licenses Used by MySQL
1.4.3 MySQL Licenses
1.4.3.1 Using the MySQL Software Under a Commercial License
1.4.3.2 Using the MySQL Software for Free Under GPL
1.4.4 MySQL AB Logos and Trademarks
1.4.4.1 The Original MySQL Logo
1.4.4.2 MySQL Logos that may be Used Without Written Permission
1.4.4.3 When You Need Written Permission to Use MySQL Logos
1.4.4.4 MySQL AB Partnership Logos
1.4.4.5 Using the Word MySQL in Printed Text or Presentations
1.4.4.6 Using the Word MySQL in Company and Product Names
1.5 MySQL Development Roadmap
1.5.1 MySQL 4.0 in a Nutshell
1.5.1.1 Features Available in MySQL 4.0
1.5.1.2 The Embedded MySQL Server
1.5.2 MySQL 4.1 in a Nutshell
1.5.2.1 Features Available in MySQL 4.1
1.5.2.2 Stepwise Rollout
1.5.2.3 Ready for Immediate Development Use
1.5.3 MySQL 5.0, The Next Development Release
1.6 MySQL and the Future (The TODO)
1.6.1 New Features Planned for 4.1
1.6.2 New Features Planned for 5.0
1.6.3 New Features Planned for 5.1
1.6.4 New Features Planned for the Near Future
1.6.5 New Features Planned for the Mid-Term Future
1.6.6 New Features We Don't Plan to Implement
1.7 MySQL Information Sources
1.7.1 MySQL Mailing Lists
1.7.1.1 The MySQL Mailing Lists
1.7.1.2 Asking Questions or Reporting Bugs
1.7.1.3 How to Report Bugs or Problems
1.7.1.4 Guidelines for Answering Questions on the Mailing List
1.7.2 MySQL Community Support on IRC (Internet Relay Chat)
1.8 MySQL Standards Compliance
1.8.1 What Standards MySQL Follows
1.8.2 Selecting SQL Modes
1.8.3 Running MySQL in ANSI Mode
1.8.4 MySQL Extensions to the SQL-92 Standard
1.8.5 MySQL Differences Compared to SQL-92
1.8.5.1 Subqueries
1.8.5.2 SELECT INTO TABLE
1.8.5.3 Transactions and Atomic Operations
1.8.5.4 Stored Procedures and Triggers
1.8.5.5 Foreign Keys
1.8.5.6 Views
1.8.5.7 `--' as the Start of a Comment
1.8.6 How MySQL Deals with Constraints
1.8.6.1 Constraint PRIMARY KEY / UNIQUE
1.8.6.2 Constraint NOT NULL and DEFAULT values
1.8.6.3 Constraint ENUM and SET
1.8.7 Known Errors and Design Deficiencies in MySQL
1.8.7.1 Errors in 3.23 Fixed in a Later MySQL Version
1.8.7.2 Errors in 4.0 Fixed in a Later MySQL Version
1.8.7.3 Open Bugs / Design Deficiencies in MySQL
2. Installing MySQL
2.1 General Installation Issues
2.1.1 Operating Systems Supported by MySQL
2.1.2 Choosing Which MySQL Distribution to Install
2.1.2.1 Choosing Which Version of MySQL to Install
2.1.2.2 Choosing a Distribution Format
2.1.2.3 How and When Updates Are Released
2.1.2.4 Release Philosophy--No Known Bugs in Releases
2.1.2.5 MySQL Binaries Compiled by MySQL AB
2.1.3 How to Get MySQL
2.1.4 Verifying Package Integrity Using MD5 Checksums or GnuPG
2.1.5 Installation Layouts
2.2 Standard MySQL Installation Using a Binary Distribution
2.2.1 Installing MySQL on Windows
2.2.1.1 Windows System Requirements
2.2.1.2 Installing a Windows Binary Distribution
2.2.1.3 Preparing the Windows MySQL Environment
2.2.1.4 Selecting a Windows Server
2.2.1.5 Starting the Server for the First Time
2.2.1.6 Starting MySQL from the Windows Command Line
2.2.1.7 Starting MySQL as a Windows Service
2.2.1.8 Running MySQL Client Programs on Windows
2.2.1.9 MySQL on Windows Compared to MySQL on Unix
2.2.2 Installing MySQL on Linux
2.2.3 Installing MySQL on Mac OS X
2.2.4 Installing MySQL on NetWare
2.2.5 Installing MySQL on HP-UX
2.2.6 Installing MySQL on Other Unix-like Systems
2.3 MySQL Installation Using a Source Distribution
2.3.1 Quick Source Installation Overview
2.3.2 Typical configure Options
2.3.3 Installing from the Development Source Tree
2.3.4 Dealing With Problems Compiling MySQL
2.3.5 MIT-pthreads Notes
2.3.6 Installing MySQL from Source on Windows
2.3.6.1 Building MySQL Using VC++
2.3.6.2 Creating a Windows Source Package from the Latest Development Source
2.3.7 Compiling MySQL Clients on Windows
2.4 Post-installation Setup and Testing
2.4.1 Windows Post-installation Procedures
2.4.2 Unix Post-installation Procedures
2.4.2.1 Problems Running mysql_install_db
2.4.2.2 Starting and Stopping MySQL Automatically
2.4.2.3 Starting and Troubleshooting the MySQL Server
2.5 Upgrading/Downgrading MySQL
2.5.1 Upgrading from Version 4.1 to 5.0
2.5.2 Upgrading from Version 4.0 to 4.1
2.5.3 Upgrading from Version 3.23 to 4.0
2.5.4 Upgrading from Version 3.22 to 3.23
2.5.5 Upgrading from Version 3.21 to 3.22
2.5.6 Upgrading from Version 3.20 to 3.21
2.5.7 Upgrading MySQL under Windows
2.5.8 Upgrading the Grant Tables
2.5.9 Copying MySQL Databases to Another Machine
2.6 Operating System Specific Notes
2.6.1 Linux Notes
2.6.1.1 Linux Operating System Notes
2.6.1.2 Linux Binary Distribution Notes
2.6.1.3 Linux Source Distribution Notes
2.6.1.4 Linux Post-installation Notes
2.6.1.5 Linux x86 Notes
2.6.1.6 Linux SPARC Notes
2.6.1.7 Linux Alpha Notes
2.6.1.8 Linux PowerPC Notes
2.6.1.9 Linux MIPS Notes
2.6.1.10 Linux IA-64 Notes
2.6.2 Mac OS X Notes
2.6.2.1 Mac OS X 10.x (Darwin)
2.6.2.2 Mac OS X Server 1.2 (Rhapsody)
2.6.3 Solaris Notes
2.6.3.1 Solaris 2.7/2.8 Notes
2.6.3.2 Solaris x86 Notes
2.6.4 BSD Notes
2.6.4.1 FreeBSD Notes
2.6.4.2 NetBSD Notes
2.6.4.3 OpenBSD 2.5 Notes
2.6.4.4 OpenBSD 2.8 Notes
2.6.4.5 BSD/OS Version 2.x Notes
2.6.4.6 BSD/OS Version 3.x Notes
2.6.4.7 BSD/OS Version 4.x Notes
2.6.5 Other Unix Notes
2.6.5.1 HP-UX Version 10.20 Notes
2.6.5.2 HP-UX Version 11.x Notes
2.6.5.3 IBM-AIX notes
2.6.5.4 SunOS 4 Notes
2.6.5.5 Alpha-DEC-UNIX Notes (Tru64)
2.6.5.6 Alpha-DEC-OSF/1 Notes
2.6.5.7 SGI Irix Notes
2.6.5.8 SCO Notes
2.6.5.9 SCO UnixWare Version 7.1.x Notes
2.6.6 OS/2 Notes
2.6.7 BeOS Notes
2.7 Perl Installation Notes
2.7.1 Installing Perl on Unix
2.7.2 Installing ActiveState Perl on Windows
2.7.3 Problems Using the Perl DBI/DBD Interface
3. MySQL Tutorial
3.1 Connecting to and Disconnecting from the Server
3.2 Entering Queries
3.3 Creating and Using a Database
3.3.1 Creating and Selecting a Database
3.3.2 Creating a Table
3.3.3 Loading Data into a Table
3.3.4 Retrieving Information from a Table
3.3.4.1 Selecting All Data
3.3.4.2 Selecting Particular Rows
3.3.4.3 Selecting Particular Columns
3.3.4.4 Sorting Rows
3.3.4.5 Date Calculations
3.3.4.6 Working with NULL Values
3.3.4.7 Pattern Matching
3.3.4.8 Counting Rows
3.3.4.9 Using More Than one Table
3.4 Getting Information About Databases and Tables
3.5 Using mysql in Batch Mode
3.6 Examples of Common Queries
3.6.1 The Maximum Value for a Column
3.6.2 The Row Holding the Maximum of a Certain Column
3.6.3 Maximum of Column per Group
3.6.4 The Rows Holding the Group-wise Maximum of a Certain Field
3.6.5 Using User Variables
3.6.6 Using Foreign Keys
3.6.7 Searching on Two Keys
3.6.8 Calculating Visits Per Day
3.6.9 Using AUTO_INCREMENT
3.7 Queries from the Twin Project
3.7.1 Find All Non-distributed Twins
3.7.2 Show a Table of Twin Pair Status
3.8 Using MySQL with Apache
4. Using MySQL Programs
4.1 Overview of MySQL Programs
4.2 Invoking MySQL Programs
4.3 Specifying Program Options
4.3.1 Using Options on the Command Line
4.3.2 Using Option Files
4.3.3 Using Environment Variables to Specify Options
4.3.4 Using Options to Set Program Variables
5. Database Administration
5.1 The MySQL Server and Server Startup Scripts
5.1.1 Overview of the Server-Side Scripts and Utilities
5.1.2 mysqld-max, An Extended mysqld Server
5.1.3 mysqld_safe, The Wrapper Around mysqld
5.1.4 mysql.server, A Server Startup Script for Run Directories
5.1.5 mysqld_multi, A Program for Managing Multiple MySQL Servers
5.2 Configuring MySQL
5.2.1 mysqld Command-line Options
5.2.2 The Server SQL Mode
5.3 General Security Issues
5.3.1 General Security Guidelines
5.3.2 Making MySQL Secure Against Attackers
5.3.3 Startup Options for mysqld Concerning Security
5.3.4 Security Issues with LOAD DATA LOCAL
5.4 The MySQL Access Privilege System
5.4.1 What the Privilege System Does
5.4.2 How the Privilege System Works
5.4.3 Privileges Provided by MySQL
5.4.4 Connecting to the MySQL Server
5.4.5 Access Control, Stage 1: Connection Verification
5.4.6 Access Control, Stage 2: Request Verification
5.4.7 Password Hashing in MySQL 4.1
5.4.8 Causes of Access denied Errors
5.5 MySQL User Account Management
5.5.1 MySQL Usernames and Passwords
5.5.2 When Privilege Changes Take Effect
5.5.3 Setting Up the Initial MySQL Privileges
5.5.4 Adding New Users to MySQL
5.5.5 Deleting Users from MySQL
5.5.6 Limiting user resources
5.5.7 Setting Up Passwords
5.5.8 Keeping Your Password Secure
5.5.9 Using Secure Connections
5.5.9.1 Basics
5.5.9.2 Requirements
5.5.9.3 Setting Up SSL Certificates for MySQL
5.5.9.4 SSL GRANT Options
5.5.9.5 SSL Command-line Options
5.5.9.6 Connecting to MySQL Remotely from Windows with SSH
5.6 Disaster Prevention and Recovery
5.6.1 Database Backups
5.6.2 Using myisamchk for Table Maintenance and Crash Recovery
5.6.2.1 myisamchk Invocation Syntax
5.6.2.2 General Options for myisamchk
5.6.2.3 Check Options for myisamchk
5.6.2.4 Repair Options for myisamchk
5.6.2.5 Other Options for myisamchk
5.6.2.6 myisamchk Memory Usage
5.6.2.7 Using myisamchk for Crash Recovery
5.6.2.8 How to Check Tables for Errors
5.6.2.9 How to Repair Tables
5.6.2.10 Table Optimization
5.6.3 Setting Up a Table Maintenance Regimen
5.6.4 Getting Information About a Table
5.7 MySQL Localization and International Usage
5.7.1 The Character Set Used for Data and Sorting
5.7.1.1 German character set
5.7.2 Non-English Error Messages
5.7.3 Adding a New Character Set
5.7.4 The Character Definition Arrays
5.7.5 String Collating Support
5.7.6 Multi-byte Character Support
5.7.7 Problems With Character Sets
5.8 The MySQL Log Files
5.8.1 The Error Log
5.8.2 The General Query Log
5.8.3 The Update Log
5.8.4 The Binary Log
5.8.5 The Slow Query Log
5.8.6 Log File Maintenance
5.9 Running Multiple MySQL Servers on the Same Machine
5.9.1 Running Multiple Servers on Windows
5.9.1.1 Starting Multiple Windows Servers at the Command Line
5.9.1.2 Starting Multiple Windows Servers as Services
5.9.2 Running Multiple Servers on Unix
5.9.3 Using Client Programs in a Multiple-Server Environment
6. Replication in MySQL
6.1 Introduction to Replication
6.2 Replication Implementation Overview
6.3 Replication Implementation Details
6.4 How to Set Up Replication
6.5 Upgrading a Replication Setup - Mixing Different MySQL Versions
6.6 Replication Features and Known Problems
6.7 Replication Startup Options
6.8 Replication FAQ
6.9 Troubleshooting Replication
6.10 Reporting Replication Bugs
7. MySQL Optimization
7.1 Optimization Overview
7.1.1 MySQL Design Limitations/Tradeoffs
7.1.2 Portability
7.1.3 What We Have Used MySQL For
7.1.4 The MySQL Benchmark Suite
7.1.5 Using Your Own Benchmarks
7.2 Optimizing SELECT Statements and Other Queries
7.2.1 EXPLAIN Syntax (Get Information About a SELECT)
7.2.2 Estimating Query Performance
7.2.3 Speed of SELECT Queries
7.2.4 How MySQL Optimizes WHERE Clauses
7.2.5 How MySQL Optimizes OR Clauses
7.2.6 How MySQL Optimizes IS NULL
7.2.7 How MySQL Optimizes DISTINCT
7.2.8 How MySQL Optimizes LEFT JOIN and RIGHT JOIN
7.2.9 How MySQL Optimizes ORDER BY
7.2.10 How MySQL Optimizes LIMIT
7.2.11 Speed of INSERT Queries
7.2.12 Speed of UPDATE Queries
7.2.13 Speed of DELETE Queries
7.2.14 Other Optimization Tips
7.3 Locking Issues
7.3.1 How MySQL Locks Tables
7.3.2 Table Locking Issues
7.4 Optimizing Database Structure
7.4.1 Design Choices
7.4.2 Get Your Data as Small as Possible
7.4.3 How MySQL Uses Indexes
7.4.4 Column Indexes
7.4.5 Multiple-Column Indexes
7.4.6 The MyISAM Key Cache
7.4.6.1 Shared Key Cache Access
7.4.6.2 Multiple Key Caches
7.4.6.3 Midpoint Insertion Strategy
7.4.6.4 Index Preloading
7.4.6.5 Key Cache Block Size
7.4.6.6 Restructuring a Key Cache
7.4.7 How MySQL Counts Open Tables
7.4.8 How MySQL Opens and Closes Tables
7.4.9 Drawbacks to Creating Large Numbers of Tables in the Same Database
7.5 Optimizing the MySQL Server
7.5.1 System/Compile Time and Startup Parameter Tuning
7.5.2 Tuning Server Parameters
7.5.3 How Compiling and Linking Affects the Speed of MySQL
7.5.4 How MySQL Uses Memory
7.5.5 How MySQL uses DNS
7.5.6 SET Syntax
7.6 Disk Issues
7.6.1 Using Symbolic Links
7.6.1.1 Using Symbolic Links for Databases on Unix
7.6.1.2 Using Symbolic Links for Tables on Unix
7.6.1.3 Using Symbolic Links for Databases on Windows
8. MySQL Client and Utility Programs
8.1 Overview of the Client-Side Scripts and Utilities
8.2 mysql, The Command-line Tool
8.2.1 How to Run SQL Commands from a Text File
8.3 mysqlcc, The MySQL Control Center
8.4 mysqladmin, Administering a MySQL Server
8.5 mysqlbinlog, Executing the queries from a binary log
8.6 Using mysqlcheck for Table Maintenance and Crash Recovery
8.7 mysqldump, Dumping Table Structure and Data
8.8 mysqlhotcopy, Copying MySQL Databases and Tables
8.9 mysqlimport, Importing Data from Text Files
8.10 mysqlshow, Showing Databases, Tables, and Columns
8.11 myisampack, The MySQL Compressed Read-only Table Generator
8.12 mysql_config, Get compile options for compiling clients
8.13 perror, Explaining Error Codes
9. MySQL Language Reference
10. Language Structure
10.1 Literal Values
10.1.1 Strings
10.1.2 Numbers
10.1.3 Hexadecimal Values
10.1.4 Boolean Values
10.1.5 NULL Values
10.2 Database, Table, Index, Column, and Alias Names
10.2.1 Identifier Qualifiers
10.2.2 Identifier Case Sensitivity
10.3 User Variables
10.4 System Variables
10.4.1 Dynamic System Variables
10.4.2 Structured System Variables
10.5 Comment Syntax
10.6 Treatment of Reserved Words in MySQL
11. Column Types
11.1 Numeric Types
11.2 Date and Time Types
11.2.1 Y2K Issues and Date Types
11.2.2 The DATETIME, DATE, and TIMESTAMP Types
11.2.3 The TIME Type
11.2.4 The YEAR Type
11.3 String Types
11.3.1 The CHAR and VARCHAR Types
11.3.2 The BLOB and TEXT Types
11.3.3 The ENUM Type
11.3.4 The SET Type
11.4 Choosing the Right Type for a Column
11.5 Using Column Types from Other Database Engines
11.6 Column Type Storage Requirements
12. Functions and Operators
12.1 Non-Type-Specific Operators and Functions
12.1.1 Parentheses
12.1.2 Comparison Operators
12.1.3 Logical Operators
12.1.4 Control Flow Functions
12.2 String Functions
12.2.1 String Comparison Functions
12.2.2 Case-Sensitivity
12.3 Numeric Functions
12.3.1 Arithmetic Operations
12.3.2 Mathematical Functions
12.4 Date and Time Functions
12.5 Cast Functions
12.6 Other Functions
12.6.1 Bit Functions
12.6.2 Encryption Functions
12.6.3 Information Functions
12.6.4 Miscellaneous Functions
12.7 Functions and Modifiers for Use with GROUP BY Clauses
12.7.1 GROUP BY Functions
12.7.2 GROUP BY Modifiers
12.7.3 GROUP BY with Hidden Fields
13. SQL Statement Syntax
13.1 Data Manipulation Statements
13.1.1 DELETE Syntax
13.1.2 DO Syntax
13.1.3 HANDLER Syntax
13.1.4 INSERT Syntax
13.1.4.1 INSERT ... SELECT Syntax
13.1.4.2 INSERT DELAYED Syntax
13.1.5 LOAD DATA INFILE Syntax
13.1.6 REPLACE Syntax
13.1.7 SELECT Syntax
13.1.7.1 JOIN Syntax
13.1.7.2 UNION Syntax
13.1.8 Subquery Syntax
13.1.8.1 The Subquery as Scalar Operand
13.1.8.2 Comparisons Using Subqueries
13.1.8.3 Subqueries with ANY, IN, and SOME
13.1.8.4 Subqueries with ALL
13.1.8.5 Correlated Subqueries
13.1.8.6 EXISTS and NOT EXISTS
13.1.8.7 Row Subqueries
13.1.8.8 Subqueries in the FROM clause
13.1.8.9 Subquery Errors
13.1.8.10 Optimizing Subqueries
13.1.8.11 Rewriting Subqueries for Earlier MySQL Versions
13.1.9 TRUNCATE Syntax
13.1.10 UPDATE Syntax
13.2 Data Definition Statements
13.2.1 ALTER DATABASE Syntax
13.2.2 ALTER TABLE Syntax
13.2.3 CREATE DATABASE Syntax
13.2.4 CREATE INDEX Syntax
13.2.5 CREATE TABLE Syntax
13.2.5.1 Silent Column Specification Changes
13.2.6 DROP DATABASE Syntax
13.2.7 DROP INDEX Syntax
13.2.8 DROP TABLE Syntax
13.2.9 RENAME TABLE Syntax
13.3 Basic MySQL User Utility Statements
13.3.1 DESCRIBE Syntax (Get Information About Columns)
13.3.2 USE Syntax
13.4 MySQL Transactional and Locking Statements
13.4.1 START TRANSACTION, COMMIT, and ROLLBACK Syntax
13.4.2 Statements That Cannot Be Rolled Back
13.4.3 Statements That Cause an Implicit Commit
13.4.4 SAVEPOINT and ROLLBACK TO SAVEPOINT Syntax
13.4.5 LOCK TABLES and UNLOCK TABLES Syntax
13.4.6 SET TRANSACTION Syntax
13.5 Database Administration Statements
13.5.1 Account Management Statements
13.5.1.1 GRANT and REVOKE Syntax
13.5.2 Table Maintenance Statements
13.5.2.1 ANALYZE TABLE Syntax
13.5.2.2 BACKUP TABLE Syntax
13.5.2.3 CHECK TABLE Syntax
13.5.2.4 CHECKSUM TABLE Syntax
13.5.2.5 OPTIMIZE TABLE Syntax
13.5.2.6 REPAIR TABLE Syntax
13.5.2.7 RESTORE TABLE Syntax
13.5.3 SHOW Syntax
13.5.3.1 Retrieving Information about Database, Tables, Columns, and Indexes
13.5.3.2 SHOW TABLE STATUS
13.5.3.3 SHOW STATUS
13.5.3.4 SHOW VARIABLES
13.5.3.5 SHOW [BDB] LOGS
13.5.3.6 SHOW PROCESSLIST
13.5.3.7 SHOW GRANTS
13.5.3.8 SHOW CREATE TABLE
13.5.3.9 SHOW WARNINGS | ERRORS
13.5.3.10 SHOW TABLE TYPES
13.5.3.11 SHOW PRIVILEGES
13.5.4 Other Administrative Statements
13.5.4.1 CACHE INDEX Syntax
13.5.4.2 FLUSH Syntax
13.5.4.3 KILL Syntax
13.5.4.4 LOAD INDEX INTO CACHE Syntax
13.5.4.5 PURGE MASTER LOGS Syntax
13.5.4.6 RESET Syntax
13.6 Replication Statements
13.6.1 SQL Statements for Controlling Master Servers
13.6.1.1 PURGE MASTER LOGS
13.6.1.2 RESET MASTER
13.6.1.3 SET SQL_LOG_BIN
13.6.1.4 SHOW BINLOG EVENTS
13.6.1.5 SHOW MASTER STATUS
13.6.1.6 SHOW MASTER LOGS
13.6.1.7 SHOW SLAVE HOSTS
13.6.2 SQL Statements for Controlling Slave Servers
13.6.2.1 CHANGE MASTER TO
13.6.2.2 LOAD DATA FROM MASTER
13.6.2.3 LOAD TABLE tbl_name FROM MASTER
13.6.2.4 MASTER_POS_WAIT()
13.6.2.5 RESET SLAVE
13.6.2.6 SET GLOBAL SQL_SLAVE_SKIP_COUNTER
13.6.2.7 SHOW SLAVE STATUS
13.6.2.8 START SLAVE
13.6.2.9 STOP SLAVE
13.7 MySQL Full-text Search
13.7.1 Full-text Restrictions
13.7.2 Fine-tuning MySQL Full-text Search
13.7.3 Full-text Search TODO
13.8 MySQL Query Cache
13.8.1 How the Query Cache Operates
13.8.2 Query Cache Configuration
13.8.3 Query Cache Options in SELECT
13.8.4 Query Cache Status and Maintenance
14. MySQL Table Types
14.1 MyISAM Tables
14.1.1 Space Needed for Keys
14.1.2 MyISAM Table Formats
14.1.2.1 Static (Fixed-length) Table Characteristics
14.1.2.2 Dynamic Table Characteristics
14.1.2.3 Compressed Table Characteristics
14.1.3 MyISAM Table Problems
14.1.3.1 Corrupted MyISAM Tables
14.1.3.2 Clients is using or hasn't closed the table properly
14.2 MERGE Tables
14.2.1 MERGE Table Problems
14.3 HEAP Tables
14.4 InnoDB Tables
14.4.1 InnoDB Tables Overview
14.4.2 InnoDB in MySQL Version 3.23
14.4.3 InnoDB Startup Options
14.4.4 Creating InnoDB Tablespace
14.4.4.1 If Something Goes Wrong in Database Creation
14.4.5 Creating InnoDB Tables
14.4.5.1 Converting MyISAM Tables to InnoDB
14.4.5.2 FOREIGN KEY Constraints
14.4.5.3 Multiple tablespaces - putting each table into its own .ibd file
14.4.6 Adding and Removing InnoDB Data and Log Files
14.4.7 Backing up and Recovering an InnoDB Database
14.4.7.1 Forcing recovery
14.4.7.2 Checkpoints
14.4.8 Moving an InnoDB Database to Another Machine
14.4.9 InnoDB Transaction Model and Locking
14.4.9.1 InnoDB and SET ... TRANSACTION ISOLATION LEVEL ...
14.4.9.2 Consistent Non-Locking Read
14.4.9.3 Locking Reads SELECT ... FOR UPDATE and SELECT ... LOCK IN SHARE MODE
14.4.9.4 Next-key Locking: Avoiding the Phantom Problem
14.4.9.5 Locks Set by Different SQL Statements in InnoDB
14.4.9.6 Deadlock Detection and Rollback
14.4.9.7 An Example of How the Consistent Read Works in InnoDB
14.4.9.8 How to Cope With Deadlocks
14.4.10 Performance Tuning Tips
14.4.10.1 SHOW INNODB STATUS and the InnoDB Monitors
14.4.11 Implementation of Multi-versioning
14.4.12 Table and Index Structures
14.4.12.1 Physical Structure of an Index
14.4.12.2 Insert Buffering
14.4.12.3 Adaptive Hash Indexes
14.4.12.4 Physical Record Structure
14.4.12.5 How an AUTO_INCREMENT Column Works in InnoDB
14.4.13 File Space Management and Disk I/O
14.4.13.1 Disk I/O
14.4.13.2 File Space Management
14.4.13.3 Defragmenting a Table
14.4.14 Error Handling
14.4.15 Restrictions on InnoDB Tables
14.4.16 InnoDB Change History
14.4.16.1 MySQL/InnoDB-5.0.0, December 24, 2003
14.4.16.2 MySQL/InnoDB-4.0.17, December 17, 2003
14.4.16.3 MySQL/InnoDB-4.1.1, December 4, 2003
14.4.16.4 MySQL/InnoDB-4.0.16, October 22, 2003
14.4.16.5 MySQL/InnoDB-3.23.58, September 15, 2003
14.4.16.6 MySQL/InnoDB-4.0.15, September 10, 2003
14.4.16.7 MySQL/InnoDB-4.0.14, July 22, 2003
14.4.16.8 MySQL/InnoDB-3.23.57, June 20, 2003
14.4.16.9 MySQL/InnoDB-4.0.13, May 20, 2003
14.4.16.10 MySQL/InnoDB-4.1.0, April 3, 2003
14.4.16.11 MySQL/InnoDB-3.23.56, March 17, 2003
14.4.16.12 MySQL/InnoDB-4.0.12, March 18, 2003
14.4.16.13 MySQL/InnoDB-4.0.11, February 25, 2003
14.4.16.14 MySQL/InnoDB-4.0.10, February 4, 2003
14.4.16.15 MySQL/InnoDB-3.23.55, January 24, 2003
14.4.16.16 MySQL/InnoDB-4.0.9, January 14, 2003
14.4.16.17 MySQL/InnoDB-4.0.8, January 7, 2003
14.4.16.18 MySQL/InnoDB-4.0.7, December 26, 2002
14.4.16.19 MySQL/InnoDB-4.0.6, December 19, 2002
14.4.16.20 MySQL/InnoDB-3.23.54, December 12, 2002
14.4.16.21 MySQL/InnoDB-4.0.5, November 18, 2002
14.4.16.22 MySQL/InnoDB-3.23.53, October 9, 2002
14.4.16.23 MySQL/InnoDB-4.0.4, October 2, 2002
14.4.16.24 MySQL/InnoDB-4.0.3, August 28, 2002
14.4.16.25 MySQL/InnoDB-3.23.52, August 16, 2002
14.4.16.26 MySQL/InnoDB-4.0.2, July 10, 2002
14.4.16.27 MySQL/InnoDB-3.23.51, June 12, 2002
14.4.16.28 MySQL/InnoDB-3.23.50, April 23, 2002
14.4.16.29 MySQL/InnoDB-3.23.49, February 17, 2002
14.4.16.30 MySQL/InnoDB-3.23.48, February 9, 2002
14.4.16.31 MySQL/InnoDB-3.23.47, December 28, 2001
14.4.16.32 MySQL/InnoDB-4.0.1, December 23, 2001
14.4.16.33 MySQL/InnoDB-3.23.46, November 30, 2001
14.4.16.34 MySQL/InnoDB-3.23.45, November 23, 2001
14.4.16.35 MySQL/InnoDB-3.23.44, November 2, 2001
14.4.16.36 MySQL/InnoDB-3.23.43, October 4, 2001
14.4.16.37 MySQL/InnoDB-3.23.42, September 9, 2001
14.4.16.38 MySQL/InnoDB-3.23.41, August 13, 2001
14.4.16.39 MySQL/InnoDB-3.23.40, July 16, 2001
14.4.16.40 MySQL/InnoDB-3.23.39, June 13, 2001
14.4.16.41 MySQL/InnoDB-3.23.38, May 12, 2001
14.4.17 InnoDB Contact Information
14.5 BDB or BerkeleyDB Tables
14.5.1 Overview of BDB Tables
14.5.2 Installing BDB
14.5.3 BDB Startup Options
14.5.4 Characteristics of BDB Tables
14.5.5 Things We Need to Fix for BDB in the Near Future
14.5.6 Operating Systems Supported by BDB
14.5.7 Restrictions on BDB Tables
14.5.8 Errors That May Occur When Using BDB Tables
14.6 ISAM Tables
15. Introduction to MaxDB
15.1 History of MaxDB
15.2 Licensing and Support
15.3 Basic Concepts of MaxDB
15.4 Feature Differences between MaxDB and MySQL
15.5 Interoperability Features between MaxDB and MySQL
15.6 MaxDB-related Links
15.7 Reserved Words in MaxDB
15.8 Functions
15.9 Column Types
16. National Character Sets and Unicode
16.1 Character Sets and Collations in General
16.2 Character Sets and Collations in MySQL
16.3 Determining the Default Character Set and Collation
16.3.1 Server Character Set and Collation
16.3.2 Database Character Set and Collation
16.3.3 Table Character Set and Collation
16.3.4 Column Character Set and Collation
16.3.5 Examples of Character Set and Collation Assignment
16.3.6 Connection Character Sets and Collations
16.3.7 Character String Literal Character Set and Collation
16.3.8 COLLATE Clause in Various Parts of an SQL Query
16.3.9 COLLATE Clause Precedence
16.3.10 BINARY Operator
16.3.11 Some Special Cases Where the Collation Determination is Tricky
16.3.12 Collations Must Be for the Right Character Set
16.3.13 An example of the Effect of Collation
16.4 Operations Affected by Character Set Support
16.4.1 Result Strings
16.4.2 CONVERT()
16.4.3 CAST()
16.4.4 SHOW CHARACTER SET
16.4.5 SHOW COLLATION
16.4.6 SHOW CREATE DATABASE
16.4.7 SHOW FULL COLUMNS
16.5 Unicode Support
16.6 UTF8 for Metadata
16.7 Compatibility with Other DBMSs
16.8 New Character Set Configuration File format
16.9 National Character Set
16.10 Upgrading from MySQL 4.0
16.10.1 4.0 Character Sets and Corresponding 4.1 Character Set/Collation Pairs
16.11 The Character Sets and Collations that MySQL Supports
16.11.1 The Unicode Character Sets
16.11.2 Platform Specific Character Sets
16.11.3 Character Sets for South Europe and Middle East
16.11.4 The Asian Character Sets
16.11.5 The Baltic Character Sets
16.11.6 The Cyrillic Character Sets
16.11.7 The Central European Character Sets
16.11.8 The West European Character Sets
17. Spatial Extensions in MySQL
17.1 Introduction
17.2 The OpenGIS Geometry Model
17.2.1 The Geometry Class Hierarchy
17.2.2 Class Geometry
17.2.3 Class Point
17.2.4 Class Curve
17.2.5 Class LineString
17.2.6 Class Surface
17.2.7 Class Polygon
17.2.8 Class GeometryCollection
17.2.9 Class MultiPoint
17.2.10 Class MultiCurve
17.2.11 Class MultiLineString
17.2.12 Class MultiSurface
17.2.13 Class MultiPolygon
17.3 Supported Spatial Data Formats
17.3.1 Well-Known Text (WKT) Format
17.3.2 Well-Known Binary (WKB) Format
17.4 Creating a Spatially Enabled MySQL Database
17.4.1 MySQL Spatial Datatypes
17.4.2 Creating Spatial Values
17.4.2.1 Creating Geometry Values Using WKT Functions
17.4.2.2 Creating Geometry Values Using WKB Functions
17.4.2.3 Creating Geometry Values Using MySQL-Specific Functions
17.4.3 Creating Spatial Columns
17.4.4 Populating Spatial Columns
17.4.5 Fetching Spatial Data
17.4.5.1 Fetching Spatial Data in Internal Format
17.4.5.2 Fetching Spatial Data in WKT Format
17.4.5.3 Fetching Spatial Data in WKB Format
17.5 Analyzing Spatial Information
17.5.1 Geometry Format Conversion Functions
17.5.2 Geometry Functions
17.5.2.1 General Geometry Functions
17.5.2.2 Point Functions
17.5.2.3 LineString Functions
17.5.2.4 MultiLineString Functions
17.5.2.5 Polygon Functions
17.5.2.6 MultiPolygon Functions
17.5.2.7 GeometryCollection Functions
17.5.3 Functions That Create New Geometries from Existing Ones
17.5.3.1 Geometry Functions That Produce New Geometries
17.5.3.2 Spatial Operators
17.5.4 Functions for Testing Spatial Relations Between Geometric Objects
17.5.5 Relations on Geometry Minimal Bounding Rectangles (MBRs)
17.5.6 Functions That Test Spatial Relationships Between Geometries
17.6 Optimizing Spatial Analysis
17.6.1 Creating Spatial Indexes
17.6.2 Using a Spatial Index
17.7 MySQL Conformance and Compatibility
17.7.1 GIS Features That Are Not Yet Implemented
18. Stored Procedures and Functions
18.1 Stored Procedure Syntax
18.1.1 Maintaining Stored Procedures
18.1.1.1 CREATE PROCEDURE and CREATE FUNCTION
18.1.1.2 ALTER PROCEDURE and ALTER FUNCTION
18.1.1.3 DROP PROCEDURE and DROP FUNCTION
18.1.1.4 SHOW CREATE PROCEDURE and SHOW CREATE FUNCTION
18.1.2 SHOW PROCEDURE STATUS and SHOW FUNCTION STATUS
18.1.3 CALL
18.1.4 BEGIN ... END Compound Statement
18.1.5 DECLARE Statement
18.1.6 Variables in Stored Procedures
18.1.6.1 DECLARE Local Variables
18.1.6.2 Variable SET Statement
18.1.6.3 SELECT ... INTO Statement
18.1.7 Conditions and Handlers
18.1.7.1 DECLARE Conditions
18.1.7.2 DECLARE Handlers
18.1.8 Cursors
18.1.8.1 Declaring Cursors
18.1.8.2 Cursor OPEN Statement
18.1.8.3 Cursor FETCH Statement
18.1.8.4 Cursor CLOSE Statement
18.1.9 Flow Control Constructs
18.1.9.1 IF Statement
18.1.9.2 CASE Statement
18.1.9.3 LOOP Statement
18.1.9.4 LEAVE Statement
18.1.9.5 ITERATE Statement
18.1.9.6 REPEAT Statement
18.1.9.7 WHILE Statement
19. MySQL APIs
19.1 MySQL C API
19.1.1 C API Datatypes
19.1.2 C API Function Overview
19.1.3 C API Function Descriptions
19.1.3.1 mysql_affected_rows()
19.1.3.2 mysql_change_user()
19.1.3.3 mysql_character_set_name()
19.1.3.4 mysql_close()
19.1.3.5 mysql_connect()
19.1.3.6 mysql_create_db()
19.1.3.7 mysql_data_seek()
19.1.3.8 mysql_debug()
19.1.3.9 mysql_drop_db()
19.1.3.10 mysql_dump_debug_info()
19.1.3.11 mysql_eof()
19.1.3.12 mysql_errno()
19.1.3.13 mysql_error()
19.1.3.14 mysql_escape_string()
19.1.3.15 mysql_fetch_field()
19.1.3.16 mysql_fetch_fields()
19.1.3.17 mysql_fetch_field_direct()
19.1.3.18 mysql_fetch_lengths()
19.1.3.19 mysql_fetch_row()
19.1.3.20 mysql_field_count()
19.1.3.21 mysql_field_seek()
19.1.3.22 mysql_field_tell()
19.1.3.23 mysql_free_result()
19.1.3.24 mysql_get_client_info()
19.1.3.25 mysql_get_client_version()
19.1.3.26 mysql_get_host_info()
19.1.3.27 mysql_get_proto_info()
19.1.3.28 mysql_get_server_info()
19.1.3.29 mysql_get_server_version()
19.1.3.30 mysql_info()
19.1.3.31 mysql_init()
19.1.3.32 mysql_insert_id()
19.1.3.33 mysql_kill()
19.1.3.34 mysql_list_dbs()
19.1.3.35 mysql_list_fields()
19.1.3.36 mysql_list_processes()
19.1.3.37 mysql_list_tables()
19.1.3.38 mysql_num_fields()
19.1.3.39 mysql_num_rows()
19.1.3.40 mysql_options()
19.1.3.41 mysql_ping()
19.1.3.42 mysql_query()
19.1.3.43 mysql_real_connect()
19.1.3.44 mysql_real_escape_string()
19.1.3.45 mysql_real_query()
19.1.3.46 mysql_reload()
19.1.3.47 mysql_row_seek()
19.1.3.48 mysql_row_tell()
19.1.3.49 mysql_select_db()
19.1.3.50 mysql_set_server_option()
19.1.3.51 mysql_shutdown()
19.1.3.52 mysql_sqlstate()
19.1.3.53 mysql_ssl_set()
19.1.3.54 mysql_stat()
19.1.3.55 mysql_store_result()
19.1.3.56 mysql_thread_id()
19.1.3.57 mysql_use_result()
19.1.3.58 mysql_warning_count()
19.1.3.59 mysql_commit()
19.1.3.60 mysql_rollback()
19.1.3.61 mysql_autocommit()
19.1.3.62 mysql_more_results()
19.1.3.63 mysql_next_result()
19.1.4 C API Prepared Statements
19.1.5 C API Prepared Statement Datatypes
19.1.6 C API Prepared Statement Function Overview
19.1.7 C API Prepared Statement Function Descriptions
19.1.7.1 mysql_bind_param()
19.1.7.2 mysql_bind_result()
19.1.7.3 mysql_execute()
19.1.7.4 mysql_fetch()
19.1.7.5 mysql_fetch_column()
19.1.7.6 mysql_get_metadata()
19.1.7.7 mysql_param_count()
19.1.7.8 mysql_param_result()
19.1.7.9 mysql_prepare()
19.1.7.10 mysql_send_long_data()
19.1.7.11 mysql_stmt_affected_rows()
19.1.7.12 mysql_stmt_close()
19.1.7.13 mysql_stmt_data_seek()
19.1.7.14 mysql_stmt_errno()
19.1.7.15 mysql_stmt_error()
19.1.7.16 mysql_stmt_free_result()
19.1.7.17 mysql_stmt_num_rows()
19.1.7.18 mysql_stmt_reset()
19.1.7.19 mysql_stmt_row_seek()
19.1.7.20 mysql_stmt_row_tell()
19.1.7.21 mysql_stmt_sqlstate()
19.1.7.22 mysql_stmt_store_result()
19.1.8 C API Handling of Multiple Query Execution
19.1.9 C API Handling of Date and Time Values
19.1.10 C API Threaded Function Descriptions
19.1.10.1 my_init()
19.1.10.2 mysql_thread_init()
19.1.10.3 mysql_thread_end()
19.1.10.4 mysql_thread_safe()
19.1.11 C API Embedded Server Function Descriptions
19.1.11.1 mysql_server_init()
19.1.11.2 mysql_server_end()
19.1.12 Common questions and problems when using the C API
19.1.12.1 Why mysql_store_result() Sometimes Returns NULL After mysql_query() Returns Success
19.1.12.2 What Results You Can Get from a Query
19.1.12.3 How to Get the Unique ID for the Last Inserted Row
19.1.12.4 Problems Linking with the C API
19.1.13 Building Client Programs
19.1.14 How to Make a Threaded Client
19.1.15 libmysqld, the Embedded MySQL Server Library
19.1.15.1 Overview of the Embedded MySQL Server Library
19.1.15.2 Compiling Programs with libmysqld
19.1.15.3 Restrictions when using the Embedded MySQL Server
19.1.15.4 Using Option Files with the Embedded Server
19.1.15.5 Things left to do in Embedded Server (TODO)
19.1.15.6 A Simple Embedded Server Example
19.1.15.7 Licensing the Embedded Server
19.2 MySQL ODBC Support
19.2.1 How to Install MyODBC
19.2.2 How to Fill in the Various Fields in the ODBC Administrator Program
19.2.3 Connect parameters for MyODBC
19.2.4 How to Report Problems with MyODBC
19.2.5 Programs Known to Work with MyODBC
19.2.6 How to Get the Value of an AUTO_INCREMENT Column in ODBC
19.2.7 Reporting Problems with MyODBC
19.3 MySQL Java Connectivity (JDBC)
19.4 MySQL PHP API
19.4.1 Common Problems with MySQL and PHP
19.5 MySQL Perl API
19.6 MySQL C++ API
19.6.1 Borland C++
19.7 MySQL Python API
19.8 MySQL Tcl API
19.9 MySQL Eiffel Wrapper
20. Error Handling in MySQL
20.1 Error Returns
21. Extending MySQL
21.1 MySQL Internals
21.1.1 MySQL Threads
21.1.2 MySQL Test Suite
21.1.2.1 Running the MySQL Test Suite
21.1.2.2 Extending the MySQL Test Suite
21.1.2.3 Reporting Bugs in the MySQL Test Suite
21.2 Adding New Functions to MySQL
21.2.1 CREATE FUNCTION/DROP FUNCTION Syntax
21.2.2 Adding a New User-defined Function
21.2.2.1 UDF Calling Sequences for simple functions
21.2.2.2 UDF Calling Sequences for aggregate functions
21.2.2.3 Argument Processing
21.2.2.4 Return Values and Error Handling
21.2.2.5 Compiling and Installing User-defined Functions
21.2.3 Adding a New Native Function
21.3 Adding New Procedures to MySQL
21.3.1 Procedure Analyse
21.3.2 Writing a Procedure
A. Problems and Common Errors
A.1 How to Determine What Is Causing Problems
A.2 Common Errors When Using MySQL
A.2.1 Access denied Error
A.2.2 MySQL server has gone away Error
A.2.3 Can't connect to [local] MySQL server Error
A.2.4 Client does not support authentication protocol error
A.2.5 Host '...' is blocked Error
A.2.6 Too many connections Error
A.2.7 Some non-transactional changed tables couldn't be rolled back Error
A.2.8 Out of memory Error
A.2.9 Packet too large Error
A.2.10 Communication Errors / Aborted Connection
A.2.11 The table is full Error
A.2.12 Can't create/write to file Error
A.2.13 Commands out of sync Error in Client
A.2.14 Ignoring user Error
A.2.15 Table 'xxx' doesn't exist Error
A.2.16 Can't initialize character set xxx error
A.2.17 File Not Found
A.3 Installation Related Issues
A.3.1 Problems When Linking with the MySQL Client Library
A.3.2 How to Run MySQL As a Normal User
A.3.3 Problems with File Permissions
A.4 Administration Related Issues
A.4.1 What To Do If MySQL Keeps Crashing
A.4.2 How to Reset a Forgotten Root Password
A.4.3 How MySQL Handles a Full Disk
A.4.4 Where MySQL Stores Temporary Files
A.4.5 How to Protect or Change the MySQL Socket File `/tmp/mysql.sock'
A.4.6 Time Zone Problems
A.5 Query Related Issues
A.5.1 Case-Sensitivity in Searches
A.5.2 Problems Using DATE Columns
A.5.3 Problems with NULL Values
A.5.4 Problems with alias
A.5.5 Deleting Rows from Related Tables
A.5.6 Solving Problems with No Matching Rows
A.5.7 Problems with Floating-Point Comparison
A.6 Optimizer Related Issues
A.6.1 How to avoid table scan,,,
A.7 Table Definition Related Issues
A.7.1 Problems with ALTER TABLE.
A.7.2 How To Change the Order of Columns in a Table
A.7.3 TEMPORARY TABLE problems
B. Credits
B.1 Developers at MySQL AB
B.2 Contributors to MySQL
B.3 Documenters and translators
B.4 Libraries used by and included with MySQL
B.5 Packages that support MySQL
B.6 Tools that were used to create MySQL
B.7 Supporters of MySQL
C. MySQL Change History
C.1 Changes in release 5.0.x (Development)
C.1.1 Changes in release 5.0.1 (not released yet)
C.1.2 Changes in release 5.0.0 (22 Dec 2003: Alpha)
C.2 Changes in release 4.1.x (Alpha)
C.2.1 Changes in release 4.1.2 (not released yet)
C.2.2 Changes in release 4.1.1 (01 Dec 2003)
C.2.3 Changes in release 4.1.0 (03 Apr 2003: Alpha)
C.3 Changes in release 4.0.x (Production)
C.3.1 Changes in release 4.0.19 (not released yet)
C.3.2 Changes in release 4.0.18 (to be released soon)
C.3.3 Changes in release 4.0.17 (14 Dec 2003)
C.3.4 Changes in release 4.0.16 (17 Oct 2003)
C.3.5 Changes in release 4.0.15 (03 Sep 2003)
C.3.6 Changes in release 4.0.14 (18 Jul 2003)
C.3.7 Changes in release 4.0.13 (16 May 2003)
C.3.8 Changes in release 4.0.12 (15 Mar 2003: Production)
C.3.9 Changes in release 4.0.11 (20 Feb 2003)
C.3.10 Changes in release 4.0.10 (29 Jan 2003)
C.3.11 Changes in release 4.0.9 (09 Jan 2003)
C.3.12 Changes in release 4.0.8 (07 Jan 2003)
C.3.13 Changes in release 4.0.7 (20 Dec 2002)
C.3.14 Changes in release 4.0.6 (14 Dec 2002: Gamma)
C.3.15 Changes in release 4.0.5 (13 Nov 2002)
C.3.16 Changes in release 4.0.4 (29 Sep 2002)
C.3.17 Changes in release 4.0.3 (26 Aug 2002: Beta)
C.3.18 Changes in release 4.0.2 (01 Jul 2002)
C.3.19 Changes in release 4.0.1 (23 Dec 2001)
C.3.20 Changes in release 4.0.0 (Oct 2001: Alpha)
C.4 Changes in release 3.23.x (Recent; still supported)
C.4.1 Changes in release 3.23.59 (not released yet)
C.4.2 Changes in release 3.23.58 (11 Sep 2003)
C.4.3 Changes in release 3.23.57 (06 Jun 2003)
C.4.4 Changes in release 3.23.56 (13 Mar 2003)
C.4.5 Changes in release 3.23.55 (23 Jan 2003)
C.4.6 Changes in release 3.23.54 (05 Dec 2002)
C.4.7 Changes in release 3.23.53 (09 Oct 2002)
C.4.8 Changes in release 3.23.52 (14 Aug 2002)
C.4.9 Changes in release 3.23.51 (31 May 2002)
C.4.10 Changes in release 3.23.50 (21 Apr 2002)
C.4.11 Changes in release 3.23.49
C.4.12 Changes in release 3.23.48 (07 Feb 2002)
C.4.13 Changes in release 3.23.47 (27 Dec 2001)
C.4.14 Changes in release 3.23.46 (29 Nov 2001)
C.4.15 Changes in release 3.23.45 (22 Nov 2001)
C.4.16 Changes in release 3.23.44 (31 Oct 2001)
C.4.17 Changes in release 3.23.43 (04 Oct 2001)
C.4.18 Changes in release 3.23.42 (08 Sep 2001)
C.4.19 Changes in release 3.23.41 (11 Aug 2001)
C.4.20 Changes in release 3.23.40
C.4.21 Changes in release 3.23.39 (12 Jun 2001)
C.4.22 Changes in release 3.23.38 (09 May 2001)
C.4.23 Changes in release 3.23.37 (17 Apr 2001)
C.4.24 Changes in release 3.23.36 (27 Mar 2001)
C.4.25 Changes in release 3.23.35 (15 Mar 2001)
C.4.26 Changes in release 3.23.34a
C.4.27 Changes in release 3.23.34 (10 Mar 2001)
C.4.28 Changes in release 3.23.33 (09 Feb 2001)
C.4.29 Changes in release 3.23.32 (22 Jan 2001: Production)
C.4.30 Changes in release 3.23.31 (17 Jan 2001)
C.4.31 Changes in release 3.23.30 (04 Jan 2001)
C.4.32 Changes in release 3.23.29 (16 Dec 2000)
C.4.33 Changes in release 3.23.28 (22 Nov 2000: Gamma)
C.4.34 Changes in release 3.23.27 (24 Oct 2000)
C.4.35 Changes in release 3.23.26 (18 Oct 2000)
C.4.36 Changes in release 3.23.25 (29 Sep 2000)
C.4.37 Changes in release 3.23.24 (08 Sep 2000)
C.4.38 Changes in release 3.23.23 (01 Sep 2000)
C.4.39 Changes in release 3.23.22 (31 Jul 2000)
C.4.40 Changes in release 3.23.21
C.4.41 Changes in release 3.23.20
C.4.42 Changes in release 3.23.19
C.4.43 Changes in release 3.23.18
C.4.44 Changes in release 3.23.17
C.4.45 Changes in release 3.23.16
C.4.46 Changes in release 3.23.15 (May 2000: Beta)
C.4.47 Changes in release 3.23.14
C.4.48 Changes in release 3.23.13
C.4.49 Changes in release 3.23.12 (07 Mar 2000)
C.4.50 Changes in release 3.23.11
C.4.51 Changes in release 3.23.10
C.4.52 Changes in release 3.23.9
C.4.53 Changes in release 3.23.8 (02 Jan 2000)
C.4.54 Changes in release 3.23.7 (10 Dec 1999)
C.4.55 Changes in release 3.23.6
C.4.56 Changes in release 3.23.5 (20 Oct 1999)
C.4.57 Changes in release 3.23.4 (28 Sep 1999)
C.4.58 Changes in release 3.23.3
C.4.59 Changes in release 3.23.2 (09 Aug 1999)
C.4.60 Changes in release 3.23.1
C.4.61 Changes in release 3.23.0 (05 Aug 1999: Alpha)
C.5 Changes in release 3.22.x (Old; discontinued)
C.5.1 Changes in release 3.22.35
C.5.2 Changes in release 3.22.34
C.5.3 Changes in release 3.22.33
C.5.4 Changes in release 3.22.32 (14 Feb 2000)
C.5.5 Changes in release 3.22.31
C.5.6 Changes in release 3.22.30
C.5.7 Changes in release 3.22.29 (02 Jan 2000)
C.5.8 Changes in release 3.22.28 (20 Oct 1999)
C.5.9 Changes in release 3.22.27
C.5.10 Changes in release 3.22.26 (16 Sep 1999)
C.5.11 Changes in release 3.22.25
C.5.12 Changes in release 3.22.24 (05 Jul 1999)
C.5.13 Changes in release 3.22.23 (08 Jun 1999)
C.5.14 Changes in release 3.22.22 (30 Apr 1999)
C.5.15 Changes in release 3.22.21
C.5.16 Changes in release 3.22.20 (18 Mar 1999)
C.5.17 Changes in release 3.22.19 (Mar 1999: Production)
C.5.18 Changes in release 3.22.18
C.5.19 Changes in release 3.22.17
C.5.20 Changes in release 3.22.16 (Feb 1999: Gamma)
C.5.21 Changes in release 3.22.15
C.5.22 Changes in release 3.22.14
C.5.23 Changes in release 3.22.13
C.5.24 Changes in release 3.22.12
C.5.25 Changes in release 3.22.11
C.5.26 Changes in release 3.22.10
C.5.27 Changes in release 3.22.9
C.5.28 Changes in release 3.22.8
C.5.29 Changes in release 3.22.7 (Sep 1998: Beta)
C.5.30 Changes in release 3.22.6
C.5.31 Changes in release 3.22.5
C.5.32 Changes in release 3.22.4
C.5.33 Changes in release 3.22.3
C.5.34 Changes in release 3.22.2
C.5.35 Changes in release 3.22.1 (Jun 1998: Alpha)
C.5.36 Changes in release 3.22.0
C.6 Changes in release 3.21.x
C.6.1 Changes in release 3.21.33
C.6.2 Changes in release 3.21.32
C.6.3 Changes in release 3.21.31
C.6.4 Changes in release 3.21.30
C.6.5 Changes in release 3.21.29
C.6.6 Changes in release 3.21.28
C.6.7 Changes in release 3.21.27
C.6.8 Changes in release 3.21.26
C.6.9 Changes in release 3.21.25
C.6.10 Changes in release 3.21.24
C.6.11 Changes in release 3.21.23
C.6.12 Changes in release 3.21.22
C.6.13 Changes in release 3.21.21a
C.6.14 Changes in release 3.21.21
C.6.15 Changes in release 3.21.20
C.6.16 Changes in release 3.21.19
C.6.17 Changes in release 3.21.18
C.6.18 Changes in release 3.21.17
C.6.19 Changes in release 3.21.16
C.6.20 Changes in release 3.21.15
C.6.21 Changes in release 3.21.14b
C.6.22 Changes in release 3.21.14a
C.6.23 Changes in release 3.21.13
C.6.24 Changes in release 3.21.12
C.6.25 Changes in release 3.21.11
C.6.26 Changes in release 3.21.10
C.6.27 Changes in release 3.21.9
C.6.28 Changes in release 3.21.8
C.6.29 Changes in release 3.21.7
C.6.30 Changes in release 3.21.6
C.6.31 Changes in release 3.21.5
C.6.32 Changes in release 3.21.4
C.6.33 Changes in release 3.21.3
C.6.34 Changes in release 3.21.2
C.6.35 Changes in release 3.21.0
C.7 Changes in release 3.20.x
C.7.1 Changes in release 3.20.18
C.7.2 Changes in release 3.20.17
C.7.3 Changes in release 3.20.16
C.7.4 Changes in release 3.20.15
C.7.5 Changes in release 3.20.14
C.7.6 Changes in release 3.20.13
C.7.7 Changes in release 3.20.11
C.7.8 Changes in release 3.20.10
C.7.9 Changes in release 3.20.9
C.7.10 Changes in release 3.20.8
C.7.11 Changes in release 3.20.7
C.7.12 Changes in release 3.20.6
C.7.13 Changes in release 3.20.3
C.7.14 Changes in release 3.20.0
C.8 Changes in release 3.19.x
C.8.1 Changes in release 3.19.5
C.8.2 Changes in release 3.19.4
C.8.3 Changes in release 3.19.3
D. Porting to Other Systems
D.1 Debugging a MySQL server
D.1.1 Compiling MYSQL for Debugging
D.1.2 Creating Trace Files
D.1.3 Debugging mysqld under gdb
D.1.4 Using a Stack Trace
D.1.5 Using Log Files to Find Cause of Errors in mysqld
D.1.6 Making a Test Case If You Experience Table Corruption
D.2 Debugging a MySQL client
D.3 The DBUG Package
D.4 Locking methods
D.5 Comments about RTS threads
D.6 Differences between different thread packages
E. Environment Variables
F. MySQL Regular Expressions
G. GNU General Public License
SQL command, type and function index
Concept Index


This document was generated by rdg (Feb 25 2004) using texi2html