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