程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql安裝innodb插件

mysql安裝innodb插件

編輯:MySQL綜合教程

可以用 show engines;或者show plugins;來查看
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     |
| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL    | GPL     |
| MyISAM     | ACTIVE | STORAGE ENGINE | NULL    | GPL     |
+------------+--------+----------------+---------+---------+
5 rows in set (0.00 sec)
方法一:
在configure的時候加上–with-plugins=innobase (或all) 如果要添多個插件,用半角逗號隔開

方法二:
如果mysql已經編譯好了,又不想重新編譯,可以安裝插件,innodb就是一個插件,安裝好mysql後也是可以添加的。

1,查看一下,mysql配置是不是支持動態添加插件
mysql> show variables like "have_%";
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| have_compress        | YES   |
| have_crypt           | YES   |
| have_csv             | YES   |
| have_dynamic_loading | YES   |    //在這裡是YES表示是支持的

如果是no呢,就不太好辦,因為have_dynamic_loading是只讀變量,
mysql> set have_dynamic_loading=1;
ERROR 1238 (HY000): Variable ‘have_dynamic_loading’ is a read only variable
不過一般情況下都是YES,

2,添加插件

mysql> INSTALL PLUGIN INNODB SONAME 'ha_innodb.so';    //提示打不開文件,沒有權限
ERROR 1126 (HY000): Can't open shared library '/usr/local/mysql/lib/mysql/plugin/ha_innodb.so' (errno: 13 cannot restore segment prot after reloc: Permission denied)

上面報沒有權限錯誤,搞得我很郁悶,解決辦法如下:
root@ubuntu:/usr/local/mysql# find . -type d -print |grep -i plugin   //查看一下插件目錄對不對
./lib/mysql/plugin
root@ubuntu:/usr/local/mysql# chcon -t texrel_shlib_t /usr/local/mysql/lib/mysql/plugin/ha_innodb.so
chcon: 部分關聯無法應用於文件“/usr/local/mysql/lib/mysql/plugin/ha_innodb.so”

用chcon也報錯,我查一下是因為我沒有安裝selinux
root@ubuntu:/usr/local/mysql# whereis selinux
selinux:
selinux我根本沒有安裝,如果個人用,這個也不需要,沒辦法裝一下,裝完後chcon就不報錯了。

安裝以下幾個
mysql> install plugin INNODB soname "ha_innodb.so";
mysql> install plugin INNODB_TRX soname "ha_innodb.so";
mysql> install plugin INNODB_LOCKS soname "ha_innodb.so";
mysql> install plugin INNODB_LOCK_WAITS soname "ha_innodb.so";
mysql> install plugin INNODB_CMP soname "ha_innodb.so";
mysql> install plugin INNODB_CMP_RESET soname "ha_innodb.so";
mysql> install plugin INNODB_CMPMEM soname "ha_innodb.so";
mysql> install plugin INNODB_CMPMEM_RESET soname "ha_innodb.so"

安裝好後,在用 show engines;或者show plugins;來查看

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     |
| InnoDB              | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| INNODB_TRX          | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_LOCKS        | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_LOCK_WAITS   | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMP          | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMP_RESET    | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMPMEM       | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMPMEM_RESET | ACTIVE | INFORMATION SCHEMA | NULL    | GPL     |
| MRG_MYISAM          | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
| MyISAM              | ACTIVE | STORAGE ENGINE     | NULL    | GPL     |
+---------------------+--------+--------------------+---------+---------+
13 rows in set (0.00 sec)

作者 “huoxiujian”

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved