如何将mysql版本升级呢?
接下来以5.1->5.6版本为例:
升级MySQL服务使,需要注意的一个事项:备份所有的数据库数据
1.查看MySQL的版本
mysql --version
mysql Version 14.14 Distrib 5.5.28, for Linux (x86_64) using reeadline 5.1
从上面可以看出,MySQL版本为5.5.28
2.查看MySQL的安装包
yum list | grep mysql
注意:如果没有看到想要升级的版本,请更新yum安装库,具体操作如下:
1)wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
2)rpm -ivh mysql-community-release-el6-5.noarch.rpm
3)重新查看即可,yum list | grep mysql
3.查看当前已经安装的MySQL安装相关信息
yum list | grep ^mysql
注意:这里的^代表以mysql开头的项
-----------
yum info mysql-server
据说,上面的命令执行完毕后可以看到可升级的版本,但是并没看到。
-----------
yum check-update mysql-server
可以检查可用的安装包
4.升级MySQL及其组件
yum update mysql-server
执行结束,会显示complete之类的关键字。
5.检查是否更新成功
mysql --version
当然,执行完这一步并不代表已经可以用MySQL了。在这里,小编碰到了一个错误。
问题1:
启动服务的时候,提示找不到mysql.sock之类的问题。
解决方案:
1.查看错误日志(前提:my.cnf里面有配置日志功能log-error = 路径)
cat /var/log/mysql_error.log
2.发现skip-locking5.6不支持,已经过时。改为skip-extenal-locking
(skip-locking可参考链接:http://www.kuqin.com/database/20120815/328905.html)
3.保存退出,重启mysqld服务即可
问题2:
启动服务的时候,错误日志显示Unknown/unsupported storage engine: InnoDB
解决方案:
执行删除命令:rm -rf /var/lib/mysql/ib*
删除:ibdata1、ib_logfile0、ib_logfile1文件
重启服务即可,service mysqld restart
当然,你可能会想,如果更新的版本存在5.5、5.6甚至更高,但我只是想更新到指定版本呢?那应该怎么做?
其实很简单,只要在上诉操作中更新前,改动repo配置文件即可。
配置文件路径:/etc/yum.repos.d
修改配置文件:mysql-community.repo和mysql-community-source.repo
修改内容:将所要更新的版本的enabled=1,其他版本的enabled=0即可,如下图所示,只更新到5.6版本: