Documentation Home
InnoDB Plugin 1.0 for MySQL 5.1 User's Guide
Download this Manual
PDF (US Ltr) - 1.3Mb
PDF (A4) - 1.3Mb


InnoDB Plugin 1.0 for MySQL 5.1 User's Guide  /  ...  /  Installing the InnoDB Plugin as a Shared Library on Unix or Linux

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:

  1. 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.

  2. 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.

  3. The InnoDB Plugin shared library is already installed in the directory lib/plugin as part of the MySQL installation.

  4. 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_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 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_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 in ha_innodb_plugin.so with INSTALL 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 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.

  5. 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
    
    IMPORTANT:

    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.

  6. Verify the installation of the plugins with the MySQL command SHOW PLUGINS, which should produce the following output:

    NameStatusTypeLibraryLicense
    binlogACTIVESTORAGE ENGINENULLGPL
    CSVACTIVESTORAGE ENGINENULLGPL
    MEMORYACTIVESTORAGE ENGINENULLGPL
    InnoDBACTIVESTORAGE ENGINEha_innodb_plugin.soGPL
    INNODB_TRXACTIVEINFORMATION SCHEMAha_innodb_plugin.soGPL
    INNODB_LOCKSACTIVEINFORMATION SCHEMAha_innodb_plugin.soGPL
    INNODB_LOCK_WAITSACTIVEINFORMATION SCHEMAha_innodb_plugin.soGPL
    INNODB_CMPACTIVEINFORMATION SCHEMAha_innodb_plugin.soGPL
    INNODB_CMP_RESETACTIVEINFORMATION SCHEMAha_innodb_plugin.soGPL
    INNODB_CMPMEMACTIVEINFORMATION SCHEMAha_innodb_plugin.soGPL
    INNODB_CMPMEM_RESETACTIVEINFORMATION SCHEMAha_innodb_plugin.soGPL
    MRG_MYISAMACTIVESTORAGE ENGINENULLGPL
    MyISAMACTIVESTORAGE ENGINENULLGPL

    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.


User Comments
Sign Up Login You must be logged in to post a comment.