데이터 베이스 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

전체 텍스트 검색을 위해 PHP 확장 Sphinx를 사용하는 방법 전체 텍스트 검색을 위해 PHP 확장 Sphinx를 사용하는 방법 Jul 29, 2023 am 10:05 AM

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

전체 텍스트 검색을 구현하기 위한 Sphinx PHP 애플리케이션 가이드 전체 텍스트 검색을 구현하기 위한 Sphinx PHP 애플리케이션 가이드 Oct 03, 2023 am 08:37 AM

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

자연어 처리 분야의 Sphinx PHP 응용 기술 자연어 처리 분야의 Sphinx PHP 응용 기술 Oct 03, 2023 am 09:53 AM

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

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 08:49 AM

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

Sphinx는 PHP 프로젝트에 대한 빠른 검색 및 캐시 최적화를 구현합니다. Sphinx는 PHP 프로젝트에 대한 빠른 검색 및 캐시 최적화를 구현합니다. Oct 03, 2023 am 09:01 AM

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

Sphinx 고가용성 검색의 PHP 구현 방법 연구 Sphinx 고가용성 검색의 PHP 구현 방법 연구 Oct 03, 2023 am 09:41 AM

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

Sphinx PHP로 다국어 검색 및 번역을 수행하는 방법 Sphinx PHP로 다국어 검색 및 번역을 수행하는 방법 Oct 03, 2023 am 08:37 AM

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

See all articles