1.支持的升级方式
原地升级(In-Place Upgrade):直接替换二进制文件(即直接yum update/rpm -Uvh升级rpm包)数据库目录等都不变。
逻辑升级(Logical Upgrade):先用mysqldump导出数据库--替换二进制文件--重新导入数据库。
2.支持升级路径
小版本升级,如5.7.9--5.7.10
版本升级,如5.6--5.7
跨版本升级,如5.1--5.5--5.6
说明:只支持一次升一个版本不支持直5.1--5.6等直接跨版本。
3.原地升级数据库
下边我们以原地升级方式将5.1板本升级至5.5版本为例
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关闭数据库
mysqladmin -u root -p shutdown
3.4升级安装包
[root@ls Desktop]# rpm -qa | grep -i mysql #查看当前安装的相关包
mysql-devel-5.1.73-8.el6_8.x86_64
mysql-5.1.73-8.el6_8.x86_64
perl-DBD-MySQL-4.013-3.el6.x86_64
mysql-libs-5.1.73-8.el6_8.x86_64
mysql-server-5.1.73-8.el6_8.x86_64
[root@ls Desktop]# rpm -e mysql-server #mysql-server包拒绝直接升级所以要先卸载其他包可以不管
[root@ls mysql]# tar -xf MySQL-5.5.55-1.el6.x86_64.rpm-bundle.tar
[root@ls mysql]# ls
MySQL-client-5.5.55-1.el6.x86_64.rpm
MySQL-devel-5.5.55-1.el6.x86_64.rpm
MySQL-embedded-5.5.55-1.el6.x86_64.rpm
MySQL-server-5.5.55-1.el6.x86_64.rpm
MySQL-shared-5.5.55-1.el6.x86_64.rpm
MySQL-shared-compat-5.5.55-1.el6.x86_64.rpm
MySQL-test-5.5.55-1.el6.x86_64.rpm
[root@ls mysql]# rpm -Uvh * #为了省去麻烦直接全部安装
[root@ls mysql]# rpm -qa|grep -i mysql
MySQL-client-5.5.55-1.el6.x86_64
MySQL-shared-compat-5.5.55-1.el6.x86_64
MySQL-embedded-5.5.55-1.el6.x86_64
perl-DBD-MySQL-4.013-3.el6.x86_64
MySQL-test-5.5.55-1.el6.x86_64
MySQL-server-5.5.55-1.el6.x86_64
MySQL-shared-5.5.55-1.el6.x86_64
MySQL-devel-5.5.55-1.el6.x86_64
[root@ls mysql]#
3.5启动数据库
mysqld_safe --user=mysql --datadir=/mysql/data
#mysqld_safe 是官方推荐的启动方式user为启动的系统用户datadir为数据库文件所在目录
3.6升级数据库(该操作会将旧版的系统数据库数据表转成当前版本的模样)
mysql_upgrade -u root -p #u是登录数据库用户
3.7为确保所有更新生效官方建议再次重启数据库
mysqladmin -u root -p shutdown
service mysql start