LNMP一键安装包升级Mysql5.5、Nginx1.4和PHP5.3的方法

  • 内容
  • 评论
  • 相关

这里是用的LNMP一键安装包,目前我升级后的版本为:PHP – 5.3.28,Mysql – 5.5.28,Nginx – 1.4.7。(mysql5.5虽然有出众的性能,但是也很占用内存,所以建议内存小于512M的VPS不要升级),另外千万不要升级php5.4….原理不解释。
LNMP集成环境已经提供了PHP和Nginx的升级脚本,即upgrade_php.sh和upgrade_nginx.sh。当我们需要升级PHP或Nginx的时候,只需要执行这两个脚本然后根据提示输入要升级到的相应的PHP或Nginx的版本好就可以自动升级了。但是,到目前为止LNMP最新版还没有提供Mysql的升级脚本。不过另有高人为LNMP提供了Mysql的升级脚本,目前该脚本源码放在google code上,项目地址:https://code.google.com/p/huiwei19。

先说明下,mysql升级后数据不会丢失,但是为了以防万一,一定要备份下。另外mysql5.1默认的数据库路径为/usr/local/mysql/var,升级到mysql5.5之后数据库路径为/usr/local/mysql/data,所以mysql启动会失败,解决方案就是修改/etc.my.cnf里面的数据库路径。具体方法我在下面有说明.

废话不多说,下面介绍详细的升级步骤:
1,下载mysql升级脚本

执行以下命令下载升级脚本:

下载完成后赋予该文件可执行权限:

2,安装cmake
由于mysql源码需要使用cmake工具编译,所以首先要检测你的环境是否安装了cmake,如果没有则需要安装cmake。(该升级脚本虽然会自动检测安装cmake,但是有时候安装会出错,我升级了几台VPS自动安装cmake都出错了,所以建议大家手动安装cmake)
首先,下载cmake。可以在其官方网站(http://www.cmake.org)下载。

3,升级MYSQL
升级有风险,大家在升级前一定要备份好数据库。这个升级脚本会自动把旧的数据库重命名为mysql.old。
升级mysql和升级php以及nginx一样,直接执行以下mysql升级脚本就会自动进入升级了,根据提示输入想要升级到的版本号,按任意键系统就会自动下载源码包编译安装mysql了。

当mysql安装完成后执行以下代码,避免data目录权限问题:

然后启动mysql,如果启动失败,出现如下类型的错误:

请修改 编辑/etc/my.cnf,然后把

改为

因为mysql5.1的数据库放在var文件夹里面,5.5的放在data文件夹里面,启动时找不到数据库,所以会报错。

再执行下面的代码并输入Mysql密码,修复5.1.x升级到5.5.x的一系列错误:
/usr/local/mysql/bin/mysql_upgrade -u root -p
成功执行到这里,说明你的mysql已经升级成功。但是如果要在php中正常使用mysql,还需要重新编译PHP,否则没有对应的libmysqlclient.so。这也是我把mysql升级放到第一的原因。接下来我们升级PHP。
4,升级PHP
升级PHP比较简单,LNMP已经提供了PHP升级脚本,所以直接执行下面的代码,根据提示输入要升级到的版本号系统就会自动下载PHP源码编译安装。
./upgrade_php.sh
重新编译PHP后,如果你使用了eAccelerator,那么你还需要重新编译安装eAccelerator,这个也是直接执行LNMP的eAccelerator安装脚本就可以了。
./eaccelerator.sh
5,升级Nginx
升级Nginx方法跟升级PHP一样,也很简单,只需要执行以下升级脚本,输入版本号就会自动升级了。
./upgrade_nginx.sh
到这里,你的Mysql,PHP,Nginx就全部升级完成。我目前升级比较顺利,除cmake不能自动安装外,没有出现其他任何问题,如果大家升级遇到问题,可以在这里评论大家共同解决。

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注