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/innobasedirectory in the MySQL source tree with the InnoDB Plugin source tree.Note
In MySQL 5.1.38 and up, the MySQL source tree also contains a
storage/innodb_plugindirectory, 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
mysqldexecutable, 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.cnfoption 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 InnoDB Plugin (
--with-plugins=innobase), you do not have to tell MySQL to specify
plugin-load, or issue any
INSTALL PLUGINstatements. The
mysqldexecutable 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.