mysql升级-rpm安装

mysql版本5.7.29升级到5.7.30

由于我们安装mysql的方式是通过mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar中的rpm包安装:rpm -Uvh mysql-community-*.rpm

所以升级的方式是专门针对这种方式的.

其实升级的过程跟从0开始安装的过程类似.

第一步:查看当前的安装版本

  方式一:mysql   -V

  方式二:rpm -qa |grep -i mysql

第二步:创建一个新目录,解压mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar到新目录中.10个rpm包.

第三步:备份数据库,以防升级失败

3.1 备份

mysqldump -u root -p --add-drop-table --routines --events --all-databases --force > data-for-upgrade.sql

3.2  设置参数使数据库关闭时会清空缓存避免版本间缓存格式差异

mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0"

3.3 关闭数据库(如果在升级安装开始时MySQL服务器正在运行,则会在安装结束时自动重启,执行上述升级命令后,可直接查看版本号变为升级后的版本号)  <--亲测,升级可以不用关闭数据库

systemctl stop msyqld  <<--如果关闭数据库后再升级,那么升级完毕后要记得重启.

第四步:升级:直接替换二进制文件(即直接yum update/rpm -Uvh升级rpm包)数据库目录等都不变

cd   目录/

rpm -Uvh  mysql-community-*.rpm

第五步:检查并可能解决旧数据和升级软件之间的任何不兼容性

mysql_upgrade  -uroot -p

注意:当从5.7.29升级到5.7.30需要更新,当升级到最新的5.7.30后,就不用了.当然,如果非要更新(其实没必要),要加--force选项.

第六步:验证

6.1  rpm验证

  rpm -qa |grep -i mysql

6.2  mysql命令

  mysql -V

6.3  进入msyql系统后验证

  mysql> select version();

最后,如果不放心,可以再次重新启动下mysql

  systemctl restart mysqld

原文地址:https://www.cnblogs.com/keystone/p/12911070.html