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

安装如下方法可以安装成功。

完整步骤:

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

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

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

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

备份完之后停止mysql服务。

  1. service mysqld stop

好了,开始进入正题。

2.卸载旧版本的Mysql

  1. yum remove mysql mysql-*

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

  1. yum list installed | grep mysql

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

  1. yum remove mysql-libs

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

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

3.安装Mysql5.5

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

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

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

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

这个时候你再运行:

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

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

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

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

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

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

在测试环境中安装后是能够顺利启动的,所以按照本博中centos安装amp中mysql安装中的章节进行相应设置就可以了。

  1. mysql_upgrade -u root -p

等他全部ok。

再试试运行mysql。

  1. 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

centos6.6升级安装MySQL5.5(2015/3/4)的更多相关文章

  1. 在centos6.5中安装mysql5.7

    简介 博主最近在研究mysql的读写分离和主从复制,一台master和两台slave,三台机器在同一个局域网中,首先就就要在centos6.5中安装mysql5.7.好了,废话不多说,接下来进入正题. ...

  2. centos6.7编译安装mysql5.7.17

    centos6.7编译安装mysql5.7.17 2017-03-24 09:57:15 提示:mysql5.7.17和之前5.56以前的版本安装不一样,需要用cmake 另外,看本文档的mysql编 ...

  3. CentOS6.7上安装Mysql5.7

    CentOS6.7上安装Mysql5.7 2017年07月22日 18:27:05 阅读数:564 环境的配置总是令人作呕,所以这次表明版本条件: 首先,这是一台新机器 其次,CentOS版本如下: ...

  4. CentOS6、7安装MySQL5.7全教程

    CentOS6.7安装MySQL5.7全教程 做开发总得用到数据吧,Linux作为服务器,总得有一个数据库来存储测试用的数据,所以呢,这里附上CentOS6.7安装MySQL5.7的教程喔~ 用到的工 ...

  5. Centos6.5升级安装openssh7.7p1

    Centos6.5升级安装openssh7.7p1  关于OpenSSH漏洞   2016年1月14日OpenSSH发布官方公告称, OpenSSH Client 5.4~7.1 版本中未公开说明的功 ...

  6. Centos6下rpm安装MySQL5.6

    Centos6在rpm安装 rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm yum install ...

  7. CentOS6.8手动安装MySQL5.6

    众所周知,mysql5.7推出后有很多没有填好的坑,对于老的系统和项目兼容性也存在问题,所以现在普遍的web项目还是应该跑在centos6.8+mysql5.6的环境之下,今天主要说一下mysql5. ...

  8. Centos6 源码安装mysql5.6

    这里介绍如何使用centos6.*来安装mysql5.6版本. 先做一下准备工作 确定好用于运行mysql的用户,安全起见,建议拒绝次用户登录,仅用于运行程序. useradd mysql -s/sb ...

  9. CentOS6.8手动安装MySQL5.6(转)

    1.安装mysql5.6依存包 2.下载编译包 wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35-linux-glibc2 ...

随机推荐

  1. MongoDB.Driver 2.4以上版本 在.NET中的基本操作

    MongoDB.Driver是操作mongo数据库的驱动,最近2.0以下版本已经从GitHub和Nuget中移除了,也就是说.NET Framework4.0不再能从官方获取到MongoDB的驱动了, ...

  2. 常用git命令(一)

    git add 命令. 这是个多功能命令:可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等. 将这个命令理解为“添加内容到下一次提交中”而不是“将一 ...

  3. laravel5.5中查询构造器的使用

    //查询构造器新增数据: public function query1() { /* $bool=DB::table('student')->insert( ['name'=>'小李',' ...

  4. hdu1151

    题解: 二分图边覆盖 n-最大匹配 代码: #include<cstdio> #include<cmath> #include<algorithm> #includ ...

  5. PHP 中使用explode()函数切割字符串为数组

    explode()函数的作用:使用一个字符串分割另一个字符串,打散为数组. 例如: 字符串 $pizza = "第1 第2 第3 第4 第5 第6"; 根据空格分割后:$piece ...

  6. Python中的单例设计模式

    1)设计模式: 是前人工作的总结和提炼.通常,被人们广泛流传的设计模式.     某一问题的特定解决方案,使用设计模式是为了可重用代码,是代码更容易被人理解, 增加代码的可用性. 2)单例设计模式: ...

  7. Python面向对象 --- 新旧式类、私有方法、类属性和类方法、静态方法

    一.Python面向对象中的新旧式类 1)新式类(推荐使用):在定义类时,类后边括号里要继承基类(object).在python3.x中若没有指定父类,会默认使用的是object作为基类:在pytho ...

  8. Java虚拟机读写其他进程的数据--Process对象

    使用Runtime对象的exec()方法可以运行平台上的其他程序,该方法产生一个Process对象,Process对象代表由该Java程序启动的子进程. Process类提供了3个方法,用于让程序和其 ...

  9. Ubuntu 中sendmail 的安装、配置与发送邮件的具体实现

    一.安装 ubuntu中sendmail函数可以很方便的发送邮件,ubuntu sendmail先要安装两个包. 必需安装的两个包: 代码  sudo apt-get install sendmail ...

  10. Java堆空间溢出解决方法 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

    一般通过java -jar filename.jar运行jar包,但是当运行的java程序需要较大的内存时,可能会造成堆空间溢出. 例如,加载了几个G大小的json文件,运行报错: Exception ...