使用系统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
service mysqld stop
2.卸载旧版本的Mysql
yum remove mysql mysql-*
yum list installed | grep mysql
yum remove mysql-libs
好了,卸载的动作基本结束。
3.安装Mysql5.5
如果你不偷懒,那么选择编译安装可能会更好,可以参考:http://my.oschina.net/laiwanshan/blog/72903
这里我们讨论使用yum安装的过程。
在走了N多弯路之后我发现需要首先安装一些新的repo。
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -Uvh http://mirrors.neusoft.edu.cn/epel/6/i386/epel-release-6-8.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安装到此结束。接下来是启动和升级。
这个时候你想直接启动十有八九会报错,主要的问题两块:一是配置文件,5.5相比5.1有些配置改名了,这个需要你对照启动错误日志一点点改进。二是没有执行mysql_upgrade。
在确保配置文件没问题之后运行:
mysql_upgrade -u root -p
再试试运行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