Table of Contents
The InnoDB Plugin is available at the download section of the InnoDB website. You can download the plugin in these formats:
As a platform-specific executable binary file that is dynamically linked or “plugged in” to the MySQL server.
In source code form, available under the GNU General Public License (GPL), version 2.
While it is possible to use the source code to build a special version of MySQL containing the InnoDB Plugin, we recommend you install the binary shared library for the InnoDB Plugin instead, without building from source. Replacing the shared library is simpler and much less error prone than building from source.
The InnoDB Plugin is also included in the MySQL distribution,
starting from MySQL 5.1.38.
We recommend that if you plan to adopt the plugin for production use,
you download from the InnoDB web site, because that site might
have fixes that are not yet included in the MySQL distribution.
You can install the MySQL-supplied plugin as a shared library
using the instructions in that chapter, with one change:
the filename of the shared library as supplied by MySQL
is
ha_innodb_plugin.so
or
ha_innodb_plugin.dll,
as opposed to
ha_innodb.so
or
ha_innodb.dll
when you download from the InnoDB web site.
This discussion pertains to using the InnoDB Plugin with the MySQL Community Edition, whether source or binary. Except for download locations for MySQL software, the procedures documented here should work without change when you use MySQL Enterprise.
Whether you dynamically install the binary InnoDB Plugin or build from source, configure MySQL by editing the configuration 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 9.5, “Configuring the InnoDB Plugin”.
At this time, the InnoDB Plugin has not been
compiled or tested with the Intel C Compiler
(icc), so you should use a version of
MySQL compiled with the GNU Compiler Collection
(gcc).
Use the following table to confirm that the version of the InnoDB Plugin (whether source or binary) is compatible with your platform, hardware type (including 32-bit vs 64-bit) and with your version of MySQL. In general, a specific release of the InnoDB Plugin is designed to be compatible with a range of MySQL versions, but this may vary, so check the information on the download page.
When building MySQL from source, you can generally use the source for the InnoDB Plugin in place of the source for the built-in InnoDB. However, due to limitations of MySQL, a given binary version of the InnoDB Plugin is compatible only with a specific version of MySQL, as follows.
| Note: MySQL Bug #42610 prevents using the binary InnoDB Plugin with MySQL 5.1.31 or 5.1.32. There is no binary InnoDB Plugin for MySQL 5.1.33. The only way to use InnoDB Plugin with MySQL 5.1.31 through 5.1.35 is by building from source. This issue was resolved in MySQL 5.1.37 and InnoDB Plugin 1.0.4. |
The simplest way to install the InnoDB Plugin is to use a precompiled (binary) shared library file, when one is available. The procedures are similar for installing the InnoDB Plugin using the binary on different hardware and operating systems platforms, but the specific details differ between Unix or Linux and Microsoft Windows. See below for notes specific to your platform.
Note that due to MySQL Bug #42610, the procedure of installing the binary InnoDB Plugin changed in MySQL 5.1.33. If your version of MySQL is older than 5.1.33, refer to Appendix B, Using the InnoDB Plugin with MySQL 5.1.30 or Earlier.
The steps for installing the InnoDB Plugin as a shared library are as follows:
Download, extract and install the suitable MySQL executable for your platform.
Make sure the MySQL server is not running. If you have to shut down the database server, you use a special “slow” shutdown procedure, described later.
Download and extract the corresponding binary for the InnoDB Plugin and copy it to the proper directory or folder where MySQL looks for plugins.
On database startup, make MySQL ignore the builtin InnoDB, and load the InnoDB Plugin and all new InnoDB Information Schema tables implemented in the InnoDB Plugin, using one of these alternatives:
Edit the option file (my.cnf, or my.ini) to contain the necessary options.
Specify equivalent options on the MySQL command line.
Edit the option file to disable InnoDB, then use
INSTALL statements on the MySQL command line
after startup.
These procedures are described in detail in the following sections.
Set appropriate configuration parameters to enable new InnoDB Plugin features.
Start MySQL, and verify the installation of the plugins.
The following sections detail these steps for Unix or Linux systems, and for Microsoft Windows.
For Unix and Linux systems, use the following procedure to install the InnoDB Plugin as a shared library:
Download, extract and install the suitable MySQL executable for your server platform and operating system from the MySQL download section for MySQL Database Server 5.1. Be sure to use a 32-bit or 64-bit version as appropriate for your hardware and operating system.
Make sure the MySQL server is not running. If the server is running, do a “slow” shutdown by issuing the following command before performing the shutdown:
SET GLOBAL innodb_fast_shutdown=0;
Then finish the shutdown process, as described in The Shutdown Process in the MySQL documentation. This option setting performs a full purge and an insert buffer merge before the shutdown, which can typically take minutes, or even hours for very large and busy databases.
Download and extract the files for the InnoDB Plugin from the InnoDB Plugin download page, which indicates the names of corresponding InnoDB Plugin and MySQL archive files.
Copy the file ha_innodb.so to the
folder where MySQL looks for plugins, which is generally the
lib/plugin subdirectory of the directory
specified by basedir where the MySQL
server is installed.
Edit the option file (my.cnf) to ignore the builtin InnoDB, and load the InnoDB Plugin and all Information Schema tables implemented in the InnoDB Plugin when the server starts:
ignore_builtin_innodb plugin-load=innodb=ha_innodb.so;innodb_trx=ha_innodb.so; innodb_locks=ha_innodb.so;innodb_lock_waits=ha_innodb.so; innodb_cmp=ha_innodb.so;innodb_cmp_reset=ha_innodb.so; innodb_cmpmem=ha_innodb.so;innodb_cmpmem_reset=ha_innodb.so
Note that all plugins for plugin-load
should be on the same line in the option file.
Alternatively, you can use the equivalent options on the MySQL command line:
mysqld --ignore-builtin-innodb --plugin-load=innodb=ha_innodb.so; innodb_trx=ha_innodb.so;innodb_locks=ha_innodb.so; innodb_lock_waits=ha_innodb.so;innodb_cmp=ha_innodb.so; innodb_cmp_reset=ha_innodb.so;innodb_cmpmem=ha_innodb.so; innodb_cmpmem_reset=ha_innodb.so
You can also install the InnoDB Plugin and the new InnoDB
Information Schema tables implemented in
ha_innodb.so with INSTALL
commands:
INSTALL PLUGIN INNODB SONAME 'ha_innodb.so'; INSTALL PLUGIN INNODB_TRX SONAME 'ha_innodb.so'; INSTALL PLUGIN INNODB_LOCKS SONAME 'ha_innodb.so'; INSTALL PLUGIN INNODB_LOCK_WAITS SONAME 'ha_innodb.so'; INSTALL PLUGIN INNODB_CMP SONAME 'ha_innodb.so'; INSTALL PLUGIN INNODB_CMP_RESET SONAME 'ha_innodb.so'; INSTALL PLUGIN INNODB_CMPMEM SONAME 'ha_innodb.so'; INSTALL PLUGIN INNODB_CMPMEM_RESET SONAME 'ha_innodb.so';
If you use INSTALL PLUGIN statement to
install the InnoDB Plugin and the Information Schema tables,
ensure the following conditions are set up:
In the mysqld command line or
my.cnf option file, prepend each InnoDB
option with loose_, so that MySQL will
start even when InnoDB is unavailable. For example,
write loose_innodb_file_per_table
instead of innodb_file_per_table.
Start the MySQL server while it is configured to
skip loading the built-in InnoDB and to make MyISAM the
default storage engine. This can be done by editing the
option file my.cnf to contain these two
lines:
ignore_builtin_innodb default_storage_engine=MyISAM
Or, you can use the equivalent options on the MySQL command line:
mysqld --ignore-builtin-innodb --default-storage-engine=MyISAM …
See the MySQL Manual section on INSTALL
PLUGIN Syntax for information on how these commands work.
Edit the option file my.cnf 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 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
The MySQL server always must be started with the option
ignore_builtin_innodb, as long as you want to use the
InnoDB Plugin as a shared library. Also, remember that the startup
option skip_grant_tables prevents MySQL from loading
any plugins.
Verify the installation of the plugins with the
MySQL command SHOW PLUGINS, which should
produce the following output:
| Name | Status | Type | Library | License |
|---|---|---|---|---|
| binlog | ACTIVE | STORAGE ENGINE | NULL | GPL |
| CSV | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL |
| InnoDB | ACTIVE | STORAGE ENGINE | ha_innodb.so | GPL |
| INNODB_TRX | ACTIVE | INFORMATION SCHEMA | ha_innodb.so | GPL |
| INNODB_LOCKS | ACTIVE | INFORMATION SCHEMA | ha_innodb.so | GPL |
| INNODB_LOCK_WAITS | ACTIVE | INFORMATION SCHEMA | ha_innodb.so | GPL |
| INNODB_CMP | ACTIVE | INFORMATION SCHEMA | ha_innodb.so | GPL |
| INNODB_CMP_RESET | ACTIVE | INFORMATION SCHEMA | ha_innodb.so | GPL |
| INNODB_CMPMEM | ACTIVE | INFORMATION SCHEMA | ha_innodb.so | GPL |
| INNODB_CMPMEM_RESET | ACTIVE | INFORMATION SCHEMA | ha_innodb.so | GPL |
| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
If the plugins fail to load properly, see Section 9.3.1.1, “Errors When Installing the InnoDB Plugin on Unix or Linux” for possible causes and corrections.
After verifying that the Plugin is recognized by MySQL, create an InnoDB table as another confirmation of success.
If MySQL or its associated daemon process cannot start,
or a post-startup INSTALL PLUGIN statement fails,
look at the MySQL error log (usually named
and located in the MySQL machine_name.errdata directory) for the
detailed error message.
The log is in chronological order, so look at the end of the file.
Try to resolve the problem based on other information in the
message.
| Error Condition or Message | Possible Solution |
|---|---|
Can't open shared library | Diagnose the cause from the following message details. |
API version for STORAGE ENGINE plugin is too different | The version of the Plugin is not compatible with the version of the MySQL server. Consult the compatibility chart . |
No such file or directory | Check that the file ha_innodb.so
or .dll
was copied to the
correct location. Confirm that you specified the right file name
(ha_innodb.so
or .dll
for the library from the InnoDB web site;
ha_innodb_plugin.so
or .dll
for the library supplied along with
MySQL 5.1.38 and up.)
|
Permission denied | Check that the directory and file access
permissions are set properly, or change them using
chmod on Unix-like systems . The
mysqld process must have permission
to read (r) the file
ha_innodb.so and to access files
(x) in the plugin directory. |
wrong ELF class
or any other message | Ensure that ha_innodb.so is
for the same system platform as
mysqld. In particular, note
that a 32-bit mysqld is unable to
load a 64-bit plugin, and vice versa. Be sure to
download an InnoDB Plugin that is compatible with your
platform. |
The Information Schema tables are themselves plugins to the MySQL server, but they depend on having the InnoDB storage engine plugin installed as well. These tables will appear to be empty if the storage engine is not installed.
The InnoDB Plugin is supported on any of the Windows operating system versions supported by MySQL. In particular, this includes Microsoft Windows 2008 Server, Windows Vista, Windows 2003 Server and Windows XP. Note that on Vista certain special procedures must be followed that are not documented here.
Use the following procedure to dynamically install the InnoDB Plugin on Microsoft Windows.
Download, extract and install the suitable MySQL executable for your server platform and operating system from the MySQL download section for MySQL Database Server 5.1. Be sure to use a 32-bit or 64-bit version as appropriate for your hardware and Windows version.
Make sure the MySQL server is not running. You do a “slow” shutdown by issuing the following command before performing the shutdown:
SET GLOBAL innodb_fast_shutdown=0;
Then finish the shutdown process, as described in The Shutdown Process in the MySQL documentation. This option setting performs a full purge and an insert buffer merge before the shutdown, which can typically take minutes, or even hours for very large and busy databases.
Download and extract the files for the InnoDB Plugin for your versions of Windows and MySQL from the InnoDB Plugin download page.
Copy the file ha_innodb.dll to the
folder where MySQL looks for plugins, which is generally the
lib\plugin sub-folder in the folder where
the MySQL server is installed (which is identified by
basedir in the my.cnf or
my.ini option file). If the
lib\plugin folder does not exist, you may
create it manually.
Edit the option file (my.ini) to ignore the builtin InnoDB, and load the InnoDB Plugin and all Information Schema tables implemented in the InnoDB Plugin when the server starts:
ignore_builtin_innodb plugin-load=innodb=ha_innodb.dll;innodb_trx=ha_innodb.dll; innodb_locks=ha_innodb.dll;innodb_lock_waits=ha_innodb.dll; innodb_cmp=ha_innodb.dll;innodb_cmp_reset=ha_innodb.dll; innodb_cmpmem=ha_innodb.dll;innodb_cmpmem_reset=ha_innodb.dll
All plugins for plugin-load
should be on the same line in the option file.
Be careful when copying and pasting that the line
does not split.
Alternatively, you can use the equivalent options on the MySQL command line:
mysqld --ignore-builtin-innodb --plugin-load= innodb=ha_innodb.dll; innodb_trx=ha_innodb.dll;innodb_locks=ha_innodb.dll; innodb_lock_waits=ha_innodb.dll;innodb_cmp=ha_innodb.dll; innodb_cmp_reset=ha_innodb.dll;innodb_cmpmem=ha_innodb.dll; innodb_cmpmem_reset=ha_innodb.dll
You can also install the InnoDB Plugin and the new InnoDB
Information Schema tables implemented in
ha_innodb.so with INSTALL
commands, as follows:
INSTALL PLUGIN INNODB SONAME 'ha_innodb.dll'; INSTALL PLUGIN INNODB_TRX SONAME 'ha_innodb.dll'; INSTALL PLUGIN INNODB_LOCKS SONAME 'ha_innodb.dll'; INSTALL PLUGIN INNODB_LOCK_WAITS SONAME 'ha_innodb.dll'; INSTALL PLUGIN INNODB_CMP SONAME 'ha_innodb.dll'; INSTALL PLUGIN INNODB_CMP_RESET SONAME 'ha_innodb.dll'; INSTALL PLUGIN INNODB_CMPMEM SONAME 'ha_innodb.dll'; INSTALL PLUGIN INNODB_CMPMEM_RESET SONAME 'ha_innodb.dll';
If you use INSTALL PLUGIN statements to
install the InnoDB Plugin and the Information Schema tables,
ensure the following conditions are set up:
In the mysqld command line or
my.ini option file, prepend each InnoDB
option with loose_, so that MySQL will
start even when InnoDB is unavailable. For example,
write loose_innodb_file_per_table
instead of innodb_file_per_table.
Start the MySQL server while it is configured to
skip loading the built-in InnoDB and to make MyISAM the
default storage engine. This can be done by editing the
option file my.cnf to contain these two
lines:
ignore_builtin_innodb default_storage_engine=MyISAM
Or, you can use the equivalent options on the MySQL command line:
mysqld --ignore-builtin-innodb --default-storage-engine=MyISAM …
See the MySQL Manual section on INSTALL
PLUGIN Syntax for
information on how these commands work.
Edit the option file my.ini 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 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
IMPORTANT: The MySQL
server always must be started with the option
ignore_builtin_innodb, as long as you want to use the
dynamic InnoDB Plugin. Also, remember that the startup
option skip_grant_tables prevents MySQL from loading
any plugins.
Verify the installation of the plugins with the
MySQL command SHOW PLUGINS, which should
produce the following output:
| Name | Status | Type | Library | License |
|---|---|---|---|---|
| binlog | ACTIVE | STORAGE ENGINE | NULL | GPL |
| CSV | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL |
| InnoDB | ACTIVE | STORAGE ENGINE | ha_innodb.dll | GPL |
| INNODB_TRX | ACTIVE | INFORMATION SCHEMA | ha_innodb.dll | GPL |
| INNODB_LOCKS | ACTIVE | INFORMATION SCHEMA | ha_innodb.dll | GPL |
| INNODB_LOCK_WAITS | ACTIVE | INFORMATION SCHEMA | ha_innodb.dll | GPL |
| INNODB_CMP | ACTIVE | INFORMATION SCHEMA | ha_innodb.dll | GPL |
| INNODB_CMP_RESET | ACTIVE | INFORMATION SCHEMA | ha_innodb.dll | GPL |
| INNODB_CMPMEM | ACTIVE | INFORMATION SCHEMA | ha_innodb.dll | GPL |
| INNODB_CMPMEM_RESET | ACTIVE | INFORMATION SCHEMA | ha_innodb.dll | GPL |
| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
If the plugins fail to load properly, see Section 9.3.3, “Errors When Installing the InnoDB Plugin on Microsoft Windows” for possible causes and corrections.
After verifying that the Plugin is recognized by MySQL, create an InnoDB table as another confirmation of success.
If MySQL or the associated Windows service can not start,
or a post-startup INSTALL PLUGIN statement fails,
look at the MySQL error log (usually named
and located in the MySQL machine_name.errdata directory) for the
detailed error message.
The log is in chronological order, so look at the end of the file.
Try to resolve the problem based on other information in the
message.
| Error Condition or Message | Possible Solution |
|---|---|
Can't open shared library | Diagnose the cause from the following message details. |
API version for STORAGE ENGINE plugin is too different | The version of the Plugin is not compatible with the version of the MySQL server. Consult the compatibility chart . |
No such file or directory | Check that the file ha_innodb.so
or .dll
was copied to the
correct location. Confirm that you specified the right file name
(ha_innodb.so
or .dll
for the library from the InnoDB web site;
ha_innodb_plugin.so
or .dll
for the library supplied along with
MySQL 5.1.38 and up.)
|
Permission denied | Check that the folder and file access permissions are set
properly. The mysqld process
must have permission to read the file
ha_innodb.dll and to read files in
the plugin folder. On Windows XP, file permissions
can be seen or changed by right-clicking on a file and
pressing Properties, and then the Security Tab. To see
the Security Tab, you may need to adjust the Folder
Options on the Control Panel to turn off “Use
Simple File Sharing”. |
Can't open shared library
' | Ensure that |
Note: The Information Schema tables are themselves plugins to the MySQL server, but they depend on having the InnoDB storage engine plugin installed as well. These tables will appear to be empty if the storage engine is not installed.
Sometimes, you may wish to build the plugin from the source
code using special compilation options, or there might be no
binary plugin available for your server platform. With the
resulting special version of MySQL containing the new InnoDB
functionality, it is not necessary to INSTALL
any plugins or be concerned about startup parameters that preclude
loading plugins.
To build the InnoDB Plugin from the source code, you also need the MySQL source code and some software tools. You should become familiar with the MySQL manual section on MySQL Installation Using a Source Distribution.
The general steps for building MySQL from source, containing the InnoDB Plugin in place of the standard built-in InnoDB, are as follows:
Download the MySQL source code.
Download the InnoDB Plugin source code.
Replace the source code for the built-in InnoDB with the InnoDB Plugin source tree.
Compile MySQL as usual, generating a new
mysqld executable file.
Configure the MySQL server by editing the configuration file to use InnoDB as the default engine (if desired) and set appropriate configuration parameters to enable use of new InnoDB Plugin features.
The following sections detail these steps for Linux or Unix systems, and for Microsoft Windows.
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://www.innodb.com/innodb_plugin/download/.
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 contains a
storage/innodb_plugin 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://www.innodb.com/download/innodb_plugin/innodb_plugin-1.0.6.tar.gz % tar -zxf innodb-1.0.6.tar.gz % rm -fr innobase % mv innodb-1.0.6 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
InnoDB Plugin
(--with-plugins=innobase), you do not
have to tell MySQL to specify ignore_builtin_innodb or
specify plugin_load, or issue any
INSTALL PLUGIN statements.
The mysqld executable that you compiled
will contain the new InnoDB Plugin features.
Note: In order 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 perform some additional steps as described in a Support Tip on the InnoDB website.
The MySQL website includes some information about building from source on Windows. The following discussion is specifically focused on building a version of MySQL containing the InnoDB Plugin.
You need the following tools:
A compiler environment, one of the following:
Microsoft Visual C++ 2003
Microsoft Visual C++ 2005
Microsoft Visual C++ 2008 (Note: for building MySQL 5.1.31 or later)
Microsoft Visual C++ 2005 Express Edition (free of charge)
Download and install the Microsoft Visual C++ 2005 Express Edition.
Download and install the Windows Platform SDK.
Configure the Visual Studio Express Edition to use the Platform SDK according to the instruction.
Microsoft Visual C++ 2008 Express Edition (free of charge, for building MySQL 5.1.31 or later)
Download and install the Microsoft Visual C++ 2008 Express Edition. The Visual C++ 2008 Express Edition has already been integrated with the Windows SDK.
GNU Bison for Windows, a general-purpose parser generator that is largely compatible with Berkeley Yacc. This tool is used automatically as part of compiling and building MySQL. For most users, it is sufficient to download and run the “complete package” to install GNU Bison.
CMake 2.6.0 or later, a cross-platform make system that can generate MSVC project files.
In addition to installing these tools, you must also set CScript as the default Windows script host by executing the following command in the Command Prompt:
cscript //H:CScriptAfter you have installed and configured all the required tools, you may proceed with the compilation.
Download the MySQL source code, version 5.1.24 or later from the MySQL website and extract the source files.
Download the InnoDB plugin source code from the InnoDB download page.
Extract the files from the source code archives.
Replace the contents of the
storage\innobase folder in the MySQL
source tree with the InnoDB plugin source tree.
In MySQL 5.1.38 and up, the MySQL source tree also contains a
storage\innodb_plugin 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 under the Microsoft Visual Studio Command Prompt as follows:
win\configure WITH_INNOBASE_STORAGE_ENGINE __NT__ win\build-vs7.bat devenv mysql /build release /project ALL_BUILD
win\configure WITH_INNOBASE_STORAGE_ENGINE __NT__ win\build-vs8.bat devenv mysql /build release /project ALL_BUILD
win\configure WITH_INNOBASE_STORAGE_ENGINE __NT__ win\build-vs9.bat vcbuild mysql.sln "Release"
For the 64-bit version, use
win\build-vs
instead of
N_x64.batwin\build-vs.
N.bat
Install the compiled mysqld.exe
from the sql\release folder of the source
tree by doing one of the following:
Copy the mysqld.exe to the
bin folder of an earlier MySQL 5.1
installation.
Make a distribution package and unpack it to the
folder where MySQL will be installed. See the MySQL
manual section on make_win_bin_dist—Package MySQL
Distribution as ZIP Archive. Note that
scripts\make_win_bin_dist requires the
Cygwin environment.
Reconfigure the MySQL server by editing the
my.cnf or my.ini 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
Since you built a version of MySQL that contains
the InnoDB Plugin, you do not have to specify
ignore_builtin_innodb or specify plugin_load, or
issue any INSTALL PLUGIN statements. The
mysqld.exe that you compiled contains
the new InnoDB Plugin features.
Because the MySQL server as distributed by MySQL
includes a built-in copy of InnoDB, if you are using the dynamic
InnoDB Plugin and have INSTALLed it into the
MySQL server, you must always start the server with the option
ignore_builtin_innodb, either in the option file or on
the mysqld command line. Also, remember that
the startup option skip_grant_tables prevents MySQL from
loading any plugins. Neither of these options is needed when
using a specialized version of MySQL that you build from
source.
By default, the InnoDB Plugin does not create tables in a format that is incompatible with the built-in InnoDB in MySQL. Tables in the new format may be compressed, and they may store portions of long columns off-page, outside the B-tree nodes. You may wish to enable the creation of tables in the new format, using one of these techniques:
Include innodb_file_per_table=1 and
innodb_file_format=barracuda in the
[mysqld] section of the MySQL option file.
Add --innodb_file_per_table=1 and
--innodb_file_format=barracuda to the
mysqld command line.
Issue the statements:
SET GLOBAL innodb_file_format=barracuda; SET GLOBAL innodb_file_per_table=ON;
in the MySQL client when running with SUPER
privileges.
You may also want to enable the new InnoDB strict mode, which
guards SQL or certain operational errors that otherwise generate
warnings and possible unintended consequences of ignored or
incorrect SQL commands or parameters. As described in
Section 8.5, “InnoDB Strict Mode”, the
GLOBAL parameter innodb_strict_mode can be
set ON or OFF in the same
way as the parameters just mentioned. You can also use
the command
SET SESSION innodb_strict_mode=
(where modemode is
ON or OFF) to enable or
disable InnoDB strict mode on a per-session basis.
Take care when using new InnoDB configuration
parameters or values that apply only when using the
InnoDB Plugin. When the MySQL server encounters an unknown option,
it fails to start and returns an error: unknown
variable. This happens, for example, if you include
the new parameter innodb_file_format when you
start the MySQL server with the built-in InnoDB rather than
the plugin. This can cause a problem if you accidentally use the
built-in InnoDB after a system crash, because InnoDB crash
recovery runs before MySQL checks the startup parameters. See
Section 11.4, “Possible Problems” why this can be a
problem. One safeguard is to specify the prefix loose_
before the names of new options, so that if they are not recognized on startup,
the server gives a warning instead of a fatal error.
The Plugin that you download from the InnoDB web site should always be at the same level or newer than the shared library that is included with the MySQL distribution starting with version 5.1.38. To pick up the very latest fixes, download from the InnoDB site.
For the types of errors and how to diagnose them, see
Section 9.3.3, “Errors When Installing the InnoDB Plugin on
Microsoft Windows”.
Be especially careful that the plugin-load line in the
option file does not get split across lines when you copy and paste from the README
or this manual, which can produce an “unrecognized option” error in the error log.
You automatically benefit from the “fast index creation”
feature for every index you create on a large InnoDB table.
If you switch to the “Barracuda” file format using the
innodb_file_format option, you can
take advantage of other features such as table compression.
For the full list of features, refer to
Section 1.2, “Features of the InnoDB Plugin”.
The Plugin must loaded whenever the MySQL database server is started.
As we saw earlier, there are several ways to configure MySQL to use
the Plugin rather than the built-in InnoDB: in the option file,
with mysqld command-line options, or with
INSTALL statements after the server starts.
To ensure that you do not accidentally revert to the older InnoDB,
be careful to carry that configuration forward in the future,
such as when transitioning from a development system to a test system,
setting up a replication slave, or when writing new mysqld
startup scripts.