为MySQL安装InnoDB引擎
大D最近搭建了自己的Wiki,作为大D的知识资料库使用,还在适应wiki的语法。
但是在Mediawiki的安装过程中,遇到了这样一个提示:
警告:您选择了MyISAM作为MySQL的存储引擎,MediaWiki并不推荐您这么做,因为:
- 它仅能通过表锁定来勉强支持并发
- 与其他引擎相比,它更容易被损坏
- MediaWiki代码库并不总会去处理MyISAM
如果您的MySQL程序支持InnoDB,我们高度推荐您使用该引擎替代MyISAM。如果您的MySQL程序不支持InnoDB,请考虑升级。
因为大D的MySQL是编译安装的,只有默认的MyISAM引擎,所以补装一下InnoDB引擎。
解决方法:
首先看一下MySQL安装了什么引擎
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@derek_s ~]# mysql -u root -p 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 | +------------+--------+----------------+--------------+---------+ 5 rows in set, 1 warning (0.06 sec) |
这里我们可以看到只有MyISAM引擎。
接下来进行安装:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
mysql> install plugin innodb soname 'ha_innodb.so'; Query OK, 0 rows affected (0.36 sec) +------------+--------+----------------+--------------+---------+ | 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 in set, 1 warning (0.06 sec) |
安装完毕。
到这里就可以继续安装Mediawiki了,在数据库设置的界面就可以选择数据库引擎了。
如果你需要设置成默认引擎,请继续往下看:
设置默认数据库引擎
首先查看一下引擎:
1 2 3 4 5 6 7 8 9 10 11 |
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 in memory, useful for temporary tables | NO | NO | NO | | MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | +------------+---------+------------------------------------------------------------+--------------+------+------------+ 5 rows in set (0.00 sec) |
数据库引擎里已经有InnoDB了。
1 |
mysql>alter table tb_name engine=innodb; |
输入上面的命令就可以设置InnoDB为默认的数据库引擎了。
科普时间
InnoDB,事务型数据库的首选引擎,支持ACID事务,支持行级锁定。InnoDB是为处理巨大数据量时的最大性能设计。但INNODB的实用性,安全性,稳定性更高但是效率比MYISAM稍差。
MyISAM是默认存储引擎。它基于更老的ISAM代码,但有很多有用的扩展。(注意MySQL 5.1不支持ISAM)。 每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。.frm文件存储表定义。数据文件的扩展名为.MYD (MYData)。并且支持全文索引。
版权声明
转载保留版权: 大D技研室 | 《为MySQL安装InnoDB引擎》
本文链接地址:https://www.dadclab.com/archives/1603.jiecao
转载须知:如果您需要转载本文,请将版权信息,版权授权方式,以及本文的链接地址注明,谢谢合作。
已有 5 条评论
发表评论
电子邮件地址不会被公开。 必填项已标注。
收藏!有时候要好好研究一下数据库
InnoDB 事务必备!
@davelv 其实俺不知道啥叫事务型数据库
我就不说大D的文章标题鼠标滑过的时候很炫了
@xushine 嘿嘿。。其实也把评论区做的很炫。。后来看着不爽。。就回归咯