文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>用源码包安装php-4.34+mysql-4.0.16+apache-2.0...

用源码包安装php-4.34+mysql-4.0.16+apache-2.0...

时间:2006-02-28  来源:weldom

声明:转帖时必须加注来源于 http://www.linuxsir.org 以及作者在LinuxSir 的ID;以及保留此声明;

虽然本人深知这篇文章是小儿科,但LinuxSir的弟兄写大多数文章,被没有加注版权的信息转到别的站上,有些事说也说不清楚;

有的弟兄把LinuxSir原创文件转到别的站上,没有加任何声明之类的;而别的弟兄又把这些本来是来源 LinuxSir 的作品又从别的站上转回来;当然这次是加注来源了:( 而此文章的来源的网站的负责人竟然找上门来,说是他们原创的。说来说去,真是欲哭无泪!

所以还是把来源加上为好

多谢

北南 呈上

==============================================================
本帖中可能会存在很多的错误,比如专有名词的译法等,请您指正,多谢!

北南 呈上
==============================================================

操作环境:

Fedora 1.0 core ,本文是讲如何用源码包安装php4.34+mysql4.0.16+apache-2.0.48,这些版本,目前都是最新最稳定的版本;本文只要是讲最简单的安装操作;也就是说让一个新手,能建一个支持由apache 来运行的简单的网站,并支持php和mysql ;

一点说明:

对于高手来说,可能这都是小儿科,所以这篇文章,对于高手来说,没有一点价值。因为对apache熟悉一点的情况下,我们更多的关心扩展功能,比如对asp jsp的支持等。

如果您是初学linux,或者是没有成功编译过apache+mysql+php的安装,我还是建议看一下我写这篇文章,至少于apache和php mysql的安装有点了解,这也是我写此文的目的;


==============================================================
正文:
==============================================================



==============================================================

一、如果您原来是采用rpm包安装的apache和php以及mysql,现在大可去完全卸掉它。我们要学会用rpm -qa 这个命令,查询我们安装过的相应的php、mysql以及apache的RPM,然后把这些包一个一个的卸掉

==============================================================

1.卸载mysql ;

[root@linuxsir01 root]# rpm -qa | grep mysql
libdbi-dbd-mysql-0.6.5-7
mod_auth_mysql-20030510-3
php-mysql-4.3.3-6
mysql-3.23.58-4
mysql-bench-3.23.58-4
mysql-server-3.23.58-4
freeradius-mysql-0.9.1-1
mysql-devel-3.23.58-4
[root@linuxsir01 root]#

卸载过程:是从最下面的一个包开始,因为有些东西是有顺序的。所以这是要注意的。

在这里,我们应该先应该把mysql-devel-3.23.58-4卸掉,然后才是freeradius-mysql-0.9.1-1等, 要一个一个的来;

方法是:
[root@linuxsir01 root]#rpm -e mysql-devel

再举一例:比如我们想卸载php-mysql-4.3.3-6,应该用下面的办法

[root@linuxsir01 root]#rpm -e php-mysql

这回应该明白了吧:)

如果有卸不掉的,就是有顺序,比如和php相关的,当然要先卸php的了;

2.卸载apache ,方法和mysql的方法是一样的。

[root@linuxsir01 root]# rpm -qa | grep httpd
redhat-config-httpd-1.1.0-5
httpd-devel-2.0.47-10
httpd-manual-2.0.47-10
httpd-2.0.47-10

3.卸载php,和mysql的方法是一样的;
[root@linuxsir01 root]# rpm -qa | grep php
asp2php-0.76.2-6
php-domxml-4.3.3-6
php-mysql-4.3.3-6
asp2php-gtk-0.76.2-6
php-4.3.3-6
php-odbc-4.3.3-6
php-xmlrpc-4.3.3-6
php-imap-4.3.3-6
php-pgsql-4.3.3-6
php-devel-4.3.3-6
php-ldap-4.3.3-6
php-snmp-4.3.3-6

注意:如果有卸不掉的包,应该加参数来卸载,比如我们卸载php-snmp-4.3.3-6,有困难,就要用找出相依赖的包,先卸掉那个包,然后再来卸这个包。可能有实在也卸不掉的。应该用--nodeps这个参数。比如
[root@linuxsir01 root]# rpm -e php-snmp-4.3.3-6 --nodeps



