Mysql5.5升级到5.7的过程已经踩到的坑

本文记录了在AWS EC2上将MySQL从5.5升级到5.7的过程中遇到的问题及解决方案,包括数据库备份、卸载旧版本、安装新版本以及配置和修复过程,确保数据安全和系统的无缝升级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

故事是这样子的,我们公司有几台老的mysql版本是5.5的,最近项目做了一些升级增加了几个字段,用spring-data-jpa自动刷新表结构的时候报错了,原因是mysql5.5的版本不支持一张表里面有两个以上的 current_timestamp 作为default value。所以就要考虑升级下数据库

先到服务器上面看了下版本

再看了下源


哦,顺带提一句,我们公司在用的aws 的 ec2 ,所以都是amz的源

试了下 yum update mysql-server 然后并没什么卵用,所以继续往下搞。

网上看了好多都说是先把旧版本的数据库卸载了再用装新版本的数据库,那我的里面的数据咋办,为了保险起见,我先办数据库做了个备份,一个库一个库的备份,我看mysql库里面也配了好多用户和权限,就顺便也把mysql备份了,然后开搞。

1、卸载数据库

yum remove mysql-server

但是我们这边装的好像不太一样,我就把刚才yum查到的几个都卸载了。

卸载前记得把mysql服务关掉,要不然装新版本之后用mysql --version 查看是5.7 mysql 登录进去还是5.5然后重启服务就各

### 如何将MySQL 5.5安全地升级5.7 #### 升级前准备 为了确保从MySQL 5.5平滑过渡至5.7,在执行任何实际升级操作之前,建议进行全面的数据备份。这仅包括数据库中的表数据,还应覆盖配置文件和其他可能影响运行环境设置的信息。 #### 备份现有系统 使用`mysqldump`命令来导出所有的数据库结构和内容: ```bash mysqldump --all-databases --single-transaction --routines --events > all_databases.sql ``` 此命令会创建一个包含所有必要信息的SQL脚本文件[^1]。 #### 安装新版本 下载并安装目标版本即MySQL 5.7。如果在同一台机器上进行原地升级,则需特别注意保留旧版二进制路径下的重要资料,并按照官方文档指导完成新的服务端部署工作[^4]。 #### 数据迁移与验证 对于从小于等于5.6的小版本向更高版本演进的情况,可以采用逻辑备份恢复的方式来进行转换;而对于跨越多个主要发行系列的大跨度更新,则更倾向于通过物理拷贝加修复的方式来实现。 具体来说就是利用前面提到过的`mysql_upgrade`工具对已存在的实例实施就地升级流程——它能够自动检测并修正因版本变化而引起的内部元数据差异问题。过需要注意的是,这种方式并适用于直接由非常老的基础架构一次性跳跃数代的情形下应用。 因此针对从5.5升至5.7这样的情况,应该先迁移到中间版本比如5.6作为桥梁节点,然后再继续前进到最后的目的地5.7之上。每次迭代之间都要严格遵循上述提及的各项准备工作步骤,并仔细阅读对应时期的变更日志了解新增移除的功能特性以便调整应用程序层面的相关依赖关系[^2]。 #### 测试与优化 成功切换之后,务必安排充分的时间用于回归测试整个业务逻辑链路,确认没有任何因为底层存储引擎变动所引发的应用层面上的问题存在。同时也可以借此机会审视当前性能表现是否满足预期要求,进而采取针对性措施加以改进调优[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值