Download the MySQL source code, version 5.1.24 or later from http://dev.mysql.com/downloads/mysql/5.1.html#source and extract it.
Download the InnoDB Plugin source code from http://dev.mysql.com/downloads/.
Replace the contents of the
storage/innobase directory in the MySQL
source tree with the InnoDB Plugin source tree.
In MySQL 5.1.38 and up, the MySQL source tree also
directory, but that does not affect this procedure. The
source that you download from the InnoDB web site may
contain additional changes and fixes.
Compile and build MySQL. Instead of building a dynamic
InnoDB Plugin, it is advisable to build a version of
MySQL that contains the InnoDB Plugin. This is because
a dynamic InnoDB Plugin must be
built with exactly the same tools and options as the
mysqld executable, or spurious
errors may occur. Example:
% wget ftp://ftp.easynet.be/mysql/Downloads/MySQL-5.1/mysql-5.1.37.tar.gz % tar -zxf mysql-5.1.37.tar.gz % cd mysql-5.1.37/storage % wget http://dev.mysql.com/downloads/innodb_plugin/innodb_plugin-1.0.8.tar.gz % tar -zxf innodb-1.0.8.tar.gz % rm -fr innobase % mv innodb-1.0.8 innobase % cd .. % ./configure --with-plugins=innobase % make
Reconfigure the MySQL server by editing the
my.cnf option file to use InnoDB as the
default engine (if desired) and set appropriate
configuration parameters to enable use of new
InnoDB Plugin features, as described in section
Section 9.5, “Configuring the InnoDB Plugin”.
In particular, we recommend that you set the following
specific parameters as follows:
default_storage_engine=InnoDB innodb_file_per_table=1 innodb_file_format=barracuda innodb_strict_mode=1
If you build a version of MySQL that contains the
--with-plugins=innobase), you do not
have to tell MySQL to specify
plugin-load, or issue any
PLUGIN statements. The
executable that you compiled will contain the new
InnoDB Plugin features.
Note: To fully exploit the performance improvements discussed in Section 7.2, “Faster Locking for Improved Scalability”, the InnoDB Plugin source code and build process makes some compile-time tests of platform capabilities to automatically use instructions for atomic memory access where available. If this logic fails, you may need to contact MySQL support.