==============================================================
二、通过源码包安装mysql
==============================================================
1.下载:当前最新最稳定的版本应该是mysql-4.0.16 ,比如我们在/opt目录下建一个临时的安装目录software,把下载下来的mysql-4.0.16.tar.gz,放到/opt/software/目录中;

[root@linuxsir01 root]# mkdir /opt/software

http://www.mysql.com/get/Downloads/M...ihostunit.com/

2.解压、编译和安装:

1]解压
[root@linuxsir01 root]# cd /opt/software

[root@linuxsir01 software]# ls
mysql-4.0.16.tar.gz

[root@linuxsir01 software]#tar zxvf mysql-4.0.16.tar.gz

2]编译和安装:在这个地方值得注意的是,我们要把mysql-4.0.16安装到我们指定的目录中,为了系统和安全和优化,建议把自己用源码包安装的服务器类软件都放在/opt 目录里。所以在这里,我们就要把mysql-4.0.16也安装到/opt/mysql这个目录中;
[root@linuxsir01 software]#cd

[root@linuxsir01 software]# cd mysql-4.0.16
[root@linuxsir01 mysql-4.0.16]#
./configure --prefix=/opt/mysql --with-mysqld-user=beinan --with-extra-charsets=all --with-unix-socket-path=/opt/mysql/var/mysql.sock

[注]关于configure的选项的一点说明:

--prefix=/opt/mysql 把mysql-4.0.16指定安装到/opt/mysql目录中;
--with-extra-charsets=all 对多语言的支持;
--with-unix-socket-path=/opt/mysql/var/mysql.sock 这个是指定mysql服务器启动后,联机套接字文件所处的位置和文件名,也就是说,如果mysql服务器成功启动后,就能在/opt/mysql/var目录中看到mysql.sock文件。如果看不到,肯定是mysql启动不了。
--with-mysqld-user=beinan 这个是让mysql服务器也能让系统中普通用户beinan也能启动mysql服务器。当然要活学活用了:)你也可以把beinan换成你的系统中已经存在的普通用户,比如您的系统中已经存在sir这个用户,那就把beinan替换成sir就行了。用普通用户来启动mysql的好处是:mysql的进程会自己死掉自动退出。当然root用户也可以,不过有时mysql有些进程死了,但不会自动退出,root自己也杀不掉。所以用普通用户就有这样的好处,大多不会出现mysql进程已死,但不会退出的情况;

[root@linuxsir01 mysql-4.0.16]#make

[root@linuxsir01 mysql-4.0.16]#make install

这样就安装完了:)

3]配制mysql:安装只是第一步,我们还要对mysql进行相应的配制;

一般的情况下mysql要找配制文件my.cnf,位置在/etc目录下,所以我们得把文件my.cnf文件放到/etc/目录下。让mysql服务器启动时能找到它。

我们安装好mysql后,配制文件应该在/opt/mysql/share/mysql目录中,配制文件有几个,比如my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf
,不同的流量的网站和不同配制的服务器环境,当然需要有不同的配制文件了。一般的情况下,my-medium.cnf这个配制文件就能满足我们的大多需要;

进入/opt/mysql这个目录,看一下是不是已经安装好了呢??

[root@linuxsir01 mysql-4.0.16]# cd /opt/mysql/
[root@linuxsir01 mysql]# ls
bin include info lib libexec man mysql-test share sql-bench

我们把/opt/mysql/share/mysql这个目录下的my-medium.cnf,复制为my.cnf到/etc目录下。
[root@linuxsir01 mysql]# cp /opt/mysql/share/mysql/my-medium.cnf /etc/my.cnf

做了这些工作以后,还得创造MySQL授权表, 否则数据库也是启动不了。mysql_install_db,这个命令的用途就是做这个的。mysql的命令都安装到了/opt/mysql/bin这个目录中。

[root@linuxsir01 mysql]#/opt/mysql/bin/mysql_install_db

运行mysql_install_db命令过后,我们查看/opt/mysql就会发现,有个var的目录。这个目录,就是用来装所有数据库的位置,比如我们创建了linuxsir的数据库后,就在在/opt/mysql/var目录中有linuxsir的目录。这回应该明白了吧。

