使用系统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. 虚拟机安装Linux过程和踩坑

    由于想学习node,服务器端大都使用Linux系统,所以就想着在笔记本上弄个虚拟机,装上Linux,使用xshell在window上操作也方便,也借此来熟悉一下Linux,接下来就解释下安装的步骤和遇 ...

  2. 解决 Operation must use an updateable query

    在asp.net 开发环境下,用jet 4.0连接access数据库, 有时会产生Operation must use an updateable query,这是由于相关用户mdb文件没有Modif ...

  3. structure needs cleaning

    If you're attempting to run xfs_repair, getting the error message that suggests mounting the filesys ...

  4. Python学习(一)安装、环境配置及IDE推荐

    Python的安装.环境配置及IDE推荐 官网:https://www.python.org/ 版本:2.x 和 3.x 差别较大:python3是不向下兼容:版本区别可参考网官网介绍 至于选择 Py ...

  5. 在flask中使用jsonify和json.dumps的区别

    转载:https://blog.csdn.net/Duke_Huan_of_Qi/article/details/76064225

  6. linux如何后台运行进程,而且不随终端关闭而关闭

    参考:http://www.cnblogs.com/kaituorensheng/p/3980334.html 使用命令nohup:no hang up,表示关闭终端后,进程并不随着终端关闭而关闭 f ...

  7. iOS:CoreData数据库的使用四(数据库和UITableViewController以及NSFetchedResultsController一起使用)

    CoreData数据库虽然可以和tableview或者UITableViewController一起使用将数据显示在表格上,但是在准备数据的时候,这种方式需要用一个可变数组来装从数据库一次性取出来的所 ...

  8. Android内存调试命令

    adb shell dumpsys meminfo 包名 比如: adb shell dumpsys meminfo cn.com.test

  9. Jni的Jclass JmethodID JfrieldID的差异

    Jni的Jclass JmethodID JfrieldID 这三者都是java类别的属性,本质上都是指标(Pointer).透过这些指标就能快速调用java类别的函数,或存取对象的属性值.在该类别被 ...

  10. leetcode mock interview-two sum II

    package com.company; import java.util.LinkedList; import java.util.List; public class Main { public ...