9.3.1. Installing the InnoDB Plugin as a Shared Library on Unix or Linux
[]
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 . 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 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.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_innodbplugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so; innodb_locks=ha_innodb_plugin.so;innodb_lock_waits=ha_innodb_plugin.so; innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_innodb_plugin.so; innodb_cmpmem=ha_innodb_plugin.so;innodb_cmpmem_reset=ha_innodb_plugin.so
Note that all plugins forplugin-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_plugin.so; innodb_trx=ha_innodb_plugin.so;innodb_locks=ha_innodb_plugin.so; innodb_lock_waits=ha_innodb_plugin.so;innodb_cmp=ha_innodb_plugin.so; innodb_cmp_reset=ha_innodb_plugin.so;innodb_cmpmem=ha_innodb_plugin.so; innodb_cmpmem_reset=ha_innodb_plugin.so
You can also install the InnoDB Plugin and the new InnoDB Information Schema tables implemented inha_innodb_plugin.so
withINSTALL
commands:INSTALL PLUGIN INNODB SONAME 'ha_innodb_plugin.so';INSTALL PLUGIN INNODB_TRX SONAME 'ha_innodb_plugin.so';INSTALL PLUGIN INNODB_LOCKS SONAME 'ha_innodb_plugin.so';INSTALL PLUGIN INNODB_LOCK_WAITS SONAME 'ha_innodb_plugin.so';INSTALL PLUGIN INNODB_CMP SONAME 'ha_innodb_plugin.so';INSTALL PLUGIN INNODB_CMP_RESET SONAME 'ha_innodb_plugin.so';INSTALL PLUGIN INNODB_CMPMEM SONAME 'ha_innodb_plugin.so';INSTALL PLUGIN INNODB_CMPMEM_RESET SONAME 'ha_innodb_plugin.so';
If you useINSTALL 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 withloose_
, so that MySQL will start even when InnoDB is unavailable. For example, writeloose_innodb_file_per_table
instead ofinnodb_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_innodbdefault_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 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 . In particular, we recommend that you set the following specific parameters as follows:default-storage-engine=InnoDBinnodb_file_per_table=1innodb_file_format=barracudainnodb_strict_mode=1
IMPORTANT:The MySQL server always must be started with the optionignore_builtin_innodb
, as long as you want to use the InnoDB Plugin as a shared library. Also, remember that the startup optionskip_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.so GPL INNODB_TRX ACTIVE INFORMATION SCHEMA ha_innodb_plugin.so GPL INNODB_LOCKS ACTIVE INFORMATION SCHEMA ha_innodb_plugin.so GPL INNODB_LOCK_WAITS ACTIVE INFORMATION SCHEMA ha_innodb_plugin.so GPL INNODB_CMP ACTIVE INFORMATION SCHEMA ha_innodb_plugin.so GPL INNODB_CMP_RESET ACTIVE INFORMATION SCHEMA ha_innodb_plugin.so GPL INNODB_CMPMEM ACTIVE INFORMATION SCHEMA ha_innodb_plugin.so GPL INNODB_CMPMEM_RESET ACTIVE INFORMATION SCHEMA ha_innodb_plugin.so GPL MRG_MYISAM ACTIVE STORAGE ENGINE NULL GPL MyISAM ACTIVE STORAGE ENGINE NULL GPL If the plugins fail to load properly, see for possible causes and corrections.After verifying that the Plugin is recognized by MySQL, create an InnoDB table as another confirmation of success.
http://dev.mysql.com/doc/innodb-plugin/1.0/en/innodb-plugin-installation-dynamic-posix.html