ホームページ データベース mysql チュートリアル Linux下MySQL 5.5的Cmake安装以及Sphinx结合

Linux下MySQL 5.5的Cmake安装以及Sphinx结合

Jun 07, 2016 pm 05:04 PM
sphinx

Linux下MySQL 5.5的Cmake安装以及Sphinx结合

首先需要添加mysql用户组和mysql用户
   groupadd mysql
   useradd -g mysql mysql
   passwd -u mysql

1. 安装需要的软件包
   yum install gcc gcc-c++ libtool autoconf automake imake libxml2-devel expat-devel
   yum install ncurses-devel make
   yum install make
   yum install cmake bison
  

2. 下载mysql源码包后解压到指定目录
    mkdir /data/
    cd /data/ #把安装包放入到这个文件夹
    tar -zxvf mysql-5.5.14.tar.gz

3. 进入解压后的源码包
   cd mysql-5.5.14

4. cmake进行编译(首先要创建数据文件夹和安装文件夹, 如果路径不存在)
   cmake . \
   -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
   -DMYSQL_DATADIR=/var/tmp/mysql/ \
   -DMYSQL_UNIX_ADDR=/var/tmp/mysql/mysqld.sock \
   -DDEFAULT_CHARSET=utf8 \
   -DEXTRA_CHARSETS=all \
   -DDEFAULT_COLLATION=utf8_general_ci \
   -DWITH_MYISAM_STORAGE_ENGINE=1 \
   -DWITH_SPHINX_STORAGE_ENGINE=1 \
   -DWITH_INNOBASE_STORAGE_ENGINE=1 \
   -DWITH_MEMORY_STORAGE_ENGINE=1 \
   -DWITH_READLINE=1 \
   -DENABLED_LOCAL_INFILE=1 \
   -DMYSQL_USER=mysql

5. make

6. make install

7. 配置文件
   cp support-files/my-medium.cnf /etc/my.cnf
   cp support-files/mysql.server /etc/init.d/mysqld
   chmod 755 /etc/init.d/mysqld

