mysql安装方式:
    1)rpm
       1系统提供商提供的,
       2官方提供的:版本比较新
    2)二进制包,类似于绿色软件,官方编译好的,但是受限于平台,要和自己的平台向适合
    3)源码编译,能够最大化的根据cpu的性能做优化,这样可能会更适合自己的系统
环境,而且编译安装可以定制,需要哪些功能可以添加上,不需要的可以去掉
 
    二进制包的安装过程
      安装开发环境########要想编译安装软件包,编译环境要安装好
          1 指定自己的yum源
          2 安装相关的开发包组
     
              yum -y groupinstall "Development Libraries" "Development Tools"
"Legacy Software Development Development" "X Software Development"
 
          3 下载安装mysql
要求:mysql的包解压出来后必须放在/usr/local下并且名字为mysql,一般不是重命名为mysql
,而是使用链接
          4 解压mysql包到/usr/local,并链接到mysql
             #tar xf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local
             #ln -sv /usr/local/mysql-5.5.15-linux2.6-i686 /usr/localmysql
          5 mysql是数据库,既是数据库,都会有存放数据的地方,默认的情况下存放数据的
地方时/usr/local/mysql/data中,和mysql在同一个分区上,但是我们在使用时不回吧
data放在mysql的安装路径当中的,可以把它放在建立的特定的分区上,最好是做一个lvm
,存放数据。 下面我们就来创建一个LVM
             #fdisk /dev/sda #############创建新分区,比如创建的是/dev/sda5,注意:
LVM 的分区类型是8e
             #partprobe /dev/sda5 ########让系统重读磁盘分区
             #pvcreate /dev/sda5 ########创建pv
             #vgcreate myvg /dev/sda5 ###########创建vg
             #lvcreate -L 2G -n mydata myvg #########创建一个名为mydata大小为2G的LV
             #lvdisplay ##########查看lv的
             #mke2fs -j -L MYDATA /dev/myvg/mydata ######格式化为ext3 ,卷标为MYDATA
             #mkdir /mydata
             #mount /dev/myvg/mydata /mydata ##########挂载
            为了让其开机自动挂载,需要在/etc/fstab中定义
             #Vim /etc/fstab
              LABEL=MYDATA     /mydata     ext3   defaults   0 0
          6 某个程序都会在某个特定用户的身份下运行,一般来讲mysql都要以mysql的身份
运行
             #groupadd -g 3306 mysql
             #useradd -g msyql -s /sbin/nologin -u 3306 -M mysql
             #mkdir /mydata/data ########创建data 让mysql的数据放在data下
             #chown -R mysql:mysql /mydata ########将/mydata的属主属组改为mysql
          7 其实由于二进制包是属于绿色软件,所以不需要安装,但是需要做初始化的
             #cd /usr/local/mysql
             #chown -R mysql:mysql . #########把当前目录下的所有文件的属主属组改为mysql
             #scripts/mysql_install_db --user=msyql --datadir=/mydata/data #######/usr/local/mysql
下的scripts目录下有个脚本mysql_install_db是专门用来初始化的,--user是用来制定用户的,--datadir是用来制定
数据存放路径的
             #chown -R root . ########把当前用户的属主改回root,不能让mysql对当前目录具有所有权限,但是属组还为mysql
          8 用这种方式安装的mysql 在/etc/init.d下没有mysqld的脚本,所以不能像rpm包安装的那样使用 service mysqld start
启动   ,这样我们就把/usr/local/mysql/support-files/msyql.server考到      
             #cp /usr/local/mysql/support-files/msyql.server /etc/init.d/mysqld
             #chkconfig --add msyqld #######吧mysqld添加到服务列表 中
             #cp support-files/my-large.cnf /etc/my.cnf #######cp配置文件
             #vim /etc/,y.cnf ########在[mysqld]下面修改并添加如下
              thread_concurrency=2 ######数字大小为cpu个数的2倍,我们是1颗cpu,所以是2
              datadir = /mydata/data
              保存退出
 
          9 #service mysqld start #########启动mysql
             #vim /etc/profile#######把mysql命了的路径添加到PATH变量中,添加内容如下
              PATH=$PATH:/usr/local/mysql/bin
             #source /etc/profile 立即生效
 
          10 系统在编译安装软件包时会搜索库文件所在的地放,而我们编译安装的mysql的
库文件lib在/usr/local/mysql/lib,我们要让系统指导我们的库文件在这个路径下
             #vim /etc/ld.so.conf.d/mysql.d########在/etc/ld.so.conf.d下新建并编辑mysql.d
              /usr/local/msyql/bin#############让系统指导当前msyql的lib的位置
             #ldconfig##########重新搜索并加载所有的库文件的路径
        
          11 下面就是头文件,编译安装完成后的头文件在/usr/local/mysql/下的include,而默认的
