来一发centos下MySQL 5.5的Cmake装置和Sphinx整合
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!起首必要增加mysql用户组和mysql用户groupaddmysql
useradd-gmysqlmysql
passwd-umysql
1.装置必要的软件包
yuminstallgccgcc-c++libtoolautoconfautomakeimakelibxml2-develexpat-devel
yuminstallncurses-develmake
yuminstallmake
yuminstallcmakebison
2.下载mysql源码包后解压到指定目次
mkdir/data/
cd/data/#把装置包放进到这个文件夹
tar-zxvfmysql-5.5.17.tar.gz
3.进进解压后的源码包
cdmysql-5.5.17
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.makeinstall
7.设置文件
cpsupport-files/my-medium.cnf/etc/my.cnf
cpsupport-files/mysql.server/etc/init.d/mysqld
chmod755/etc/init.d/mysqld
8.初始化数据库
假如呈现这个毛病Fatalerror:Cantopenandlockprivilegetables:Tablemysql.hostdoesntexist
是由于没有指定命据文件地位.
./scripts/mysql_install_db--user=mysql--basedir=/usr/local/mysql/--datadir=/var/tmp/mysql/&
9.受权
chown-Rmysql:mysql/usr/local/mysql/
chown-Rmysql:mysql/var/tmp/mysql/
10.启动数据库
servicemysqldstart
11.设置到情况变量
vi/etc/profile
exportPATH="$PATH:/usr/local/mysql/bin"
/usr/local/mysql/bin/mysqladmin-urootpasswordnew-password
/usr/local/mysql/bin/mysqladmin-uroot-hnamenodepasswordnew-password
12.mysql到此基础告一段落,感谢人人
1.
解压sphinx源码包:
$tarxzvfsphinx-0.9.9.tar.gz
$cdsphinx
2.
运转configure设置步伐:
$./configure
有一些参数能够在设置的时分指定,次要以下:
*–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
在这个步调,大概碰到一个成绩,就是报sphinxundefinedreferenceto‘libiconv’的毛病,办理举措是修正/src/MakeFile(注意是src下的Makefile不是csft下的Makefile),编纂LIBS=-lm-lexpat前面增加-liconv,行将该行该为:
LIBS=-lm-lexpat-liconv-L/usr/local/lib
4.装置
$makeinstall
假如编译中没有发生毛病,这个步调应当不会碰到成绩。假如完成后未准确装置,就要归去找make过程当中碰到的毛病了。
5.运转测试
$cd/usr/local/sphinx/etc
$cpsphinx.conf.distsphinx.conf
$visphinx.conf
这里,sphinx供应了一个复杂的例子,基础步调是先将/sphinx/etc上面的sphinx.conf.dist重定名为sphinx.conf,然后修正sphinx.conf个中的设置,次要是修正你办事器下面的mysql的用户名、暗码、利用的数据库等。修正的地位是sphinx.conf的sourcesrc1上面几行。
$mysql-utest</usr/local/sphinx/etc/example.sql
这里是导进sphinx筹办的测试数据,我们把数据导进到mysql的test数据库中。固然,这里的数据库要和你下面的设置文件(sphinx.conf)中指定的sql_db值不异。注重,运转这个下令的话,假如你的mysql下令没有到场到情况变量中,就必要用完全路径,同时大概必要输出暗码。好比你的mysql装置在/usr/local/mysql目次中,root账户的暗码是******,那末下令应当调剂为:
$/usr/local/mysql/bin/mysql-uroot-p******test</usr/local/sphinx/etc/example.sql
$cd/usr/local/sphinx/etc
$/usr/local/sphinx/bin/indexer--all
毛病:
/usr/local/sphinx/bin/indexer:errorwhileloadingsharedlibraries:libmysqlclient.so.18:cannotopensharedobjectfile:Nosuchfileordirectory
echo"/usr/local/mysql/lib/">>/etc/ld.so.conf
ldconfig
这个下令是创建索引,固然数据基本是方才导进的example.sql的数据,假如这里堕落,最年夜的多是你的sphinx.conf中的数据库设置错了,你必要归去反省并修改。可是,另有大概呈现sphinx必需的库文件没法找到,比方呈现以下两种毛病:
/usr/local/sphinx/bin/indexer:errorwhileloadingsharedlibraries:libmysqlclient.so.15:cannotopensharedobjectfile:Nosuchfileordirectory
/usr/local/sphinx/bin/indexer:errorwhileloadingsharedlibraries:libiconv.so.2:cannotopensharedobjectfile:Nosuchfileordirectory
这次要是由于你装置了一些库后,没有可以设置响应的情况变量。你能够经由过程创建毗连的体例修改这个成绩,运转以下下令:
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/***目次下,假如你不是装置在响应目次下,你就必要利用你本人的路径。假如你没有装置libiconv软件包,则必要装置下,这个装置对照复杂,就未几说了。
假如还呈现相似毛病,照下面的***修改。
$cd/usr/local/sphinx/etc
$/usr/local/sphinx/bin/searchtest
下面的下令是搜刮测试,测试的关头词就是test了,假如乐成的话,你应当看到搜到的了局,呈现字串“index‘test1′:query‘test‘:returned3matchesof3totalin0.000sec”,前面跟的是了局暗示乐成了。
$cd/usr/local/sphinx/etc
$/usr/local/sphinx/bin/searchd
运转下面的下令,你就启动了sphinx历程了,假如没甚么毛病,能够经由过程ps-aux|grep‘3312′找到sphinx历程了。哈哈,半途而废!
欢迎大家来到仓酷云论坛!
来一发centos下MySQL 5.5的Cmake装置和Sphinx整合
发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。 下面看看一个让人无法回答的问题:“救命各位高手,向你们请教一些问题:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail服务器,谢谢”这样的问题。 Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。 Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。? 这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。? 安装一个新的软件时先看README,再看INSTALL然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果Linux说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。 选择交流平台,如QQ群,网站论坛等。 感谢老师和同学们在学习上对我的帮助。 通过自学老师给的资料和向同学请教,掌握了一些基本的操作,比如挂载优盘,编译程序,在Linux环境下运行,转换目录等等。学了这些基础才能进行下面的模拟OS程序。?
页:
[1]