Linux下MySQL 5.5的Cmake安装以及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进程了。哈哈,大功告成!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











전체 텍스트 검색을 위해 PHP 확장 Sphinx를 사용하는 방법 전체 텍스트 검색은 최신 웹 애플리케이션의 일반적인 요구 사항 중 하나입니다. 사용자의 효율적인 데이터 조회 및 검색을 만족시키기 위해 강력한 오픈소스 검색 엔진인 Sphinx를 사용하여 전체 텍스트 검색 기능을 구현할 수 있습니다. Sphinx는 C++로 작성되었으며 PHP 프로젝트에서 쉽게 사용할 수 있도록 PHP 확장을 제공합니다. 이 기사에서는 전체 텍스트 검색을 위해 PHP 확장 Sphinx를 사용하는 방법을 소개합니다.

전체 텍스트 검색 구현을 위한 Sphinx PHP 애플리케이션 가이드 소개: 최신 웹 애플리케이션에서 전체 텍스트 검색 기능은 필수 기능이 되었습니다. 사용자들이 키워드를 입력해 필요한 콘텐츠를 검색하고 매칭하는 경우가 많기 때문입니다. 효율적이고 정확한 검색 결과를 제공하기 위해서는 강력한 검색 엔진이 필요합니다. 오픈 소스 전체 텍스트 검색 엔진인 Sphinx는 PHP를 위한 완벽한 검색 솔루션을 제공합니다. 이 기사에서는 Sphinx를 사용하여 구현하는 방법을 소개합니다.

자연어 처리 분야의 SphinxPHP 응용 기술에는 특정 코드 예제가 필요합니다. 인터넷의 발달과 인공 지능 기술의 발전으로 자연어 처리(Natural Language Process, NLP)는 컴퓨터 과학의 중요한 연구 방향이 되었습니다. 자연어 처리의 목표는 컴퓨터가 자연어를 이해하고 해석하고 생성할 수 있도록 하여 인간과 기계 간의 의사소통을 보다 편리하고 지능적으로 만드는 것입니다. 자연어 처리에서 텍스트 검색은 매우 중요합니다.

Sphinx는 대규모 데이터의 검색과 조회를 빠르고 효율적으로 구현할 수 있는 오픈소스 전문 검색 엔진입니다. PHP 프로젝트에서 Sphinx를 사용하면 실시간 검색 효과를 얻고 사용자 경험과 검색 속도를 향상시킬 수 있습니다. 이 기사에서는 PHP 프로젝트에서 Sphinx를 사용하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. Sphinx 설치 PHP 프로젝트에서 실시간 검색 효과를 얻으려면 먼저 Sphinx를 설치해야 합니다. 스핑크스 공식 홈페이지에서 확인 가능

Sphinx 분산 검색의 PHP 구현 방법 분석 서론: 오늘날 인터넷 시대에 검색 엔진은 사람들이 정보를 얻는 주요 방법 중 하나가 되었습니다. 보다 효율적이고 정확한 검색 결과를 제공하기 위해 일부 대규모 웹사이트나 애플리케이션에서는 일반적으로 분산 검색 엔진을 사용하여 검색 요청을 처리합니다. Sphinx는 우수한 성능과 확장성을 갖춘 잘 알려진 분산 검색 엔진입니다. 이 기사에서는 PHP를 사용하여 Sphinx 분산 검색을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

Sphinx는 대용량 데이터를 빠르게 처리하고 효율적인 검색 기능을 제공하는 오픈소스 전문 검색 엔진입니다. PHP 프로젝트에서 Sphinx를 사용하면 빠른 검색 및 캐시 최적화를 달성하여 프로젝트 성능과 사용자 경험을 향상시킬 수 있습니다. 이 기사에서는 PHP 프로젝트에 Sphinx를 통합하는 방법을 소개하고 특정 코드 예제를 통해 Sphinx의 사용법과 이점을 설명합니다. 1. Sphinx 설치 및 구성 Sphinx를 사용하려면 먼저 서버에 Sphinx를 설치하고 구성해야 합니다.

Sphinx 고가용성 검색의 PHP 구현 방법에 대한 연구 소개: Sphinx는 빠르고 정확하며 확장 가능한 검색 솔루션을 제공하는 오픈 소스 전체 텍스트 검색 엔진입니다. Sphinx를 PHP 웹사이트에 통합하면 가용성이 높은 검색 기능을 얻을 수 있습니다. 이 기사에서는 Sphinx가 PHP에서 어떻게 구현되는지 살펴보고 구체적인 코드 예제를 제공합니다. 1. Sphinx 소개 Sphinx는 C++로 개발된 전체 텍스트 검색 엔진으로 빠르고 빠른 검색에 중점을 둡니다.

SphinxPHP가 다국어 검색 및 번역을 수행하려면 특정 코드 예제가 필요합니다. 세계화가 진행됨에 따라 웹 사이트 개발에서 다국어 검색 및 번역이 점점 더 보편화되고 있습니다. Sphinx는 강력하고 효율적인 검색 기능을 제공하는 오픈 소스 전체 텍스트 검색 엔진입니다. 다국어 검색 및 번역을 위해 Sphinx를 PHP 언어와 함께 사용하는 경우 Sphinx의 다국어 지원 및 PHP의 문자열 처리 기능을 사용하여 이 기능을 구현할 수 있습니다. 이번 글에서는 스핑크스 사용법을 소개하겠습니다.
