https://blog.csdn.net/u014534986/article/details/79699750

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

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

再看了下源

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

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

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

1、卸载数据库

  1. yum remove mysql-server

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

卸载前记得把mysql服务关掉,要不然装新版本之后用mysql --version 查看是5.7 mysql 登录进去还是5.5然后重启服务就各种问题。因为有些文件没被删掉,导致新装的数据库好奇怪的样子。。。

2、安装新数据库

  1. yum search mysql57

先看看有什么版本可以选,这个没啥说的直接

  1. yum install msyql57-server.x86_64

安装下来就ok,来看看都装了些啥东西

很奇怪一点就是mysql-config依赖竟然还是5.5的,不过用起来没发现啥问题

3、配置

安装好了之后修改以下my.cnf

我的服务器上面是在/etc/my.cnf 不知道其它的镜像有没有变化

在配置的时候我突然想到数据存储的空间是还在的啊,配过去看看能用不

于是就在my.cnf配了这一行(5.5的好多配置都弃用了,之前的my.cnf里面的都要删一删要不然启动时会报错)

配置之后果断启动服务

  1. service mysqld start

果然报错了

看了下启动日志

  1. [ERROR] Fatal error: mysql.user table is damaged. Please run mysql_upgrade.
  1. ERROR: Zend_Db_Adapter_Exception: SQLSTATE[HY000] [2002] No such file or directory
  2. Additionally, an exception has occurred while trying to report this error: Zend_Exception
  3. No entry is registered for key 'translate' (Abstract.php:144)

卧槽,这咋办google一波 搜到了这篇文章https://support.plesk.com/hc/en-us/articles/115001659169-MySQL-fails-to-start-mysql-user-table-is-damaged

具体解决方法如下

a. 登录到那台服务器主机上面

b.  Add skip-grant-tables in /etc/my.cnf file under [mysqld] section 意思就是开启安全模式(不验证密码什么的)

c.  service mysqld start

d.  mysql_upgrade

e.  service mysqld restart

我执行了一下mysql_upgrade

查了查官方文档,大体意思就是升级之后好多东西不怎么兼容,官方提供这个脚本来修复之前的工作空间

果然是无缝升级mysql数据库中的用户都还在之前的数据库也没有受到影响

至此升级完成

Mysql5.5升级到5.7的过程已经踩到的坑的更多相关文章

  1. apache httpd 从2.2升级到2.4的过程及中间遇到的坑

    背景描述: 最近集团在做安全扫描,扫出了http的漏洞,一看是监控nagios涉及到的httpd,于是就考虑将httpd升级到最新的版本,在升级的过程中,真是遇到了很多的坑,弄了2天终于搞定了,现在梳 ...

  2. 使用ffmpeg视频编码过程中踩的一个坑

           今天说说使用ffmpeg在写视频编码程序中踩的一个坑,这个坑让我花了好多时间,回头想想,非常多时候一旦思维定势真的挺难突破的.以下是不对的编码结果:                   ...

  3. Anaconda安装xgboost的过程和踩过的坑

    win10下安装xgb,安装的过程波折起伏,花了5个小时,给后来人做参考喽 第一次尝试 利用以下两个软件 Git for Windows.MINGW进行安装. 安装可以参考:(https://blog ...

  4. 谈谈使用echarts过程中踩过的坑

    小结: 1. 使用jquery获取json对象遇到的问题 由于自己对ajax用的还不熟练,之前都是拷贝别人的代码拿来用的,这次自己写的时候倒是碰到好多麻烦一一列举如下: 1.1 在$ 与ajax之间还 ...

  5. NetCore部署到Linux服务器+Supervisor的步骤及过程中踩过的坑

    本文作备忘使用 服务器配置: 下面是所有操作的具体步骤: 1.安装nginx   参考 1.1 添加源:默认情况Centos7中没有Nginx源,最近Nginx官网提供了Centos的源地址. sud ...

  6. 【spring】使用spring过程中踩到的坑

    这里简单记录一下,学习spring的时候碰过的异常: 异常:org.springframework.beans.factory.BeanDefinitionStoreException: Unexpe ...

  7. kafka 并发数配置过程中踩到的坑 InstanceAlreadyExistsException

    ] WARN org.apache.kafka.common.utils.AppInfoParser- Error registering AppInfo mbean javax.management ...

  8. spring-data-redis 使用过程中踩过的坑

    spring-data-redis简介 Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, ...

  9. 《Python3 网络爬虫开发实战》开发环境配置过程中踩过的坑

    <Python3 网络爬虫开发实战>学习资料:https://www.cnblogs.com/waiwai14/p/11698175.html 如何从墙内下载Android Studio: ...

随机推荐

  1. font-family:黑体;导致css定义全部不起作用

    css文件里font-family: "黑体";这句会导致后面的css定义全部不起作用了. 只要把font-family: "黑体"; 改成 font-fami ...

  2. linux系统搭建zookeeper集群

    转载至:https://blog.csdn.net/weixin_38111957/article/details/82927878 一.引言 今天咱们就来搭建一下zookeeper集群,当然搭建集群 ...

  3. VM虚拟机下安装无线网卡教程

    前言: 由于最近学习olsrd需要,然后需要无线网卡支持.所以将教程分享如下. 实体机:Windows 7 虚拟机:Ubuntu 14.04 无线网卡:Tenda W311M V3.0 虚拟机软件:V ...

  4. 关于iOS7的一切相关的资料

    http://www.cocoachina.com/special/ios7/ PreviousNext 作为的用户,您可能需要了解 WWDC大会以及iOS 7的新界面 CocoaChina WWDC ...

  5. Android4.0以上源码中的DiskLruCache类简介

    /* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Versi ...

  6. Spring中使用DataSourceTransactionManager进行事务管理的xml配置

    在一个业务的实现过程中,可能需要多条sql完成对数据库的操作,比如账户登录,需要匹配用户名和密码,然后要增加积分,还要记录登录的ip和时间,这可能需要三个sql语句,这三个语句应当是一个整体,任意一个 ...

  7. Effective Modern C++:04智能指针

    裸指针有着诸多缺点:裸指针的声明中看不出它指向的是单个对象还是数组:裸指针的声明中也无法看出使用完它指向的对象后是否需要删除,也就是声明中看不出裸指针是否拥有其指向的对象:即使知道要析构裸指针指向的对 ...

  8. bzoj4033 树上染色

    Description 有一棵点数为N的树,树边有边权.给你一个在0~N之内的正整数K,你要在这棵树中选择K个点,将其染成黑色,并 将其他的N-K个点染成白色.将所有点染色后,你会获得黑点两两之间的距 ...

  9. 设备 VMnet0 上的网络桥接当前未在运行。

    早上,我打开我的虚拟机,却发现一个问题, 桥接网络怎么都连接不上. 报的是如下的错误 ------------------------------ 设备 VMnet0 上的网络桥接当前未在运行.该虚拟 ...

  10. 简单线性回归(梯度下降法) python实现

    grad_desc .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { bord ...