头文件在/usr/include/下
             #ln -sv /usr/local/mysql/include /usr/include/mysql
          12 编辑/etc/man.config #######添加man路径
             Vim /etc/man.config
               MANAPTH /usr/local/msyql/man
             到此为止,MySQL已经安装完成
         
         下载并安装httpd
           1 下载省略,直接解压缩并编译安装
              #tar xf httpd-2.2.19.tar.bz2
              #cd httpd-2.2.19
              #./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-mods=most --enable-mods-shared=most
--enable-so --enable-ssl ########生成makefile文件
              #make
              #make install
             
           2 大多数的软件使用源代码编译安装完成后,不会提供给我们使用service能够启动的脚本的,像刚才的mysql还可以cp样本
脚本文件,而对于apache来说,却没有这样的样本脚本文件,因此我们必须从别的地方cp过来一个样本文件/etc/init.d/httpd到/root下。其实,没有这个脚本,
我们也可以启动apache,通过/usr/local/apache/bin/apachectl start来启用apache ,但是/usr/local/apache/bin/apachectl这个脚本并不适合在
/etc/init.d/目录下当做服务脚本来用,所以不能用它,还得需要我们修改cp过来的文件以启动服务
              #vim httpd
               apachectl=/usr/local/apache/bin/apachectl
               httpd=${HTTPD-/usr/local/apache/bin/httpd}
           3 #cp /etc/httpd/httpd.conf /etc/httpd/httpd.conf.bak #####cp配置文件,避免改错配置文件
               vim /etc/httpd/httpd.conf
               Pidfile "/var/run/httpd.pid"##########也可以在前面的httpd中修改,使两个脚本的Pidfile路径一致
              #export PATH=$PATH:/usr/local/apache/bin
              #apachectl start ##########启动apache
             下面我们就来实现通过service 来启动Apache
              #cp httpd /etc/init.d ##########cphttpd到/etc/init.d下
              #apachectl stop########注明:如果这个命令要停不了的话就使用kill停进程
              #chkconfig --add httpd ########添加httpd到命令列表
              #chkconfig httpd on ########使httpd能够开机启动
              #service httpd start
             配置lamp支持虚拟主机
              #vim /etc/httpd/httpd.conf
               #DocumentRoot "/usr/local/apache/htdocs"#######取消中心主机
               Include /etc/httpd/extra/httpd-vhosts.conf #######把Virtual hosts 下的想启用起来
              #vim /extra/httpd-vhosts.conf 按照样例,添加虚拟主机 ,添加虚拟 主机,主要是安装论坛之类的用的,这里不做详细介绍,格式如下        
               <VirtualHost *:80>
                    ServerAdmin   ##虚拟主机名
                    DocumentRoot ##安装路径
                    ServerName    ##服务器名字
                    ErrorLog      ##错误日志路经
                    CustomLog     ##访问日志路经
                </VirtualHost>
             测试
    在其中某一个虚拟主机的网页存放目录中创建一个indix.html的文件,并写进一些内容,然后在浏览器中输入对应主机的主机名,如果显示出indix.html的内容,则表示虚拟主机设置成功。
 
            
         下载并编译安装php
              下载过程省略,直接解压缩
               #tar xf php-5.3.6.tar.bz2
               #cd php-5.3.6 
               #./configure --prefix=/usr/local/php5 --sysconfdir=/etc/php --enable-mbstring --with-apxs2=/usr/local/apache/bin/apxs
--with-mysql=/usr/local/mysql 
               #make
               #make install
               #cp php.ini-production /usr/local/php5/lib/php.ini
               #vim /etc/httpd/httpd.conf
                AddType application/x-httpd-php .php 
                AddType application/x-httpd-source .phps
                DirectoryIndex index.php
          
             查看php模块儿是否安装进apache
                打开apache的主配置文件/etc/httpd/httpd.conf 查看LoadModule中是否
有如下行: LoadModules php5_module modules/libphp5.so,有的话说明安装成功
           移植php的头文件,lib库文件,方法和msyql的相同
             测试php和pache、myseq的连接
       测试php和apache的连接是否成功
       在apache的网页目录下生成php主页文件index.php并写入如下内容
       <?php
       phpinfo();
       ?>
       使用浏览器进行验证,如果出现php的主页信息,则为连接成功
测试php和mysql的连接
       打开mysql服务:service mysqld start
       从新编辑index.php主页文件,内容修改如下:
       <?php
         $link=mysql_connect(‘127.0.0.1’,‘root’,‘’);
         if($link)
            echo "success.."; 
         else 
            echo "failure...";
        ?>
        在确保mysql开启的情况下,打开浏览器,如果显示sucess则表示php连接上了mysql
        关闭mysql服务,将显示为failure,说明php和mysql连接正常。