天天看點

LINUX下,我安裝的MYSQL沒有INNODB引擎,怎麼加上

首先确定,在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     |+————+——–+—————-+————–+———+
      

如果還沒有,就執行一下