共计 7746 个字符,预计需要花费 20 分钟才能阅读完成。
这篇文章主要介绍 Mysql 如何在线安装其它引擎,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
mysql 在线安装 sphinx 存储引擎
需要在现有 mysql 中安装 sphinx 的存储引擎,要保证现有 mysql 运行的情况下完成。mysql 也的确支持存储引擎的在线热插拔,下面介绍安装步骤:
1、查看现有 mysql 的运行版本
[root@localhost plugin]# mysqladmin -uroot -proot version
Warning: Using a password on the command line interface can be insecure.
mysqladmin Ver 8.42 Distrib 5.6.16, for Linux on x86_64
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.6.16
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 1 day 6 hours 26 min 58 sec
Threads: 1 Questions: 35 Slow queries: 0 Opens: 67 Flush tables: 1 Open tables: 60 Queries per second avg: 0.000
2、下载 mysql 和 sphinx
mysql:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gz
sphinx:http://sphinxsearch.com/downloads/release/ 进去后下载:
Sphinx 2.1.7-release (r4638; Mar 30, 2014)
Source tarball (tar.gz)
2.1.7-release
2.3M
Download
注意:mysql 源码包的版本一定要与当前运行的 mysql 版本一致!
解压
# tar -xzvf mysql-5.6.16.tar.gz
# tar -xzvf sphinx-2.1.7-release.tar.gz
3、将 sphinx-2.1.7-release 下的 mysqlse 目录复制到 mysql 目录中
#cp -r sphinx-2.1.7-release/mysqlse/ mysql-5.6.16/storage/sphinx
build
# cd mysql-5.6.16
# sh BUILD/autorun.sh
#./configure(此步可以需要 yum 一些依赖的软件包,否则会有错误或警告)
# make
注意:这里到 make 这步即可,不用 install
4、将 make 好的文件复制到当前运行的 mysql 目录中
[root@localhost sphinx]# pwd
/u/opt/mysql-5.6.16/storage/sphinx
cp ha_sphinx.so /usr/lib64/mysql/plugin/
更改所有者(这边试不改也可以)
# chown mysql.mysql /usr/lib64/mysql/plugin/*
注:我当前运行的 mysql 目录在 /usr/local/mysql
5、登陆 mysql 加载 sphinx 引擎模块
mysql show engines;
+——————–+———+—————————————————————-+————–+——+————+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+——————–+———+—————————————————————-+————–+——+————+
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| CSV | YES | CSV storage engine | 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 |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
+——————–+———+—————————————————————-+————–+——+————+
9 rows in set (0.01 sec)
mysql INSTALL PLUGIN sphinx SONAME ha_sphinx.so
ERROR 1126 (HY000): Can t open shared library /usr/lib64/mysql/plugin/ha_sphinx.so (errno: 2 /usr/lib64/mysql/plugin/ha_sphinx.so: cannot open shared object file: No such file or directory)
这里 ERROR 发现第一次是 ha_sphinx.so 位置拷错了,拷正确后:
mysql INSTALL PLUGIN sphinx SONAME ha_sphinx.so
Query OK, 0 rows affected (0.05 sec)
mysql show engines;
+——————–+———+—————————————————————-+————–+——+————+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+——————–+———+—————————————————————-+————–+——+————+
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| CSV | YES | CSV storage engine | 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 |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| SPHINX | YES | Sphinx storage engine 2.1.7-release | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
+——————–+———+—————————————————————-+————–+——+————+
10 rows in set (0.00 sec)
mysql
安装完成!如果要卸载存储模块使用
mysql UNINSTALL PLUGIN sphinx;
安装好后, 过了几天:
mysql show engines;
+——————–+———+—————————————————————-+————–+——+————+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+——————–+———+—————————————————————-+————–+——+————+
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| CSV | YES | CSV storage engine | 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 |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
+——————–+———+—————————————————————-+————–+——+————+
9 rows in set (0.00 sec)
mysql
不知道为什么找不到 SPHINX 引擎
只有重新安装一遍看, 于是参考网上的:
mysql INSTALL PLUGIN sphinx SONAME ha_sphinx.so
ERROR 1062 (23000): Duplicate entry sphinx for key PRIMARY
mysql
mysql UNINSTALL PLUGIN sphinx;
ERROR 1305 (42000): PLUGIN sphinx does not exist
mysql
mysql
mysql select * from mysql.plugin;
+——–+————–+
| name | dl |
+——–+————–+
| sphinx | ha_sphinx.so |
+——–+————–+
1 row in set (0.00 sec)
mysql UNINSTALL PLUGIN sphinx;
ERROR 1305 (42000): PLUGIN sphinx does not exist
mysql
mysql
mysql select * from mysql.plugin;
+——–+————–+
| name | dl |
+——–+————–+
| sphinx | ha_sphinx.so |
+——–+————–+
1 row in set (0.00 sec)
mysql
mysql delete from mysql.plugin where name= SPHINX
Query OK, 1 row affected (0.02 sec)
mysql
mysql
mysql select * from mysql.plugin;
Empty set (0.00 sec)
mysql install plugin SPHINX soname ha_sphinx.so
Query OK, 0 rows affected (0.00 sec)
mysql show engines;
+——————–+———+—————————————————————-+————–+——+————+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+——————–+———+—————————————————————-+————–+——+————+
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| CSV | YES | CSV storage engine | 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 |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| SPHINX | YES | Sphinx storage engine 2.1.7-release | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
+——————–+———+—————————————————————-+————–+——+————+
10 rows in set (0.00 sec)
mysql
在开始安装之前, 查检一下 mysql.plugin 表, 里边是不是留有老版本的 SPHINXSE 没有完全清理掉.
以上是“Mysql 如何在线安装其它引擎”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!