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.8 for MySQL 5.1, generated on 2012-05-23 (revision: 30566) .
