在部署MySQL的过程一般使用的都是二进制包,所以在升级MySQL的版本时也是把最新的MySQL包解压到basedir下即可,当然如果是MySQL中没有任何数据的直接删除重新安装也可以,在更新时需要把停止MySQL的服务,注意如果是生产环境下需要做好相应的备机切换后在升级,其次升级时只能正常的版本迭代,而不能夸版本更新,如5.1升级到5.7是不可行的,正常应该是5.6升级到5.7,下面就简单的说一说在二进制包下如何使用mysql_upgrade来进行版本升级:
#在关闭MySQL的进程后开始升级
[root@localhost ~]# cd /usr/local/
[root@localhost local]# rm -rf mysql
[root@localhost local]# tar -jxvf /usr/local/src/mysql-5.7.17-linux-glibc2.5-x86_64.tar.bz2 -C ./
[root@localhost local]# mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql
[root@localhost local]# cat /etc/ld.so.conf.d/mysql.conf#检查lib路径是否是对的
/usr/local/mysql/lib
[root@localhost local]# ldconfig -v#重新加载最新的包到系统中,注意如果是依赖于MySQL的一些软件可能需要重新编译
[root@localhost local]# /etc/init.d/mysqld start#尝试启动,注意在MySQL 5.7中部分变量参数有取消,最好是在另外一台已安装的MySQL 5.7的服务器上查询my.cnf中的变量是否有存在,如不存在说明在新版本中已取消该参数需要删除直到启动为止
[root@localhost local]# /usr/local/mysql/bin/mysql_upgrade -u root -p#使用mysql_upgrade更新升级
在支持mysql_upgrade中会对旧版本的数据进行检查修改,确认升级成功后会进行升级,在升级完成后在databasedir下会生成mysql_upgrade_info记录最新的MySQL版本,启动MySQL,升级完毕