在CentOS6.5上使用MariaDB中新捆绑的全文搜索引擎Mroonga
由于Mroonga最近与MariaDB捆绑在一起,所以我立刻进行了安装尝试。
因为官方文档还没有提供步骤,所以我边查边进行,但最终只花了不到30分钟就完成了,真是令人感动。
环境
- CentOS:6.5
- MariaDB:10.0.15
- Mroonga:4.06
操作流程
最初先进行各种软件包的更新至最新版本。
$ sudo yum update -y
安装MariaDB
安装捆绑了Mroonga的版本10.0.15。
$ sudo rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
$ sudo vi /etc/yum.repos.d/mariadb.repo
$ cat /etc/yum.repos.d/mariadb.repo
------------------------------
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0.15/centos6-x86
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=0
------------------------------
$ sudo rpm -e --nodeps mysql-libs # mysql-libsは干渉するので先に消しておきます。
$ sudo yum install -y --enablerepo=mariadb MariaDB-devel MariaDB-client MariaDB-server
$ sudo service mysql start # MariaDBでもmysqlなのね…
$ sudo /usr/bin/mysqladmin -u root password 'mysqlpass'
$ sudo /usr/bin/mysqladmin -u root -h v157-7-239-240.z1d8.static.cnode.jp password 'mysqlpass'
$ mysql -uroot -pmysqlpass
> exit
MariaDB的安装可以使用这个。
根据需要适当编辑my.cnf文件。
启用Mroonga
MariaDB自带的Mroonga默认为禁用状态。
我会启用它。
为了确认一下,确保它真的无效。
SHOW ENGINES;
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| CSV | YES | CSV storage engine | NO | NO | NO |
| MRG_MyISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| InnoDB | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| FEDERATED | YES | FederatedX pluggable storage engine | YES | NO | YES |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| Aria | YES | Crash-safe tables with MyISAM heritage | NO | NO | NO |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
10 rows in set (0.00 sec)
你可以从不显示在列表中这一事实来确认它已经无效了。
请使用以下命令进行启用。
INSTALL PLUGIN Mroonga SONAME 'ha_mroonga.so';
CREATE FUNCTION last_insert_grn_id RETURNS INTEGER SONAME 'ha_mroonga.so';
CREATE FUNCTION mroonga_snippet RETURNS STRING SONAME 'ha_mroonga.so';
CREATE FUNCTION mroonga_command RETURNS STRING SONAME 'ha_mroonga.so';
CREATE FUNCTION mroonga_escape RETURNS STRING SONAME 'ha_mroonga.so';
SHOW ENGINES;
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| CSV | YES | CSV storage engine | NO | NO | NO |
| MRG_MyISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| InnoDB | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| Mroonga | YES | CJK-ready fulltext search, column store | NO | NO | NO |
| FEDERATED | YES | FederatedX pluggable storage engine | YES | NO | YES |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| Aria | YES | Crash-safe tables with MyISAM heritage | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
11 rows in set (0.00 sec)
确认了Mroonga的加入后完成。无需重新启动服务器。
非常方便,让人惊讶。
限制条件
这个捆绑版安装非常简单,但不幸的是,有以下限制。
-
- TokenMecabが使えない。
MySQL由来のNormalizer(名前にMySQLと入ってる奴)が使えない。 勘違いでした(2014/12/18追記)
10.0.15でバンドルされたMroongaは4.06なので、新機能のトークンフィルターが使えない。
结构非常严密。
由于这些限制,Mroonga的捆绑版似乎只能用于“想要方便使用时”。就目前而言的位置。如果无法接受这些限制,可以继续使用传统的方式,从源代码安装。这里的步骤可能会有所帮助。