编译安装 mysql 5.5.10 和 php 5.3.6 通过 

就在前两天,mysql 开发团队发布了5.5.x分支的最新稳定版—5.5.10,极大的改善了对多核处理器的负载处理能力,于是便打算升级到此版本。

今天早些时候,php 团队也对外发布了其5.3.x分支的最新版本—5.3.6,考虑到我前段时间用的是5.3.6RC1,故而打算跟进到发布版。

于是今天便动手了,先是mysql.

下载源码包,解压,进入目录
我的编译参数:
[root@PowerPC mysql-5.5.10]# cmake . \
> -DCMAKE_BUILD_TYPE:STRING=Release \
> -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/mysql \
> -DCMAKE_USE_RELATIVE_PATHS:BOOL=OFF \
> -DCOMMUNITY_BUILD:BOOL=ON \
> -DENABLED_LOCAL_INFILE:BOOL=OFF \
> -DENABLED_PROFILING:BOOL=OFF \
> -DENABLE_DEBUG_SYNC:BOOL=OFF \
> -DINSTALL_BINDIR:STRING=../bin \
> -DINSTALL_DOCDIR:STRING=docs \
> -DINSTALL_DOCREADMEDIR:STRING=docs \
> -DINSTALL_INCLUDEDIR:STRING=include \
> -DINSTALL_INFODIR:STRING=docs \
> -DINSTALL_LAYOUT:STRING=STANDALONE \
> -DINSTALL_LIBDIR:STRING=lib \
> -DINSTALL_MANDIR:STRING=man \
> -DINSTALL_MYSQLSHAREDIR:STRING=share \
> -DINSTALL_SBINDIR:STRING=../sbin \
> -DINSTALL_SCRIPTDIR:STRING=scripts \
> -DINSTALL_SHAREDIR:STRING=share \
> -DINSTALL_SQLBENCHDIR:STRING=sql \
> -DINSTALL_SUPPORTFILESDIR:STRING=support-files \
> -DMYSQL_DATADIR:PATH=/var/run/mysql \
> -DSYSCONFDIR:PATH=/etc/sysconfig/mysql \
> -DWITHOUT_SERVER:BOOL=OFF \
> -DWITH_EMBEDDED_SERVER:BOOL=OFF \
> -DWITH_EXTRA_CHARSETS:STRING=all \
> -DWITH_INNOBASE_STORAGE_ENGINE:BOOL=OFF \
> -DWITH_PARTITION_STORAGE_ENGINE:BOOL=OFF \
> -DWITH_PERFSCHEMA_STORAGE_ENGINE:BOOL=OFF \
> -DWITH_SSL:STRING=no \
> -DWITH_UNIT_TESTS:BOOL=OFF \
> -DWITH_ZLIB:STRING=bundle

没有任何问题,直接make && make install,编译安装.

好了之后,由于我使用了一个小把戏,把相对于 INSTALL_PREFIX 的bin/sbin 目录安装到/usr/local 下去了,所以mysql 根目录下的scripts/mysql_install_db 不能用了。

所以,恢复数据库只能换别的方法。

首先,把备份的my.cnf文件放到 /etc/sysconfig/my.cnf 下。
之后,直接运行mysql_secure_installation,重置root密码,刷新权限表。
这时再登录mysql,数据就都回来了。

注:该方法可能只适用于5.5.x 之间的升级(我是从5.5.9->5.5.10),且要求datadir里面文件都在。

至此,mysql升级完成。接下来是php.

下载源码包,解压,进入目录
[root@PowerPC php-5.3.6]# ./configure \
> --prefix=/usr/local/php \
> --exec-prefix=/usr/local \
> --sysconfdir=/etc/sysconfig/php \
> --localstatedir=/var \
> --disable-cli \
> --enable-fpm \
> --with-fpm-user=http \
> --with-fpm-group=web \
> --with-config-file-path=/etc/sysconfig/php \
> --with-config-file-scan-dir=/etc/sysconfig/php \
> --disable-ipv6 \
> --with-regex=php \
> --with-pcre-regex \
> --with-zlib \
> --with-bz2 \
> --with-curl \
> --enable-dba \
> --enable-exif \
> --with-gd \
> --with-gettext \
> --with-mhash \
> --enable-mbstring \
> --with-mcrypt \
> --with-mysql=/usr/local/mysql \
> --with-mysql-sock=/tmp/mysql.sock \
> --with-mysqli=/usr/local/bin/mysql_config \
> --disable-pdo \
> --with-libedit \
> --enable-soap \
> --enable-sockets \
> --with-xmlrpc \
> --enable-zip \
> --without-pear \
> --enable-zend-multibyte

检查依赖,报错。找不到 libedit.h 头文件.

yum install libedit-devel

即可.再次检查,通过。make && make install 编译安装.

不一会儿,就搞定了.
恢复下配置文件,php-fpm.conf、php.ini. 便可以启动php-fpm进程。

OK,升级完成.

评论