首先确定,在mysql的'plugin_dir'下有ha_innodb_plugin.so和ha_innodb.so兩個檔案
查詢'plugin_dir'的路徑可以用以下指令
mysql> show variables like 'plugin_dir';
+---------------+-----------------------------------+
| Variable_name | Value |
+---------------+-----------------------------------+
| plugin_dir | /usr/local/mysql/lib/mysql/plugin |
+---------------+-----------------------------------+
1 row in set (0.01 sec)
如果沒有找到,在您的mysql編譯目錄裡有下面的目錄檔案(内置的innodb和innodb_plugin)
storage/innobase/.libs/ha_innodb.so
storage/innodb_plugin/.libs/ha_innodb_plugin.so
您需要把它們(ha_innodb_plugin.so和ha_innodb.so)拷貝到mysql的plugin目錄中
(/usr/local/mysql/lib/mysql/plugin)
接下來就是在mysql指令行安裝一下
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 5.1.36-log Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show engines;
+------------+---------+-----------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+------------+---------+-----------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO |
+------------+---------+-----------------------------------------------------------+--------------+------+------------+
4 rows in set (0.00 sec)
mysql> INSTALL PLUGIN InnoDB SONAME 'ha_innodb.so';
Query OK, 0 rows affected (0.69 sec)
mysql> show engines;
+------------+---------+------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
| InnoDB | YES | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| CSV | YES | CSV storage engine | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
5 rows in set (0.00 sec)
今天在一台伺服器上安裝最新的Mysql 5.1.35,通過源代碼安裝。
編譯安裝都很順利,到執行
bin/mysql_install_db –user=mysql
就報了usr/local/mysql/libexec/mysqld: unknown variable ‘innodb_data_home_dir=/usr/local/mysql/var/‘錯誤。 之前從來沒有過,百思不得其解,Google了一下,發現原來是最新的MySQL預設不帶innodb引擎。 于是重新編譯,在configrue的時候,加上–with-plugins=innobase這個參數
之後可以進入資料庫,執行
mysql>show plugin;
+————+——–+—————-+————–+———+| Name | Status | Type | Library | License |+————+——–+—————-+————–+———+| binlog | ACTIVE | STORAGE ENGINE | NULL | GPL || CSV | ACTIVE | STORAGE ENGINE | NULL | GPL || MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL || MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL || MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL || SPHINX | ACTIVE | STORAGE ENGINE | NULL | GPL || PBXT | ACTIVE | STORAGE ENGINE | libpbxt.so | GPL || InnoDB | ACTIVE | STORAGE ENGINE | ha_innodb.so | GPL |+————+——–+—————-+————–+———+
如果還沒有,就執行一下