mysql中如何安裝innodb plugin

來源:互聯網
上載者:User

 一,  背景說明:

         1, windows xp 環境;

         2,已經安裝mysql伺服器版本, 可以通過下面方式查看:

        

         3,預設的儲存引擎是innodb,內建的非innodb plugin;

         需求:為了利用新的儲存引擎 Innodb plugin的更多特性 ,決定使用innodb plugin引擎。

二,  操作步驟

        1,可以用show engines 或者 show plugins命令查看當前安裝的引擎或者外掛程式情況。

   

        2,查看一下當前mysql安裝是否支援動態添加外掛程式。

           

            注意,若have_dynamic_loading 選項的value是YES,則說明支援。如果是NO,則必須麻煩,因為have_dynamic_loading是唯讀變數。

          

         3,添加外掛程式

               首先確認一下外掛程式的dll或者so的所在目錄,偶安裝在windows環境,dll所在目錄是:${MYSQLHOME}/lib/plugin/ha_innodb_plugin.dll。

               執行如下命令:

               mysql>install plugin innodb dllname 'ha_innodb_plugin.dll';
               mysql>install plugin innodb_trx soname 'ha_innodb_plugin.dll';
               mysql>install plugin innodb_locks soname 'ha_innodb_plugin.dll';
               mysql>install plugin innodb_lock_waits soname 'ha_innodb_plugin.dll';
               mysql>install plugin innodb_cmp soname 'ha_innodb_plugin.dll';
               mysql>install plugin innodb_cmp_reset soname 'ha_innodb_plugin.dll';
               mysql>install plugin innodb_cmpmem soname 'ha_innodb_plugin.dll';
               mysql>install plugin innodb_cmpmem_reset soname 'ha_innodb_plugin.dll'; 

         4,檢測外掛程式安裝是否成功,可以執行:show plugins命令或者show engines;

         5,查看安裝的innodb plugin的版本:

              

         注意: 

          看似簡單,但是要想完成動態載入innodb plugin是有條件的:

         1,使用源碼編譯的,預設innobase沒有被編譯進來;使用二進位包安裝的,在啟動前,在my.cnf裡面加入skip-innodb或是ignore_builtin_innodb。

         2,使用源碼編譯時間,不能使用–with-mysqld-ldflags=-all-static選項,以靜態方式編譯庫,當show global variables like ‘have_%’;的時候,輸出有一項是 

                have_dynamic_loading將是NO,這就決定mysql是否支援動態載入plugin;而二進位包安裝的mysql,就是動態編譯的,支援動態載入plugin,這項為Yes。

         3,選擇對應的innodb plugin版本,並將其放到basedir/lib/plugin下面。

三, 修改配置my.ini後重新啟動mysql

         1,去掉之前innodb的所有配置,在my.ini進行如下配置後重啟mysql

         對於mysql5.1.38之後的版本,要使用新的InnoDB Plugin儲存引擎,只需在my.ini中做如下配置:

         #*** INNODB Specific options ***
         ignore-builtin-innodb 

         plugin-load=innodb=ha_innodb_plugin.dll
         plugin-load=innodb_trx=ha_innodb_plugin.dll
         plugin-load=innodb_locks=ha_innodb_plugin.dll
         plugin-load=innodb_lock_waits=ha_innodb_plugin.dll
         plugin-load=innodb_cmp=ha_innodb_plugin.dll
         plugin-load=innodb_cmp_reset=ha_innodb_plugin.dll
         plugin-load=innodb_cmpmem=ha_innodb_plugin.dll
         plugin-load=innodb_cmpmem_reset=ha_innodb_plugin.dll

  

         注意:對之前的設定項目,前面加上loose_後均變成innodb plugin的設定項目,如

         loose_innodb_additional_mem_pool_size=12M
         loose_innodb_flush_log_at_trx_commit=1
         loose_innodb_log_buffer_size=6M
         loose_innodb_buffer_pool_size=538M
         loose_innodb_log_file_size=269M
         loose_innodb_thread_concurrency=10
         loose_innodb_file_per_table=1

        2,重啟mysql

        在重啟若出現如下錯誤:

         120701 13:47:11 [ERROR] Plugin 'InnoDB' init function returned error.
         120701 13:47:11 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
         120701 13:48:51 [Note] mysqld: Normal shutdown

         120701 13:48:51 [Note] Event Scheduler: Purging the queue. 0 events
         120701 13:48:53 [Warning] mysqld: Forcing close of thread 1  user: 'root'

          InnoDB: Error: log file .\ib_logfile0 is of different size 0 282066944 bytes
          InnoDB: than specified in the .cnf file 0 5242880 bytes!
         120701 13:48:53 [Note] mysqld: Shutdown complete

         處理辦法:只要刪除MySQL目錄下的ib_logfile0和ib_logfile1兩個檔案,重啟mysql就可以解決問題了。

 

 

             

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.