LINUX下,我安装的MYSQL没有INNODB引擎,怎么加上

时间:2022-05-01 07:33:57

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


如果还没有,就执行一下

mysql>install plugin innodb soname ‘ha_innodb.so’;