在部署 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, 升级完毕
来源: http://www.linuxidc.com/Linux/2018-01/150651.htm