8. 初始化数据库
   如果出现这个错误[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
   是因为没有指定数据文件位置.
   ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/var/tmp/mysql/ &

9. 授权
   chown -R mysql:mysql /usr/local/mysql/
   chown -R mysql:mysql /var/tmp/mysql/

10. 启动数据库
   service mysqld start

11. 设置到环境变量
   vi /etc/profile
   export PATH="$PATH:/usr/local/mysql/bin"
  
/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h namenode password 'new-password'


12. mysql到此基本告一段落, 谢谢大家

[root@db001 lib]# /usr/local/sphinx/bin/indexer -all
/usr/local/sphinx/bin/indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory


echo "/usr/local/mysql/lib/" >> /etc/ld.so.conf
ldconfig

1.

解压sphinx源码包:

$ tar xzvf sphinx-0.9.8.1.tar.gz
$ cd sphinx

2.

运行configure配置程序:

$ ./configure [options]

有一些参数可以在配置的时候指定,主要如下:
* –prefix, 指定sphinx 安装到系统的那个位置; 例如 –prefix=/usr/local/sphinx
* –with-mysql, mysql的安装目录,指定如果自动侦查mysql的相关库文件失败后到哪个目录查找
* –with-pgsql, 同上,只是用于pgsql的
完整的配置命令如下:./configure –prefix=/usr/local/sphinx –with-mysql=/usr/local/mysql
3. 编译:

$ make

在这个步骤,可能遇到一个问题,就是报 sphinx undefined reference to ‘libiconv’ 的错误,解决办法是修改 /src/MakeFile(注 意是src下的Makefile不是csft下的Makefile),编辑LIBS = -lm -lexpat 后面添加-liconv,即将该行该为:
LIBS = -lm -lexpat -liconv -L/usr/local/lib

4. 安装

$ make install

如果编译中没有产生错误,这个步骤应该不会遇到问题。如果完成后未正确安装,就要回去找make过程中遇到的错误了。

5. 运行测试

$ cd /usr/local/sphinx/etc
$ cp sphinx.conf.dist sphinx.conf
$ vi sphinx.conf

这里,sphinx提供了一个简单的例子,基本步骤是先将/sphinx/etc下面的 sphinx.conf.dist重命名为sphinx.conf,然后修改sphinx.conf其中的配置,主要是修改你服务器上面的mysql的用户名、密码、使用的数据库等。修改的位置是sphinx.conf的source src1下面几行。

$ mysql -u test

这里是导入sphinx准备的测试数据,我们把数据导入到mysql的test数据库中。当然,这里的数据库要和你上面的配置文件(sphinx.conf)中指定的sql_db值相同。注意,运行这个命令的话,如果你的mysql命令没有加入到环境变量中,就需要用完整路径,同时可能需要输入密码。比如你的mysql安装在 /usr/local/mysql 目录中,root账户的密码是 xxxxxx ,那么命令应该调整为:
$ /usr/local/mysql/bin/mysql -uroot -pxxxxxx test

$ cd /usr/local/sphinx/etc
$ /usr/local/sphinx/bin/indexer –all

这个命令是建立索引,,当然数据基础是刚刚导入的 example.sql的数据,如果这里出错,最大的可能是你的sphinx.conf中的数据库配置错了,你需要回去检查并修正。但是,还有可能出现 sphinx必须的库文件无法找到,例如出现以下两种错误:
/usr/local/sphinx/bin/indexer: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory
/usr/local/sphinx/bin/indexer: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
这主要是因为你安装了一些库后,没有能够配置相应的环境变量。你可以通过建立连接的方式修正这个问题,运行如下命令:
ln -s /usr/local/mysql/lib/libmysqlclient.so.15 /usr/lib/libmysqlclient.so.15
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
这里我假设你相应的软件包安装在/usr/local/xxx 目录下,如果你不是安装在相应目录下,你就需要使用你自己的路径。如果你没有安装libiconv软件包,则需要安装下,这个安装比较简单,就不多说了。
如果还出现类似错误,照上面的方法修正。

$ cd /usr/local/sphinx/etc
$ /usr/local/sphinx/bin/search test

上面的命令是搜索测试,测试的关键词就是 test 了,如果成功的话,你应该看到搜到的结果,出现字串“index ‘test1′: query ‘test ‘: returned 3 matches of 3 total in 0.000 sec”,后面跟的是结果表示成功了。

$ cd /usr/local/sphinx/etc
$ /usr/local/sphinx/bin/searchd

运行上面的命令,你就启动了sphinx进程了,如果没什么错误,可以通过ps -aux|grep ‘3312′ 找到sphinx进程了。哈哈,大功告成!

linux

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

全文検索にPHP拡張機能Sphinxを使用する方法 全文検索にPHP拡張機能Sphinxを使用する方法 Jul 29, 2023 am 10:05 AM

全文検索に PHP 拡張機能 Sphinx を使用する方法 全文検索は、最新の Web アプリケーションにおける一般的な要件の 1 つです。ユーザーの効率的なクエリとデータの取得を満たすために、強力なオープンソース検索エンジンである Sphinx を使用して全文検索機能を実装できます。 Sphinx は C++ で書かれており、PHP プロジェクトでの使用を容易にする PHP 拡張機能を提供します。この記事では、PHP拡張機能Sphinxを使って全文検索を行う方法を紹介します。

全文検索を実装するための Sphinx PHP アプリケーション ガイド 全文検索を実装するための Sphinx PHP アプリケーション ガイド Oct 03, 2023 am 08:37 AM

Sphinx を使用して全文検索を実装するための PHP アプリケーション ガイドの紹介: 最新の Web アプリケーションでは、全文検索機能が不可欠な機能になっています。ユーザーはキーワードを入力して必要なコンテンツを検索して一致させることが多いためです。効率的かつ正確な検索結果を提供するには、強力な検索エンジンが必要です。オープンソースの全文検索エンジンとして、Sphinx は PHP に最適な検索ソリューションを提供します。この記事ではSphinxを使って実装する方法を紹介します。

Sphinx は PHP プロジェクトのリアルタイム検索効果を実装します Sphinx は PHP プロジェクトのリアルタイム検索効果を実装します Oct 03, 2023 am 09:16 AM

Sphinx は、大規模なデータの検索と取得を迅速かつ効率的に実現できるオープンソースの全文検索エンジンです。 PHP プロジェクトでは、Sphinx を使用すると、リアルタイムの検索効果が得られ、ユーザー エクスペリエンスと検索速度が向上します。この記事では、PHP プロジェクトで Sphinx を使用する方法を紹介し、具体的なコード例を示します。 1. Sphinx のインストール PHP プロジェクトでリアルタイム検索効果を実現するには、まず Sphinx をインストールする必要があります。スフィンクスの公式ウェブサイトで見つけることができます

Sphinx PHP アプリケーションの自然言語処理スキル Sphinx PHP アプリケーションの自然言語処理スキル Oct 03, 2023 am 09:53 AM

自然言語処理における SphinxPHP アプリケーション スキルには、特定のコード サンプルが必要です。インターネットの発展と人工知能技術の進歩に伴い、自然言語処理 (自然言語処理、NLP) はコンピューター サイエンスにおける重要な研究方向となっています。自然言語処理の目標は、コンピューターが自然言語を理解し、解釈し、生成できるようにして、人間と機械の間のコミュニケーションをより便利でインテリジェントなものにすることです。自然言語処理において、テキスト検索は非常に重要です。

Sphinx分散検索のPHP実装方法の分析 Sphinx分散検索のPHP実装方法の分析 Oct 03, 2023 am 08:49 AM

Sphinx 分散検索の PHP 実装方法の分析 はじめに: 今日のインターネット時代において、検索エンジンは人々が情報を入手する主な方法の 1 つとなっています。より効率的で正確な検索結果を提供するために、一部の大規模な Web サイトやアプリケーションでは通常、分散検索エンジンを使用して検索リクエストを処理します。 Sphinx は、優れたパフォーマンスとスケーラビリティを備えたよく知られた分散型検索エンジンです。この記事では、PHP を使用して Sphinx 分散検索を実装する方法を紹介し、具体的なコード例を示します。

Sphinx は、PHP プロジェクトの高速検索とキャッシュの最適化を実装します。 Sphinx は、PHP プロジェクトの高速検索とキャッシュの最適化を実装します。 Oct 03, 2023 am 09:01 AM

Sphinx は、大量のデータを迅速に処理し、効率的な検索機能を提供するオープン ソースの全文検索エンジンです。 PHP プロジェクトで Sphinx を使用すると、高速な検索とキャッシュの最適化が実現し、プロジェクトのパフォーマンスとユーザー エクスペリエンスが向上します。この記事では、Sphinx を PHP プロジェクトに統合する方法を紹介し、具体的なコード例を通じてその使用法と利点を説明します。 1. Sphinx のインストールと設定 Sphinx を使用するには、まずサーバーに Sphinx をインストールして設定する必要があります。

Sphinx高可用性検索のPHP実装手法に関する研究 Sphinx高可用性検索のPHP実装手法に関する研究 Oct 03, 2023 am 09:41 AM

Sphinx 高可用性検索の PHP 実装方法に関する研究紹介: Sphinx は、高速、正確、スケーラブルな検索ソリューションを提供するオープンソースの全文検索エンジンです。 Sphinx を PHP Web サイトに統合すると、可用性の高い検索機能を実現できます。この記事では、PHP で Sphinx を実装する方法を検討し、具体的なコード例を示します。 1. Sphinx の概要 Sphinx は、C++ で開発された全文検索エンジンです。

PHP 言語検索の最適化に対する Sphinx の実践的なアプローチ PHP 言語検索の最適化に対する Sphinx の実践的なアプローチ Oct 03, 2023 am 09:24 AM

PHP 言語検索の最適化に対する Sphinx の実践的なアプローチには、特定のコード サンプルが必要です。 概要: Sphinx は、Web アプリケーションに効率的な検索機能を実装するために使用できる強力なオープン ソースの検索エンジン ツールです。この記事では、PHP 言語検索の最適化に Sphinx を使用する方法を紹介し、詳細なコード例を示します。はじめに: インターネットの急速な発展に伴い、検索機能に対するユーザーの需要も高まっています。大規模データの効率的な検索と検索結果の精度、

See all articles