安装php5
直接在终端sudo apt-get install php5
安装memcache
直接在中终端sudo apt-get install php5-memcache php5-memcached memcached(是三个文件)
安装mysql
1.下载解压。(官网MySQL Community Server 5.5的包,我装的时候总缺一个文件,所以下的MySQL Community Server 5.1)
http://dev.mysql.com/downloads/mysql/5.1.html
文件名:Generic Linux (glibc 2.3) (x86, 32-bit), Compressed TAR
2.安装。(参考 http://dev.mysql.com/doc/refman/5.5/en/binary-installation.html )
安装命令顺序(涉及权限问题用sudo):
shell> groupadd mysql (建立一个账户用于mysql运行)
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz (解压安装包,文件名路径要换自己的)
shell> ln -s full-path-to-mysql-VERSION-OS mysql (连接成mysql文件夹)
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
# Next command is optional (可选的,建议设置,将配置文件拷贝到正确位置)
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql & (启动mysql命令)
# Next command is optional (可选的,建议设置,设置开机自动启动mysql)
shell> cd /etc/init.d
shell> cp /usr/local/mysql/suppor-files/mysql.server mysql
shell> chmod +x /etc/init.d/mysql
shell> cd /etc/rc2.d
ln -s /etc/init.d/mysql /etc/rc2.d/S20mysql (重启生效)
3.添加mysql初始密码。(参考 http://www.linuxidc.com/Linux/2008-02/11137.htm )
进入mysql,输入如下命令
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
4.修改mysql中汉字乱码问题。
可以使用mysql> show variables like 'char%';来查看数据库各个级别默认的字符集.可以使用set命令修改默认的字符集,但好像只是一次性的,也可以修改配置文件来修改字符集(永久的)
我的mysql配置文件目录在:/etc/my.conf下,用vim打开文件,在[client]与[mysqld]下都加入下面语句default-character-set=utf8(我设置的字符集为utf8),保存,重启mysql.
安装mysql其他参考: http://hi.baidu.com/cq188/blog/item/9a5febcdd6dc1b5d0eb34563.html
安装sphinx
1. 下载。
官网Sphinx 2.0.2-beta downloads ( http://sphinxsearch.com/downloads/beta/ )
2. 安装
命令顺序如下:(参考 http://blog.csdn.net/siren0203/article/details/6183832 )(有时需sudo)
(官网参考 http://sphinxsearch.com/docs/2.0.2/installing.html )
shell> tar xzvf sphinx-2.0.2-beta.tar.gz
shell> cd sphinx
shell>./configure [options]
(
[options] 有一些参数可以在配置的时候指定,主要如下:
--prefix, 指定sphinx 安装到系统的那个位置; 例如 --prefix=/usr/local/sphinx
--with-mysql, mysql的安装目录,指定如果自动侦查mysql的相关库文件失败后到哪个目录查找
--with-pgsql, 同上,只是用于pgsql的
完整的配置命令如下:shell>./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql
)
shell> make
shell> make install
3. 运行测试(官网参考 http://sphinxsearch.com/docs/2.0.2/quick-tour.html )
(参考 http://www.cnblogs.com/chenzehe/archive/2010/11/04/1869388.html )
shell>cd /usr/local/sphinx/etc
shell> cp sphinx.conf.dist sphinx.conf (将/sphinx/etc下面的 sphinx.conf.dist重命名为sphinx.conf(配置文件))
shell> vi sphinx.conf(修改sphinx.conf其中的配置,主要是修改你服务器上面的mysql的用户名、密码、使用的数据库(sock路径一般也需要修改,我的就修改了)等。修改的位置 是sphinx.conf的source src1下面几行)
shell> mysql –u root -p test < /usr/local/sphinx/etc/example.sql (导入sphinx准备的测试数据)
shell> cd /usr/local/sphinx/etc
shell> /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.16 /usr/lib/libmysqlclient.so.16
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2)
shell> cd /usr/local/sphinx/etc
shell> /usr/local/sphinx/bin/search test(命令是搜索测试,测试的关键词就是 test 了,如果成功的话,你应该看到搜到的结果,出现字串“index 'test1': query 'test ': returned 3 matches of 3 total in 0.000 sec”,后面跟的是结果表示成功了)
# Next command is optional (可选的)
shell> cd /usr/local/sphinx/etc
shell> /usr/local/sphinx/bin/searchd(启动了sphinx进程了,如果没什么错误,可以通过ps -aux|grep '3312' 找到sphinx进程了。成功测试)
安装MySQL-python
参考: (1)( http://blog.csdn.net/dqatsh/article/details/2418663 )
(2)( http://blog.csdn.net/houlaizhe221/article/details/5967197 )
(3)( http://blog.donews.com/maverick/archive/2006/06/20/922178.aspx )
前提:安装了mysql.(根据本文中安装mysql的方法,目录在/usr/local/mysql中)
1. 首先确认python的版本为2.3.4以上,如果不是需要升级python的版本
python -V 检查python版本
2. 下载 MySQL-python-1.2.2.tar.gz
地址 ( https://sourceforge.net/projects/mysql-python/ )
3. 安装 MySQl-python
shell> tar xvzf MySQL-python-1.2.2.tar.gz
shell> cd MySQL-python-1.2.2
shell>vi site.cfg
(在配置文件中把mysql_config = /usr/local/mysql/bin/mysql_config 这一行前的#去掉,并且把mysql_config的路径设置正确。 ( 注:这里很有可能会出现一个问题就是找不到mysql_config,原来我们用apt-get安装的mysql不是开发板,并没有包含mysql_config 我们需要安装libmysqld-dev:desktop:/usr/local/src$ sudo apt-get install libmysqld-dev然后可以找到mysql_config,我的路径为/etc/bin/mysql_config. ))
4、还要安装以下三个工具
shell>sudo apt-get install python-setuptools
shell> sudo apt-get install build-essential
shell>sudo apt-get install python-dev
5、安装mysql_python
desktop:/usr/local/src/MySQL-python-1.2.3c1$ sudo python setup.py build
desktop:/usr/local/src/MySQL-python-1.2.3c1$ sudo python setup.py install
安装结束
6. 测试
运行: python
import MySQLdb
如果没有报错,说明安装好了。
(比较诡异的是,有时即使安装完成,在python中执行import MySQLdb 仍然可能出错:libmysqlclient.so.12: cannot open shared object file: No such file or directory遇到这种问题,需要在/usr/lib/下为libmysqlclient.so.12设置一个符号链接(这里假设mysql安装在/usr/local/mysql下)ln -s /usr/lib/mysql/lib/libmysqlclient.so /usr/lib/libmysqlclient.so.12(这个文件因人而异) 再次执行 import MySQLdb 成功。)
安装php5-mysql(使php能连接到数据库)
1. 终端输入:shell>sudo apt-get install php5-mysql
(注意:执行这个命令会依赖安装两个文件mysql-common与libmysqlclient16.这样会将我们自己编译安装mysql时的配置文件覆盖掉或者替换等。我的方法是把/usr/local/mysql/support-files/my-medium.cnf替换掉/etc/mysql/my.cnf。并改名为my.cnf)
2.修改php的配置文件。
shell> cd /etc/php5/apache2/
shell> sudo vim php.ini (打开php配置文件)
修改[MySQL]字段下面:
mysql.default_socket = /tmp/mysql.sock(这是我的sock文件目录,编译安装的一般在这里)
修改[MySQLi]字段下面
mysqli.default_socket =/tmp/mysql.sock(这是我的sock文件目录,编译安装的一般在这里)
3.重启后应该就能连接到数据库了。
用编译源码安装mysql时最需注意的事情
提要:mysql.sock文件是mysql客户端与mysql服务器连接的套接字,它的路径错误很可能导致不能启动mysql。
因为源码编译安装的mysql的.sock文件在tmp目录下 路径为:/tmp/mysql.sock(只有你启动mysql的时候才会看到mysql.sock)
而系统默认的路径是:/var/run/mysqld/mysqld.sock
所以在用php或者是sphinx连接mysql时都可能要更改配置文件里.sock的路径!
比如sphinx中就可能要修改sphinx.conf来正确连接数据库。
直接在终端sudo apt-get install php5
安装memcache
直接在中终端sudo apt-get install php5-memcache php5-memcached memcached(是三个文件)
安装mysql
1.下载解压。(官网MySQL Community Server 5.5的包,我装的时候总缺一个文件,所以下的MySQL Community Server 5.1)
http://dev.mysql.com/downloads/mysql/5.1.html
文件名:Generic Linux (glibc 2.3) (x86, 32-bit), Compressed TAR
2.安装。(参考 http://dev.mysql.com/doc/refman/5.5/en/binary-installation.html )
安装命令顺序(涉及权限问题用sudo):
shell> groupadd mysql (建立一个账户用于mysql运行)
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz (解压安装包,文件名路径要换自己的)
shell> ln -s full-path-to-mysql-VERSION-OS mysql (连接成mysql文件夹)
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
# Next command is optional (可选的,建议设置,将配置文件拷贝到正确位置)
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql & (启动mysql命令)
# Next command is optional (可选的,建议设置,设置开机自动启动mysql)
shell> cd /etc/init.d
shell> cp /usr/local/mysql/suppor-files/mysql.server mysql
shell> chmod +x /etc/init.d/mysql
shell> cd /etc/rc2.d
ln -s /etc/init.d/mysql /etc/rc2.d/S20mysql (重启生效)
3.添加mysql初始密码。(参考 http://www.linuxidc.com/Linux/2008-02/11137.htm )
进入mysql,输入如下命令
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
4.修改mysql中汉字乱码问题。
可以使用mysql> show variables like 'char%';来查看数据库各个级别默认的字符集.可以使用set命令修改默认的字符集,但好像只是一次性的,也可以修改配置文件来修改字符集(永久的)
我的mysql配置文件目录在:/etc/my.conf下,用vim打开文件,在[client]与[mysqld]下都加入下面语句default-character-set=utf8(我设置的字符集为utf8),保存,重启mysql.
安装mysql其他参考: http://hi.baidu.com/cq188/blog/item/9a5febcdd6dc1b5d0eb34563.html
安装sphinx
1. 下载。
官网Sphinx 2.0.2-beta downloads ( http://sphinxsearch.com/downloads/beta/ )
2. 安装
命令顺序如下:(参考 http://blog.csdn.net/siren0203/article/details/6183832 )(有时需sudo)
(官网参考 http://sphinxsearch.com/docs/2.0.2/installing.html )
shell> tar xzvf sphinx-2.0.2-beta.tar.gz
shell> cd sphinx
shell>./configure [options]
(
[options] 有一些参数可以在配置的时候指定,主要如下:
--prefix, 指定sphinx 安装到系统的那个位置; 例如 --prefix=/usr/local/sphinx
--with-mysql, mysql的安装目录,指定如果自动侦查mysql的相关库文件失败后到哪个目录查找
--with-pgsql, 同上,只是用于pgsql的
完整的配置命令如下:shell>./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql
)
shell> make
shell> make install
3. 运行测试(官网参考 http://sphinxsearch.com/docs/2.0.2/quick-tour.html )
(参考 http://www.cnblogs.com/chenzehe/archive/2010/11/04/1869388.html )
shell>cd /usr/local/sphinx/etc
shell> cp sphinx.conf.dist sphinx.conf (将/sphinx/etc下面的 sphinx.conf.dist重命名为sphinx.conf(配置文件))
shell> vi sphinx.conf(修改sphinx.conf其中的配置,主要是修改你服务器上面的mysql的用户名、密码、使用的数据库(sock路径一般也需要修改,我的就修改了)等。修改的位置 是sphinx.conf的source src1下面几行)
shell> mysql –u root -p test < /usr/local/sphinx/etc/example.sql (导入sphinx准备的测试数据)
shell> cd /usr/local/sphinx/etc
shell> /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.16 /usr/lib/libmysqlclient.so.16
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2)
shell> cd /usr/local/sphinx/etc
shell> /usr/local/sphinx/bin/search test(命令是搜索测试,测试的关键词就是 test 了,如果成功的话,你应该看到搜到的结果,出现字串“index 'test1': query 'test ': returned 3 matches of 3 total in 0.000 sec”,后面跟的是结果表示成功了)
# Next command is optional (可选的)
shell> cd /usr/local/sphinx/etc
shell> /usr/local/sphinx/bin/searchd(启动了sphinx进程了,如果没什么错误,可以通过ps -aux|grep '3312' 找到sphinx进程了。成功测试)
安装MySQL-python
参考: (1)( http://blog.csdn.net/dqatsh/article/details/2418663 )
(2)( http://blog.csdn.net/houlaizhe221/article/details/5967197 )
(3)( http://blog.donews.com/maverick/archive/2006/06/20/922178.aspx )
前提:安装了mysql.(根据本文中安装mysql的方法,目录在/usr/local/mysql中)
1. 首先确认python的版本为2.3.4以上,如果不是需要升级python的版本
python -V 检查python版本
2. 下载 MySQL-python-1.2.2.tar.gz
地址 ( https://sourceforge.net/projects/mysql-python/ )
3. 安装 MySQl-python
shell> tar xvzf MySQL-python-1.2.2.tar.gz
shell> cd MySQL-python-1.2.2
shell>vi site.cfg
(在配置文件中把mysql_config = /usr/local/mysql/bin/mysql_config 这一行前的#去掉,并且把mysql_config的路径设置正确。 ( 注:这里很有可能会出现一个问题就是找不到mysql_config,原来我们用apt-get安装的mysql不是开发板,并没有包含mysql_config 我们需要安装libmysqld-dev:desktop:/usr/local/src$ sudo apt-get install libmysqld-dev然后可以找到mysql_config,我的路径为/etc/bin/mysql_config. ))
4、还要安装以下三个工具
shell>sudo apt-get install python-setuptools
shell> sudo apt-get install build-essential
shell>sudo apt-get install python-dev
5、安装mysql_python
desktop:/usr/local/src/MySQL-python-1.2.3c1$ sudo python setup.py build
desktop:/usr/local/src/MySQL-python-1.2.3c1$ sudo python setup.py install
安装结束
6. 测试
运行: python
import MySQLdb
如果没有报错,说明安装好了。
(比较诡异的是,有时即使安装完成,在python中执行import MySQLdb 仍然可能出错:libmysqlclient.so.12: cannot open shared object file: No such file or directory遇到这种问题,需要在/usr/lib/下为libmysqlclient.so.12设置一个符号链接(这里假设mysql安装在/usr/local/mysql下)ln -s /usr/lib/mysql/lib/libmysqlclient.so /usr/lib/libmysqlclient.so.12(这个文件因人而异) 再次执行 import MySQLdb 成功。)
安装php5-mysql(使php能连接到数据库)
1. 终端输入:shell>sudo apt-get install php5-mysql
(注意:执行这个命令会依赖安装两个文件mysql-common与libmysqlclient16.这样会将我们自己编译安装mysql时的配置文件覆盖掉或者替换等。我的方法是把/usr/local/mysql/support-files/my-medium.cnf替换掉/etc/mysql/my.cnf。并改名为my.cnf)
2.修改php的配置文件。
shell> cd /etc/php5/apache2/
shell> sudo vim php.ini (打开php配置文件)
修改[MySQL]字段下面:
mysql.default_socket = /tmp/mysql.sock(这是我的sock文件目录,编译安装的一般在这里)
修改[MySQLi]字段下面
mysqli.default_socket =/tmp/mysql.sock(这是我的sock文件目录,编译安装的一般在这里)
3.重启后应该就能连接到数据库了。
用编译源码安装mysql时最需注意的事情
提要:mysql.sock文件是mysql客户端与mysql服务器连接的套接字,它的路径错误很可能导致不能启动mysql。
因为源码编译安装的mysql的.sock文件在tmp目录下 路径为:/tmp/mysql.sock(只有你启动mysql的时候才会看到mysql.sock)
而系统默认的路径是:/var/run/mysqld/mysqld.sock
所以在用php或者是sphinx连接mysql时都可能要更改配置文件里.sock的路径!
比如sphinx中就可能要修改sphinx.conf来正确连接数据库。