CentOS 6 升级MySql (5.1.x 到 5.5, 再到5.6)

1. 使用mysqldump备份数据
    mysqldump --all-databases --routines --triggers --events > 20160405_backup.sql -uroot -pxxxx

2. 备份my.cnf文件

   cp /etc/my.cnf ./my.cnf

    
-- centOs 6
3. 运行下面命令,更新repo
    wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
    rpm -ivh epel-release-6-8.noarch.rpm
    rpm -ivh remi-release-6.rpm
    
4. 坚持可用的 MySQL 版本
    yum --enablerepo=remi,remi-test list mysql mysql-server
    
    不出意外,上述命令会失败,看下面错误处理.
    a. 错误: Cannot retrieve metalink for repository: epel. Please verify its path and try again
        修改文件“/etc/yum.repos.d/epel.repo”
        将baseurl的注释取消, mirrorlist注释掉

        运行yum clean all

        再次运行yum --enablerepo=remi,remi-test list mysql mysql-server

        运气真差,还是有错误,可能是下面错误。

    b. yum错误:Cannot retrieve repository metadata (repomd.xml) for repository
        继续修改文件“/etc/yum.repos.d/epel.repo”
        baseurl=http://centos.ustc.edu.cn/centos/5/os/i386/

        再执行yum --enablerepo=remi,remi-test list mysql mysql-server

        一切OK了。你会发现MySql5.5在更新列表里

5. 开始升级MySql了
    yum --enablerepo=remi install mysql mysql-server
    运气还是不行啊,有些php包下载不成功,估计被墙了,反正不用php,执行下面命令升级
    yum --enablerepo=remi install mysql mysql-server  --skip-broken
    
6. 更新完毕,重启MySql
    service mysqld restart
    检查MySql版本,5.5.x。如果你不再继续升级到5.6,可以直接运行8#步骤,更新数据库和表
    
7. 继续升级MySql到5.6

    a. CentOS就这个烦,百年不变的要更新Repo

        wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

        rpm -ivh mysql-community-release-el6-5.noarch.rpm

        开始检查yum列表

        yum list | grep mysql
        确保yum是最新版本(如有必要)
        yum update mysql-community-release
        检查可用MySql版本,应该包含5.6
        yum check-update mysql-server
        开始升级
        yum update mysql-server        
        
8. 升级数据库和表
    mysql_upgrade -uroot -p
    
错误处理:
a. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
    解决: 重启Mysql -> service mysqld restart

你可能感兴趣的:(mysql)