恒晖瑶 发表于 2018-10-1 11:56:42

mysql不支持innodb存储引擎

  工作中,不免会遇到前辈已经编译安装过的mysql,忽然发现mysql不支持innodb的存储引擎的问题,现在来看一下吧
  一、先看mysql是否支持innodb存储引擎
  mysql> show variables like 'ha%';
  +----------------------+----------+
  | Variable_name      | Value    |
  +----------------------+----------+
  | have_compress      | YES      |
  | have_crypt         | YES      |
  | have_csv             | YES      |
  | have_dynamic_loading | YES      |
  | have_geometry      | YES      |
  | have_innodb          | DISABLED |
  | have_ndbcluster      | NO       |
  | have_openssl         | DISABLED |
  | have_partitioning    | YES      |
  | have_profiling       | YES      |
  | have_query_cache   | YES      |
  | have_rtree_keys      | YES      |
  | have_ssl             | DISABLED |
  | have_symlink         | YES      |
  +----------------------+----------+
  14 rows in set (0.00 sec)
  have_innodb:值为DISABLED,表示未启用,值为no,表示不支持innodb存储引擎
  mysql> show plugins;
  +-----------------------+----------+----------------+---------+---------+
  | Name                  | Status   | Type         | Library | License |
  +-----------------------+----------+----------------+---------+---------+
  | binlog                | ACTIVE   | STORAGE ENGINE | NULL    | GPL   |
  | mysql_native_password | ACTIVE   | AUTHENTICATION | NULL    | GPL   |
  | mysql_old_password    | ACTIVE   | AUTHENTICATION | NULL    | GPL   |
  | MEMORY                | ACTIVE   | STORAGE ENGINE | NULL    | GPL   |
  | MRG_MYISAM            | ACTIVE   | STORAGE ENGINE | NULL    | GPL   |
  | CSV                   | ACTIVE   | STORAGE ENGINE | NULL    | GPL   |
  | MyISAM                | ACTIVE   | STORAGE ENGINE | NULL    | GPL   |
  | BLACKHOLE             | ACTIVE   | STORAGE ENGINE | NULL    | GPL   |
  | FEDERATED             | DISABLED | STORAGE ENGINE | NULL    | GPL   |
  | PERFORMANCE_SCHEMA    | ACTIVE   | STORAGE ENGINE | NULL    | GPL   |
  | ARCHIVE               | ACTIVE   | STORAGE ENGINE | NULL    | GPL   |
  | partition             | ACTIVE   | STORAGE ENGINE | NULL    | GPL   |
  +-----------------------+----------+----------------+---------+---------+
  现在的mysql的确不支持innodb存储引擎
  2.查看是否支持动态加载插件
  mysql> show variables like 'have_dynamic%';
  +----------------------+-------+
  | Variable_name      | Value |
  +----------------------+-------+
  | have_dynamic_loading | YES   |
  +----------------------+-------+
  1 row in set (0.00 sec)
  have_dynamic_loading:值为yes,表示动态加载mysql的插件
  当使用源码编译安装时不能使用-with-mysqld-ldflags=all-static选项
  3.放入插件文件,找到mysql存放插件的路径
  mysql> show variables like 'plugin_dir';
  +---------------+------------------------------+
  | Variable_name | Value                        |
  +---------------+------------------------------+
  | plugin_dir    | /usr/local/mysql/lib/plugin/ |
  +---------------+------------------------------+
#在该目录中查看是否已有ha_innodb.so和ha_innodb_plugin.so两个文件# ll /usr/local/mysql/lib/plugin/ha_innodb.solrwxrwxrwx 1 mysql mysql 18 08-22 02:55 /opt/mysql/lib/mysql/plugin/ha_innodb.so -> ha_innodb.so.0.0.0# ll /usr/local/mysql/lib/plugin/ha_innodb_plugin.solrwxrwxrwx 1 mysql mysql 25 08-22 02:55 /opt/mysql/lib/mysql/plugin/ha_innodb_plugin.so -> ha_innodb_plugin.so.0.0.0#若没有可以去网上下载与所安装mysql对应的版本,或者直接去mysql源码包中storage/innobase/.libs/ha_innodb.sostorage/innodb_plugin/.libs/ha_innodb_plugin.so 复制到mysql的plugin目录中  4.添加动态安装加载
mysql>INSTALL PLUGIN InnoDB SONAME 'ha_innodb.so';Query OK, 0 rows affected (0.61 sec)  5.看现在是否支持innodb
mysql> show plugins;+------------+--------+----------------+--------------+---------+| 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   || InnoDB   | ACTIVE | STORAGE ENGINE | ha_innodb.so | GPL   |+------------+--------+----------------+--------------+---------+6 rows inset(0.01 sec)mysql> show engines;+------------+---------+------------------------------------------------------------+--------------+------+------------+| Engine   | Support | Comment                                                    | Transactions | XA   | Savepoints |+------------+---------+------------------------------------------------------------+--------------+------+------------+| CSV      | YES   | CSV storage engine                                       | NO         | NO   | NO         || InnoDB   | YES   | Supports transactions, row-level locking, and foreign keys | YES          | YES| YES      || MEMORY   | YES   | Hash based, stored inmemory, useful fortemporary tables| NO         | NO   | NO         || MyISAM   | DEFAULT | Default engine as of MySQL 3.23 with great performance   | NO         | NO   | NO         || MRG_MYISAM | YES   | Collection of>+------------+---------+------------------------------------------------------------+--------------+------+------------+5 rows inset(0.01 sec)  二、追加编译
  1.删除innodb支持,应查看
mysql> UNINSTALL PLUGIN innodb;Query OK, 0 rows affected (0.52 sec)mysql> show engines;+------------+---------+-----------------------------------------------------------+--------------+------+------------+| Engine   | Support | Comment                                                   | Transactions | XA   | Savepoints |+------------+---------+-----------------------------------------------------------+--------------+------+------------+| CSV      | YES   | CSV storage engine                                        | NO         | NO   | NO         || MRG_MYISAM | YES   | Collection of>| MEMORY   | YES   | Hash based, stored inmemory, useful fortemporary tables | NO         | NO   | NO         || MyISAM   | DEFAULT | Default engine as of MySQL 3.23 with great performance    | NO         | NO   | NO         |+------------+---------+-----------------------------------------------------------+--------------+------+------------+4 rows inset(0.00 sec)  2.重新编译
  注:注意mysql的编译安装方式,
  2.看mysql不支持或者未启用innodb存储引擎

页: [1]
查看完整版本: mysql不支持innodb存储引擎