使用系统CentOS 6.2本来已经系统自带安装了mysql 5.1,但是奈何5.1不支持utf8mb4字符集(详见:http://blog.csdn.net/shootyou/article/details/8236024 ),只能想办法将Mysql升级到5.5。

这果然是一次蛋疼的升级过程。

完整步骤:

1.首先备份数据,虽说成功的升级数据不会丢失,但是保险起见备份下。

mysqldump -u xxx -h xxx -P 3306 -p --all-databases > databases.sql

最好连数据文件和配置文件也备份一份。

cp -R /data/mysql mysql-5.1-data cp /etc/my.cnf my.cnf-5.1

备份完之后停止mysql服务。

service mysqld stop

好了,开始进入正题。

2.卸载旧版本的Mysql

yum remove mysql mysql-*

执行之后再看看是不是残余一些mysql-libs之类的

yum list installed | grep mysql

如果有,并确认没用之后也可以删除。

yum remove mysql-libs

注意删除mysql-libs可能会对一些依赖软件产生影响,这里我们不讨论。

好了,卸载的动作基本结束。

3.安装Mysql5.5

如果你不偷懒,那么选择编译安装可能会更好,可以参考:http://my.oschina.net/laiwanshan/blog/72903

这里我们讨论使用yum安装的过程。

在走了N多弯路之后我发现需要首先安装一些新的repo。

rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-2.noarch.rpm rpm -Uvh http://mirrors.neusoft.edu.cn/epel/6/i386/epel-release-6-7.noarch.rpm rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/epel-release-6-5.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

这个时候你再运行:

yum --enablerepo=remi,remi-test info mysql mysql-server

就会发现mysql的版本已经是5.5.x了。毫不犹豫安装之。

yum --enablerepo=remi,remi-test install mysql mysql-server

安装到此结束。接下来是启动和升级。
4.启动和升级

这个时候你想直接启动十有八九会报错,主要的问题两块:一是配置文件,5.5相比5.1有些配置改名了,这个需要你对照启动错误日志一点点改进。二是没有执行mysql_upgrade。

在确保配置文件没问题之后运行:

mysql_upgrade -u root -p

等他全部ok。

再试试运行mysql。

service mysqld start

希望上帝保佑你看到的是绿色的[ok]。

如果你需要从CentOS 5上升级Mysql那么你可以参考:http://www.ha97.com/4145.html ,但是注意这个只适用于CentOS 5,我一开始就是被这个误导了耽误了半天时间。

其他参考:

http://blog.iphoting.com/blog/2012/06/19/upgrading-to-mysql-5-dot-5-on-centos-6/

http://stackoverflow.com/questions/9361720/update-mysql-version-from-5-1-to-5-5-in-centos-6-2

CentOS 6 下升级安装Mysql 5.5 完整步骤的更多相关文章

  1. CentOS 6下编译安装MySQL 5.6

    一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...

  2. CentOS Linux下编译安装MySQL

    本文参考张宴的Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)[原创]完成.所有操作命令都在CentOS 6.4 64位操作系统下实践 ...

  3. CentOS系统下Redis安装和自启动配置的步骤

    相信大家都知道Redis是一个C实现的基于内存.可持久化的键值对数据库,在分布式服务中常作为缓存服务.所以这篇文章将详细介绍在CentOS系统下如何从零开始安装到配置启动服务.有需要的可以参考借鉴. ...

  4. centos/linux下的安装mysql

    1.从yum 下面下载mysql数据库 yum -y install mysql-server 2.查询该mysql是否安装完成 rpm -qa|grep mysql-server 出现如下图所示标明 ...

  5. Centos 7下编译安装Mysql

    (1)官网下载地址:https://dev.mysql.com/downloads/mysql/ 此处下载的是 mysql-boost-5.7..tar.gz 百度云下载地址:https://pan. ...

  6. CentOS 6.5下二进制安装 MySQL 5.6

    CentOS 6.5 二进制安装MySQL 5.6 1:查看系统版本 [root@10-4-5-9 mysql]# cat /etc/redhat-release CentOS release 6.5 ...

  7. CentOS 下编译安装MySQL

    CnetOS 下编译安装 MySql 查看是否存在旧版本: rpm -qa | grep mysql 卸载旧版本: rpm -e mysql   #普通删除模式 rpm -e --nodeps mys ...

  8. CentOS 7下升级MySQL5.7.23的一个坑

    发现CentOS 7下升级MySQL5.7.23的一个坑,以前面升级到MySQL 5.7.23的一个集群为例 在我们环境下打开文件描述符个数的参数open_files_limit在MySQL 5.6. ...

  9. Linux下yum安装MySQL yum安装MySQL指定版本

    yum安装MySQL 1. 查看有没有安装过     yum list installed MySQL* (有存在要卸载yum remove MySQL*)     rpm -qa | grep my ...

随机推荐

  1. 管理站点IP策略

    修改站点IP策略的代码 using System; using System.Text; using Microsoft.Web.Administration; internal static cla ...

  2. 安卓源码下载 windows

    git clone https://android.googlesource.com/name Name Descriptionaccessories/manifest device/asus/deb ...

  3. Install Tomcat 7 on CentOS, RHEL, or Fedora

    linux下的 Tomcat 安装: http://www.davidghedini.com/pg/entry/install_tomcat_7_on_centos

  4. Android onConfigurationChanged 不执行

    自从Android 3.2(API 13),screen size也开始跟着设备的横竖切换而改变. 所以,在AndroidManifest.xml里设置的MiniSdkVersion和 TargetS ...

  5. Linux下SVN的三种备份方式

    原文链接:http://blog.csdn.net/windone0109/article/details/4040772 (本文例子基于FreeBSD/Linux实现,windows环境请自己做出相 ...

  6. 双sonar的cache问题

  7. Kafka目录

    1. kafka生产者.消费者java示例 2. apache kafka监控系列-KafkaOffsetMonitor(转) 3. Kafka0.8.2删除topic逻辑(转) 4. spark s ...

  8. PHP-Java-Bridge使用笔记

    最近因为需要封装一个jar包供php调用,在网上搜索了下,基本上讲都是使用php-java-bridge,说实话,网上的教程有很多是不行的,但是功夫不负有心人,找到了一篇文章,也很感谢那篇文章的作者, ...

  9. 【Networking】(转)一个非常好的epoll+线程池服务器Demo

    (转)一个非常好的epoll+线程池服务器Demo Reply 转载自:http://zhangyafeikimi.javaeye.com/blog/285193 [cpp] /** 张亚霏修改 文件 ...

  10. JS-HTML DOM remove() 方法

    定义和用法 remove() 方法用于从下拉列表删除选项. 语法 selectObject.remove(index) 说明该方法从选项数组的指定位置移除 <option> 元素.如果指定 ...