Team LiB
Previous Section Next Section

Versions of Software Covered in This Book

The first edition of this book covered MySQL 3.22 and the beginnings of MySQL 3.23 (up to about 3.23.3). The second edition expanded that range to include MySQL 4.0 and the first release of MySQL 4.1. The first edition was already a large book, and the additional material for the second edition made it even bigger. Now that MySQL has entered its 5.0 release series, it's become necessary to take a different approach to keep the book a more manageable size.

For this third edition, the baseline for coverage is MySQL 4.1. That is, the book covers MySQL 4.1 and the early releases of MySQL 5.0. Most of this book still applies if you have an older version, but differences specific to older versions usually are not explicitly noted. For example, the book does not list limitations on foreign key support that apply only before MySQL 4.1.

The MySQL 4.1 series now has reached production status, which means that it is considered stable for use in production environments. There were a lot of changes in earlier pre-production versions, and I recommend that you use the most recent version if possible. The current version as I write is 4.1.9. The MySQL 5.0 series is in early development (currently at 5.0.3). You'll need MySQL 5.0 if you want to try stored procedures, views, or triggers. These are still new, so expect some rough edges for a while.

If you're using an older version of MySQL, be aware that the following major features will not be available to you:

  • MySQL 4.1 adds subqueries, multiple character sets and collations, multiple time zones, a new binary client/server protocol that supports prepared statements, and spatial data types.

  • MySQL 5.0 adds stored procedures and functions, views, triggers, strict input handling, true VARCHAR, and INFORMATION_SCHEMA.

If you're using a version of MySQL older than 4.1, you may also find that certain features differ from the current behavior described in this book. Here are two resources to consult for more information about older versions:

  • Check the MySQL Reference Manual:

  • I have moved older material from previous editions of this book into an addendum that is available at the book's companion Web site:

    In this addendum, you will find details about the version in which statements, data types, and functions were introduced (when that happened before MySQL 4.1). The addendum also contains information about how older versions differ in behavior from 4.1 and up.

I also draw your attention to some topics that are not covered in this book:

  • The NDB storage engine and MySQL Cluster, which provide in-memory storage, high availability, and redundancy. NDB is relatively new in MySQL 4.1, and configuration management for NDB is still being worked out, so anything I might write here will be out of date quickly. See the MySQL Reference Manual for current details.

  • MySQL Administrator and MySQL Query Browser. These are new tools that provide a graphical user interface (GUI) to MySQL databases. For more information or to download these programs, visit this page:

In addition, features such as views and triggers were added very recently. They are covered, but in less depth than you can expect in a future edition of this book, after development has matured further.

For the other major software packages discussed in the book, any recent versions should be sufficient for the examples shown. The current versions are shown in the following table:



Perl DBI module


Perl DBD::mysql module







All software discussed in this book is available on the Internet. Appendix A, "Obtaining and Installing Software," provides instructions for getting MySQL, Perl DBI support, PHP, Apache, and onto your system. The appendix also contains instructions for obtaining the sampdb sample database that is used in examples throughout the book, as well as the example programs that are developed in the programming chapters.

    Team LiB
    Previous Section Next Section