二、源码安装Mysql
1.下载mysql及相关软件包
从mysql 5.5版本开始,mysql源码安装开始使用cmake了
下载cmake htttps://cmake.org/files/
下载ncurses
http://ftp.gnu.org/gnu/ncurses/
下载bison
http://ftp.gnu.org/gnu/bison
2-1.安装mysql依赖包
安装cmake
[iyunv@localhost mysql]# tar -zxvf cmake-3.4.1.tar.gz
[iyunv@localhost cmake-3.4.1]# ./configure
[iyunv@localhost cmake-3.4.1]# make ; make install
安装bison
[iyunv@localhost mysql]# tar -zxvf bison-3.0.tar.gz
[iyunv@localhost bison-3.0]# ./configure
[iyunv@localhost bison-3.0]# make ; make install
安装ncurses
[iyunv@localhost mysql]# tar -zxvf ncurses-6.0.tar.gz
[iyunv@localhost ncurses-6.0]# ./configure
[iyunv@localhost ncurses-6.0]# make ; make install
2-2.安装mysql
解压mysql
[iyunv@localhost soft]# tar -zxvf mysql-5.5.45.tar.gz
安装mysql
[iyunv@localhost mysql-5.5.46]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
编译mysql
[iyunv@localhost mysql-5.5.46]#make ; make install
安装msyql详解
# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径
# -DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置
# -DSYSCONFDIR=/etc \ #my.cnf路径
# -DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
# -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
# -DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
# -DWITH_READLINE=1 \ #快捷键功能(我没用过)
# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径
# -DMYSQL_TCP_PORT=3306 \ #端口
# -DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据
# -DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区
# -DEXTRA_CHARSETS=all \ #安装所有的字符集
# -DDEFAULT_CHARSET=utf8 \ #默认字符
# -DDEFAULT_COLLATION=utf8_general_ci \ #校验字符
3.配置Mysql服务
3-1.创建用户及用户组
[iyunv@end mysql]# groupadd mysql 创建mysql组
[iyunv@end mysql]# useradd -r -g mysql mysql 创建mysql用户并添加到mysql组
3-2.修改目录所有者和所有组
[iyunv@end mysql]#chown -R mysql:mysql /usr/local/mysql 将mysql目录下的所有文件的所有者和所有组改为msyql
3-3.初始化数据库
[iyunv@end mysql]# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/
3-4.复制mysql服务启动配置文件(注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动)
[iyunv@end mysql]# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
3-5注册为服务
[iyunv@end mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld 将mysqld添加为服务
3-6让chkconfig管理mysql服务
[iyunv@end mysql]# chkconfig --add mysqld 将mysqld服务添加到chkconfig中
[iyunv@end mysql]# chkconfig mysqld on 重启系统后服务自动运行
3-7设置环境变量
在文件/etc/profile末尾添加
PATH=/usr/local/mysql/bin:$PATH
[iyunv@end mysql]# source /etc/profile 使修改的环境变量立即生效
3-8启动mysql服务
[iyunv@end mysql]# service mysqld start
Starting MySQL... [确定]
3-9检查mysql服务是否启动
[iyunv@end mysql]# netstat -tulnp |grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 24351/mysqld
3-10查看mysql相关进程
[iyunv@localhost ncurses-6.0]# ps aux |grep mysql
root 48813 0.0 0.3 11304 1492 pts/2 S 16:47 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/localhost.localdomain.pid
mysql 48979 0.0 9.8 413156 37360 pts/2 Sl 16:47 0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/usr/local/mysql/data/localhost.localdomain.pid --socket=/var/lib/mysql/mysql.sock
root 49018 0.0 0.2 103304 892 pts/2 S+ 16:53 0:00 grep mysql
3-11.修改mysql用户root密码
[iyunv@end mysql]# mysql -uroot 登录到mysql,首次登陆无密码
mysql> SET PASSWORD = PASSWORD('endmoon'); 设置mysql密码
Query OK, 0 rows affected (0.00 sec)
3-12.用设置的密码登录到mysql数据库
[iyunv@end mysql]# mysql -u root -p
Enter password: endmoon
3-13.若要设置root用户可以远程访问,执行
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.20' IDENTIFIED BY 'password' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
3-14.配置防火墙
防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口
打开/etc/sysconfig/iptables,在-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT后面添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
[iyunv@end mysql]# service iptables restart 使更改的防火墙配置生效
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
iptables:应用防火墙规则: [确定]
三、源码安装PHP
1.下载PHP以及相关库软件
从php5.4开始,需要自己下载安装libXpm-dev了,但是由于包的依赖性原因,我就选择了yum方式来进行安装,通过网络yum源直接下载并进行安装了
下载php以及相关的库文件(百度网盘:http::/pan.baidu.com/s/1bnL31c7)
gd库以及php功能特性扩展库文件
libgd-2.1.1.tar.gz gd库文件(使php支持以下功能)
jpegsrc.v7.tar.gz jpeg库文件(使php支持jpeg格式图片)
zlib-1.2.7.tar.gz 数据压缩函数库(使php支持数据压缩功能)
freetype-2.6.tar.gz freetype库文件(使php支持多种字体格式文件)
libpng-1.2.56.tar.gz libpng库文件(使php支持png格式图片)
2.安装PHP库环境
安装libXpm
yum -y install libXpm安装完后libXpm配置文件默认在这个目录/usr/lib64/下
安装autoconf-2.69.tar.gz
[iyunv@end LAMP-php]# tar -zxvf autoconf-2.69.tar.gz
[iyunv@end LAMP-php]# cd autoconf-2.69
[iyunv@end autoconf-2.69]# ./configure
[iyunv@end autoconf-2.69]# make ; make install
安装 libxml2-2.7.8.tar.gz
[iyunv@end LAMP-php]# tar -zxvf libmcrypt-2.5.8.tar.gz
[iyunv@end LAMP-php]# cd libmcrypt-2.5.8
[iyunv@end libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt
[iyunv@end libmcrypt-2.5.8]# make ; make install
安装libmcrypt-2.5.8.tar.gz
[iyunv@end LAMP-php]# tar -zxvf libmcrypt-2.5.8.tar.gz
[iyunv@end LAMP-php]# cd libmcrypt-2.5.8
[iyunv@end libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt
[iyunv@end libmcrypt-2.5.8]# make ; make install
安装zlib-1.2.7.tar.gz
[iyunv@end LAMP-php]# tar -zxvf zlib-1.2.7.tar.gz
[iyunv@end LAMP-php]# cd zlib-1.2.7
[iyunv@end zlib-1.2.7]# ./configure --prefix=/usr/local/zlib
[iyunv@end zlib-1.2.7]# make ; make install
安装 libpng-1.2.56.tar.gz
[iyunv@end LAMP-php]# tar -zxvf libpng-1.2.56.tar.gz
[iyunv@end LAMP-php]# cd libpng-1.2.56
[iyunv@end libpng-1.2.56]# ./configure --prefix=/usr/local/libpng
[iyunv@end libpng-1.2.56]# make ; make install
安装jpegsrc.v7.tar.gz
[iyunv@end LAMP-php]# tar -zxvf jpegsrc.v7.tar.gz
[iyunv@end LAMP-php]# cd jpeg-7/
[iyunv@end jpeg-7]# mkdir /usr/local/jpeg6 建立jpeg6软件安装目录
[iyunv@end jpeg-7]# mkdir /usr/local/jpeg6/bin 建立存放命令的目录
[iyunv@end jpeg-7]# mkdir /usr/local/jpeg6/lib 创建jpeg6库文件所在目录
[iyunv@end jpeg-7]# mkdir /usr/local/jpeg6/include 建立存放头文件目录
[iyunv@end jpeg-7]# mkdir -p /usr/local/jpeg6/man/man1 建立存放手册目录
[iyunv@end jpeg-7]# ./configure \
> --prefix=/usr/local/jpeg6/ \
> --enable-shared \ 建立共享库使用的GNUd libtool
> --enable-static 建立静态库使用的GNUlibtool
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
[iyunv@end jpeg-7]# make ; make install
安装freetype-2.6.tar.gz
[iyunv@end LAMP-php]# tar -zxvf freetype-2.6.tar.gz
[iyunv@end LAMP-php]# cd freetype-2.6
[iyunv@end freetype-2.6]# ./configure --prefix=/usr/local/freetype
[iyunv@end freetype-2.6]# make ; make install
安装gd-2.0.32.tar.gz
[iyunv@end LAMP-php]# tar -zxvf gd-2.0.32.tar.gz
[iyunv@end LAMP-php]# cd gd-2.0.32
[iyunv@end gd-2.0.32]# ./configure \ 进入vim gd_png.c 将16行改为#include "/usr/local/libpng/include/png.h"
> --prefix=/usr/local/gd2/ \ gd库文件安装目录
> --with-zlib=/usr/local/zlib/ \ 指定zlib安装路径
> --with-jpeg=/usr/local/jpeg6/ \ 指定jpeg6安装路径
> --with-png=/usr/local/libpng/ \ 指定libpng安装路径
> --with-freetype=/usr/local/freetype/ 指定freetype安装路径
./configure --prefix=/usr/local/gd2/ --with-zlib=/usr/local/zlib/ --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype
[iyunv@end gd-2.0.32]# make ; make install
3.安装PHP
[iyunv@end AMP]# tar -zxvf php-5.6.9.tar.gz
[iyunv@end AMP]# cd php-5.6.9
[iyunv@end php-5.6.9]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-libxml-dir=/usr/local/libxml2 --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg6 --with-freetype-dir=/usr/local/freetype --with-gd=/usr/local/gd2 --with-zlib-dir=/usr/local/zlib --with-mcrypt=/usr/local/libmcrypt --with-xpm-dir=/usr/lib64/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets
[iyunv@end php-5.6.9]# make ; make install
安装PHP详解
#./configure \ #执行当前目录下软件自带的配置命令
#--prefix=/usr/local/php/ \ #设置PHP5的安装路径
#--with-config-file-path=/usr/local/php/etc/ \ #指定PHP5配置文件存入的路径
#--with-apxs2=/usr/local/apache2/bin/apxs/ \ #指定PHP查找Apache2的位置
#--with-mysql=/usr/local/mysql/ \ #指定mysql的安装目录
#--with-libxml-dir=/usr/local/libxml2/ \ #指定php放置libxml2库的位置
#--with-png-dir=/usr/local/libpng/ \ #指定php放置libpng库的位置
#--with-jpeg-dir=/usr/local/jpeg6/ \ #指定php放置jpeg库的位置
#--with-freetype-dir=/usr/local/freetype/ \ #指定php放置freetype库的位置
#--with-gd=/usr/local/gd2/ \ #指定php放置gd库的位置
#--with-zlib-dir=/usr/local/zlib/ \ #指定php放置zlib库的位置
#--with-mcrypt=/usr/local/libmcrypt/ \ #指定php放置libcrypt库的位置
#--with-mysql=/usr/local/mysql/bin/mysql_config \ #变量激活新增加mysqli功能
#--enable-soap \ #变量激活soap和web services支持
#--enable-mbstring=all \ #使多字节字符串支持
#--enable-sockets \ #变量激活socket通信特性
4.配置PHP
4-1.创建php配置文件
cp php.ini-development /usr/local/php/etc/php.ini
4-2.在Apache主配置文件中添加php支持
进入Apache主配置文件/etc/httpd/http.conf中加入
Addtype application/x-httpd-php .php .phtml
AddType application/x-httpd-php .php .php4 .php5
4-3.创建php测试文件
创建mkdir /usr/local/apache2/htdocs/test.php
进入test.php编辑
<?php
phpinfo();
?>
4-4.重启Apache,使设置生效
[iyunv@localhost php-5.6.9]# service httpd restart
4-5.打开网页,输入网址http://ip/test.php
看到php的版本信息网页,表示测试成功!!!