Table of Contents

Chapter 1: Introducing MySQL discusses MySQL's history and evolution, looks at its feature set, and explains why it offers such a compelling value proposition. It also examines MySQL's technical architecture and explains the various MySQL subsystems.

Chapter 2: Understanding Basic Commands provides a quick reference to basic database concepts and MySQL's dialect of SQL, explaining the basic SQL commands to create, modify, and query databases.

Chapter 3: Making Design Decisions offers a thorough discussion of important issues to be considered when designing a MySQL database. It includes coverage of MySQL's data types, storage engines, and handling of primary keys, foreign keys, and indexes.

Chapter 4: Using Joins, Subqueries, and Views discusses MySQL's support for multitable queries, nested queries, and virtual tables, which offer different ways of exploiting table relationships and viewing data.

Chapter 5: Using Transactions examines MySQL's ability to group a series of SQL statements into a single unit and execute them atomically, or undo the entire set of changes in the event of an error.

Chapter 6: Using Stored Procedures and Functions examines MySQL's support for server-side stored routines, discussing important concepts such as conditional tests, loops, cursors, and error handlers.

Chapter 7: Using Triggers and Scheduled Events discusses two relatively recent additions to MySQL, triggers and scheduled events, which provide a framework for automating database operations.

Chapter 8: Working with Data in Different Formats discusses MySQL's built-in tools for importing and exporting data in different formats, including comma-separated, tab-delimited, and XML formats.

Chapter 9: Optimizing Performance offers tips and tricks to squeeze the maximum performance out of your MySQL server, including information on how to fine-tune queries; optimize cache and buffer settings; and maximize performance of stored routines, transactions, and subqueries.

Chapter 10: Performing Basic Server Administration explores common server administration tasks, including starting and stopping the server, obtaining server status, using the MySQL log files, and using the new information_schema database.

Chapter 11: Managing Users and Controlling Access discusses the MySQL security and privilege system, and the management of user accounts and passwords (including what do to if you forget the MySQL superuser password).

Chapter 12: Performing Maintenance, Backup, and Recovery provides instructions and information on how to back up and restore a MySQL database and use MySQL-supplied utilities to recover data from a damaged database.

Chapter 13: Replicating Data discusses MySQL's replication features, which provide the ability to automatically synchronize databases across multiple hosts.

Appendix A: Installing MySQL and the Sample Database discusses the process of obtaining, installing, and configuring MySQL on both Windows and UNIX.