安装MySQL

这里的MySQL是编译好的通用二进制包,必须放在/usr/local目录下且目录名也要是mysql,解压后只需对其配置一些文件即可!

# tar xf mysql-5.5.28-linux2.6-i686.tar.gz C /usr/local/

# cd /usr/local

创建一个链接,目的是保留安装包的版本信息,在以后升级时可以知道其版本信息!

# ln sv mysql-5.5.28-linux2.6-i686 mysql

要想初始化mysql,就必须用mysql用户,mysql组,创建mysql用户,mysql

修改其所有文件的属主、属组为mysql

# groupadd g 306 mysql

# useradd g 306 u 306 mysql

# cd mysql 

# chown R mysql.mysql /usr/local/mysql/*

# ll

编译安装LAMP(二)_编译安装

一般mysql的数据默认都存放在mysql目录下的data下,这样对一个企业来说,是很不安全的,当数据增长到非常非常大时,超过本地磁盘时就非常麻烦了!因此,应该将数据存放在一个单独的逻辑卷分区上,将来数据增大时,可以扩大逻辑卷!

创建逻辑卷过程不在给出,将逻辑卷挂载至新建目录/mydata下,而后需要创建/mydata/data目录作为mysql数据存放目录,其属主,属组均为mysql

Mysql在使用前要先初始化,初始化脚本是scripts/mysql_install_db,在初始化的同时要指定用户及数据库路径

# chown r mysql.mysql /mydata/data

# cd /usr/local/mysql/

# scripts/mysql_install_db --user=mysql --datadir=/mysql/data

初始化后,要将mysql目录下的所有属主改为root,这是为了安全,以免被攻破!

# chown R root .

启动mysql前的配置

# cp support-files/mysql.server /etc/init.d/mysqld

# chkconfig --add mysqld

配置mysql的配置文件

Mysql 5.5中的配置文件比较多、比较特别,它要根据你的内存大小来选取配置文件,free m查看主机内存大小的命令!

# ls support-files

编译安装LAMP(二)_编译安装_02

查看所需内存的要求

# head -n 10 my-large.cnf

编译安装LAMP(二)_编译安装_03

# free m

将选中的配置的文件,复制到/etc下并重命名!

# cp support-files/my-large.cnf /etc/my.cnf

修改线程并发量,并发量根据主机cpu的个数来制定,并发量多了也无用,反而增加了切换时长,并将数据存放路径添加进来!

# cat /proc/cpuinfo

# vim /etc/my.cnf

编译安装LAMP(二)_php_04

启动mysql

# service mysqld start

# vim /etc/profile.d/mysql.sh

编译安装LAMP(二)_编译安装_05

# mysql

 

编译安装LAMP(二)_mysql_06

# vim /etc/man.config

编译安装LAMP(二)_mysql_07

输出mysql的库文件,将mysql的库文件路径添加到mysql.conf

# vim /etc/ld.so.conf.d/mysql.conf

/usr/local/mysql/lib

# ldconfig (重读库文件)

输出头文件

# ln sv /usr/local/mysql/include /usr/include/mysql

MySQL编译安装成功!

编译安装php-5.4.13

php以模块化的方式于httpd交互

在编译前先了解一下,其编译特性:

--with-openssl:支持ssl功能

--with-mysqli=/usr/local/mysql/bin/mysql_config:标识httpdphp交互的另一种接口

--enable-mbstring:多字节标识语言

--with-freetype-dir:支持多种的字体

--with-jpeg-dir:支持jpg格式的图片

--with-zlib:支持压缩库

--with-libxml:扩展标识语言

--with-mcrypt:启用加密功能

--with-apxs2=/usr/local/apache/bin/apxs:将php编译成apache模块

--with-config-file-path=/etcphp的配置文件存放路径,配置文件叫php.ini

--with-config-file-scan-dir=/etc/php.d:php的子配置文件存放在php.d目录下

--enable-maintainer-zts:取决于apachempm类型,如果是eventworker就需要添加,否则不添加

# tar xf php-5.4.13.

# cd php-5.4.13

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts

# make

# make install

Php的配置文件都是分段式

# cp php.ini-production /etc/php.ini

# cd /usr/local/php

如何让httpdphp结合工作呢?要实现两者之间的合作,还需要修改httpd的配置文件,使httpd能识别以php结尾的页面文件,并添加php格式的目录主页面!

# vim /etc/httpd/httpd.conf

编译安装LAMP(二)_编译安装_08

编译安装LAMP(二)_编译安装_09

# service httpd restart

测试过程:

# cd /usr/local/apache/htdocs

# mv index.html index.php

# vim index.php

编译安装LAMP(二)_编译安装_10

测试结果:

编译安装LAMP(二)_mysql_11

测试通过httpd访问mysql

编译安装LAMP(二)_php_12

测试结果:

编译安装LAMP(二)_php_13