4]启动mysql服务器,可能这是最轻松的了,不过也不能高兴的太早,因为有时会出现权限方面的错误。:)

mysql服务器启动,应该是/opt/mysql/share/mysql目录中的 mysql.server
启动方法是:
[root@linuxsir01 mysql]# /opt/mysql/share/mysql/mysql.server start

启动过后,我们要查看mysql是否启动了,应该用下面的命令;

[root@linuxsir01 mysql]# ps -aux | grep mysqld

如果出现的仅仅是如下的一行,那mysql是没有启动成功。

root 3345 0.0 0.1 5812 648 pts/2 S 17:41 0:00 grep mysqld

我们如何查看错误信息呢?在哪里查看呢?应该到/opt/mysql/var目录中去找一个带有.err后缀的文件;
[root@linuxsir01 var]# cd /opt/myql/var
[root@linuxsir01 var]# more *.err

可能会出现存在下面的错误信息:

031203 14:49:10 mysqld started
031203 14:49:10 Can't start server : Bind on unix socket: Permission denied
031203 14:49:10 Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
031203 14:49:10 Aborting

031203 14:49:10 /opt/mysql/libexec/mysqld: Shutdown Complete

031203 14:49:10 mysqld ended

其实这是权限方面的事,我们把权限设置一下就OK了。我们要设置的权限是/opt/mysql/var的目录。要设置为1777。

方法是:

[root@linuxsir01 mysql]# chmod 755 /opt/mysql/var
另外我们要用beinan这个用户来启动mysqld服务器,当然也得改变一下 /opt/mysql/var的属主

[root@linuxsir01 mysql]# chown -R beinan:beinan /opt/mysql/var

[root@linuxsir01 mysql]#su beinan

然后再重启mysql服务器。

[root@linuxsir01 mysql]$ /opt/mysql/share/mysql/mysql.server start

是不是成功了呢??

[root@linuxsir01 mysql]$ps -aux | grep mysql

5]为了让mysql也能让我们刚才编译是指定的普通用户beinan也能启动mysql服务器。所以我们还要把/opt/mysql目录归属到beinan这个用户手下,在这里,我们要用到chown命令。

[root@linuxsir01 mysql]# chown -R beinan.beinan /opt/mysql/

如果您编译时,比如用的是系统中已经存在的sir用户,应该是下面的办法,我们应该学会活学活用,对不对?

[root@linuxsir01 mysql]# chown -R sir.sir /opt/mysql/

至此mysql已经编译安装完成了,下面我们要介绍一点mysql的基本管理,以及最基本的用法。如果您想学的更多的,应该找一下mysql的手册,现在网上一大堆。随手可得,对不对??

3.mysql的一点用法,最基础的的基础

1]如何创建mysqld数据库的管理用户??

数据库安装好后,我们应该为mysql数据库创建一个管理帐号。要把root用户设置为管理员,我们应该运行下面的命令;

[root@linuxsir01 root]# /opt/mysql/bin/mysqladmin -u root password 123456
[root@linuxsir01 root]#

通过上面的命令,我们可以知道,mysql数据库的管理员是root,密码是123456。

2]如何进入mysql数据库?以mysql数据库管理员root,密码为123456为例;

[root@linuxsir01 root]#/opt/mysql/bin/mysql -uroot -p123456

输出上面的命令后,出现的是如下的提示;

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6 to server version: 3.23.58

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

注意:操作这些命令的时候,应该把mysqld服务器打开。这些新手兄弟早就知道了吧:)

3]如何在数据库中操作命令呢,我想这是mysql手册都有的,我主要说几个要注意的地方。其实我也会不了几个命令。如果自己想学的弟兄,也不是什么难事;在windows中操作过mysql的,其实在这里也是一样的,mysql是跨平台的数据库,用法都是相同的。

在mysql数据库中,每操作一个命令,都是;号结尾的,可能有的新手弟兄,忘记输入了;号结尾,结果退不出来。:):)

1]查看mysql中都有哪些数据库?
相关阅读 更多 +
排行榜 更多 +
试着飞手游下载

试着飞手游下载

休闲益智 下载
血染小镇(功能菜单)中文版下载

血染小镇(功能菜单)中文版下载

飞行射击 下载
泰坦之旅高爆版下载

泰坦之旅高爆版下载

角色扮演 下载