您现在的位置是:首页 > 个人博客个人博客

mysql不支持innodb的解决办法

龙沐星2020-03-17【个人博客】85974人已围观

简介要解决这个问题,有以下两种办法;1、首先查看你的mysql是否支持innodb;a、disabled说明innodb引擎已经存在,只是被禁用了,只要开启就好了

要解决这个问题,有以下两种办法

1、首先查看你的mysql是否支持innodb

a、disabled说明innodb引擎已经存在,只是被禁用了,只要开启就好了,修改my.cnf,把innodb=OFF修改为innodb=On,或者注销掉innodb=OFF这一行,然后重启mysql,innodb就可用了

mysql> show variables like ‘%have_innodb%';

+—————+———-+

| Variable_name | Value |

+—————+———-+

| have_innodb | DISABLED |

+—————+———-+

1 row in set (0.00 sec)

b、如果have_innodb为No

mysql> show variables like ‘%have_innodb%';

+—————+———-+

| Variable_name | Value |

+—————+———-+

| have_innodb | NO |

+—————+———-+

查看是否支持动态加载插件

mysql> show variables like “have_dynamic%”;

+———————-+——-+

| Variable_name | Value |

+———————-+——-+

| have_dynamic_loading | YES |

+———————-+——-+

1 row in set (0.00 sec)

显示为yes表示支持动态加载mysql插件,该值一般为yes,

当使用源码编译安装时不能使用–with-mysqld-ldflags=-all-static选项,以静态方式编译库,这样默认就会是yes,执行以下操作动态加载插件

(如果显示为No,则需要重新编译Mysql,因为have_dynamic_loading这个参数是只读参数)

放入插件文件,找到mysql存放插件的目录

mysql> show variables like ‘plugin_dir';

+—————+———————————–+

| Variable_name | Value |

+—————+———————————–+

| plugin_dir | /usr/local/mysql/lib/mysql/plugin |

+—————+———————————–+

1 row in set (0.00 sec)

在该目录中查看是否已有ha_innodb.so和ha_innodb_plugin.so两个文件

若没有可以去网上下载与所安装mysql对应的版本,或者直接去mysql源码包中storage/innobase/.libs/ha_innodb.so

添加动态安装加载

mysql> INSTALL PLUGIN InnoDB SONAME ‘ha_innodb.so';

Query OK, 0 rows affected (0.61 sec)

查看现在是否支持innodb

mysql> show plugins;

也可以用以下方法删除innodb支持

mysql> UNINSTALL PLUGIN innodb;

2、还可以重新编译mysql

mysql不支持innodb,说明在对mysql进行编译安装时,缺少支持innodb的参数

–with-plugins=innobase 或者–with-plugins=all #这是在5.5版本前

–DWITH_INNOBASE_STORAGE_ENGINE=1 #这是在5.5以后版本,用cmake编译时支持innodb所用的参数

编译完成了之后,重新安装mysql就发现可以支持innodb了。

很赞哦! (85974)

文章评论

  • 评论已关闭

站点信息

  • 建站时间:2015-07-29
  • 网站程序:YII 2.0
  • 文章统计:24条
  • 文章评论:85974条
  • 统计数据百度统计
  • 微信公众号:扫描二维码,关注我们