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.
The InnoDB Plugin shared library is already installed
in the directory lib\plugin
as part of the
MySQL installation.
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_plugin.dll;innodb_trx=ha_innodb_plugin.dll; innodb_locks=ha_innodb_plugin.dll;innodb_lock_waits=ha_innodb_plugin.dll; innodb_cmp=ha_innodb_plugin.dll;innodb_cmp_reset=ha_innodb_plugin.dll; innodb_cmpmem=ha_innodb_plugin.dll;innodb_cmpmem_reset=ha_innodb_plugin.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_plugin.dll; innodb_trx=ha_innodb_plugin.dll;innodb_locks=ha_innodb_plugin.dll; innodb_lock_waits=ha_innodb_plugin.dll;innodb_cmp=ha_innodb_plugin.dll; innodb_cmp_reset=ha_innodb_plugin.dll;innodb_cmpmem=ha_innodb_plugin.dll; innodb_cmpmem_reset=ha_innodb_plugin.dll
You can also install the InnoDB Plugin and the new InnoDB
Information Schema tables implemented in
ha_innodb_plugin.so
with INSTALL
commands, as follows:
INSTALL PLUGIN INNODB SONAME 'ha_innodb_plugin.dll'; INSTALL PLUGIN INNODB_TRX SONAME 'ha_innodb_plugin.dll'; INSTALL PLUGIN INNODB_LOCKS SONAME 'ha_innodb_plugin.dll'; INSTALL PLUGIN INNODB_LOCK_WAITS SONAME 'ha_innodb_plugin.dll'; INSTALL PLUGIN INNODB_CMP SONAME 'ha_innodb_plugin.dll'; INSTALL PLUGIN INNODB_CMP_RESET SONAME 'ha_innodb_plugin.dll'; INSTALL PLUGIN INNODB_CMPMEM SONAME 'ha_innodb_plugin.dll'; INSTALL PLUGIN INNODB_CMPMEM_RESET SONAME 'ha_innodb_plugin.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_plugin.dll | GPL |
INNODB_TRX | ACTIVE | INFORMATION SCHEMA | ha_innodb_plugin.dll | GPL |
INNODB_LOCKS | ACTIVE | INFORMATION SCHEMA | ha_innodb_plugin.dll | GPL |
INNODB_LOCK_WAITS | ACTIVE | INFORMATION SCHEMA | ha_innodb_plugin.dll | GPL |
INNODB_CMP | ACTIVE | INFORMATION SCHEMA | ha_innodb_plugin.dll | GPL |
INNODB_CMP_RESET | ACTIVE | INFORMATION SCHEMA | ha_innodb_plugin.dll | GPL |
INNODB_CMPMEM | ACTIVE | INFORMATION SCHEMA | ha_innodb_plugin.dll | GPL |
INNODB_CMPMEM_RESET | ACTIVE | INFORMATION SCHEMA | ha_innodb_plugin.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.
This is the User’s Guide for InnoDB Plugin 1.0.6 for MySQL 5.1, generated on March 4, 2010 (rev 673:680M).