服务器执行完 yum update 项目没了 升级centos系统架构

一个 yum update 引发的错误

初遇线上崩溃

上个星期,小编坐在电脑面前,有点无聊,突然想到docker这个容器还是挺好用的,由于微服务的兴起,docker技术也变得火爆起来,docker作为一种容器技术主要用来替代虚拟机作为应用部署的解决方案,然后我就在putty上操作安装docker,当输入yum update之后,newbee_mall直接蹦了。

关于Docker的简介

1.镜像

docker镜像是一个特殊的文件系统,能够提供容器运行时所需的资源。如果接触过dockerfile的同学应该知道,我们构建镜像时都会选择一个基础镜像,这说明docker镜像是一层层进行构建的,一个镜像往往由多层文件系统组成。

2.容器

镜像是静态的,镜像运行起来的时候就变成了容器。容器相当于一个完整的操作系统,他可以有自己的文件系统,自己的网络配置。假如我们使用一个mysql容器进行存储数据,这时数据会存储在当前容器的存储层,存储层的生命周期和容器一样,容器消亡时,其存储层也不在了,所以我们在使用这种需要存储数据的容器时,往往都需要指定数据卷Volume(挂载一个宿主机的文件目录),这样即使容器删除,数据也不会消失。

3.仓库

顾名思义,docker仓库即为存储镜像的地方,我们可以将镜像上传至仓库,也可以从仓库下载镜像。这个比较简单,没什么好说的。

这里就不详细介绍docker,直接上连接docker介绍

开始操作 yum update(出现问题)

小编直接在网上找了篇博客Docker安装,用putty连上自己的centos7 ,然后,我没注意看,直接yum update,升级了centos7的核心和系统架构,然后我发现newbee_mall 这个项目访问不了了,当时我的内心慌得一批,我第一次遇到这种线上问题,头脑里毫无头绪,想google都不知道从哪个地方开始。

快速定位问题

我第一时间去tomcat中的webapps中查看项目,发现项目已经没有了,然后我以为是项目没有了,又传了一份war包到webapps里面,但是项目依旧没有起来,这个时候我开始仔细查看异常信息,以及查看tomcatlog信息(见下图)。异常信息描述的是连接数据库进行查询的时候出来问题,也有可能是mapper文件写错了、没有加载mapper文件。我在本地跑了一遍,将mapper文件仔细检查了一遍,没有找到问题,这个时候,我打开navicat连接数据库,结果直接连接失败(2003),到这我才意识到是MySQL出了问题。然后我进入putty,直接mysql -uroot -p 输入密码,居然进不去,这波操作让我想起了之前7.31号那次,数据库被黑客黑了,这次故居又是被黑了,至此才找出问题出在数据库。

解决问题

我修改my.cnf 文件,在最后面加入了一行命令(skip-grant-tables),跳过密码登录,然后进去发现MySQL里面的数据全都没有了,这个时候我果断卸载数据库,修改数据库密码、端口号(后来还是使用3306),然后将重新将数据库恢复过来。又在IDEA中将数据库密码修改成最新的,然后 maven clean、maven compile、maven package 找到生成war包的位置,将war包上传到tomcat下的webapps文件夹下,然后newbee_mall 又重新可以访问了。
nested exception is org.apache.ibatis.exceptions.PersistenceException:
 ### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: 
 Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException:
 hikariCP - Connection is not available, request timed out after 30000ms. ### The error may exist 
 in file [/usr/local/tomcat1/webapps/ROOT/WEB-INF/classes/mapper/GoodsCategoryMapper.xml] ### The 
 error may involve ltd.newbee.mall.dao.GoodsCategoryMapper.selectByLevelAndParentIdsAndNumber ###
 The error occurred while executing a query ### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException:
 Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: hikariCP - Connection 
 is not available, request timed out after 30000ms.

总结

1、以后不管做什么,都需要先了解这一步是干嘛的,为什么要这样做,这样做有什么后果,清楚了这些你在去执行相应的操作。
2、当出现问题的时候,首先查看log信息和异常信息,快速定位出现问题的模块,然后选择有效的方法去解决,最后思考总结怎么避免下次再遇到类似的问题
3、所以平常小伙伴需要做好数据库的备份,了解一些网络安全相关的知识

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java8新特性及实战视频教程整版Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(terminal operation)得到前面处理的结果。 Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用Lambda 表达式可以使代码变的更加简洁紧凑。Java8实战视频-01让方法参数具备行为能力Java8实战视频-02Lambda表达式初探Java8实战视频-03Lambda语法精讲Java8实战视频-04Lambda使用深入解析Java8实战视频-05Lambda方法推导详细解析-上.wmvJava8实战视频-06Lambda方法推导详细解析-下Java8实战视频-07Stream入门及Stream在JVM中的线程表现Java8实战视频-08Stream知识点总结Stream源码阅读Java8实战视频-09如何创建Stream上集Java8实战视频-10如何创建Stream下集.wmvJava8实战视频-11Stream之filter,distinct,skip,limit,map,flatmap详细介绍Java8实战视频-12Stream之Find,Match,Reduce详细介绍Java8实战视频-13NumericStream的详细介绍以及和Stream之间的相互转换Java8实战视频-14Stream综合练习,熟练掌握API的用法Java8实战视频-15在Optional出现之前经常遇到的空指针异常.wmvJava8实战视频-16Optional的介绍以及API的详解Java8实战视频-17Optional之flatMap,综合练习,Optional源码剖析Java8实战视频-18初识Collector体会Collector的强大Java8实战视频-19Collector使用方法深入详细介绍-01Java8实战视频-20Collector使用方法深入详细介绍-02Java8实战视频-21Collector使用方法深入详细介绍-03.wmvJava8实战视频-22Collector使用方法深入详细介绍-04Java8实战视频-23Collector原理讲解,JDK自带Collector源码深度剖析Java8实战视频-24自定义Collector,结合Stream的使用详细介绍Java8实战视频-25Parallel Stream编程体验,充分利用多核机器加快计算速度Java8实战视频-26Fork Join框架实例深入讲解Java8实战视频-27Spliterator接口源码剖析以及自定义Spliterator实现一个Stream.wmvJava8实战视频-28Default方法的介绍和简单的例子Java8实战视频-29Default方法解决多重继承冲突的三大原则详细介绍Java8实战视频-30多线程Future设计模式原理详细介绍,并且实现一个Future程序Java8实战视频-31JDK自带Future,Callable,ExecutorService介绍Java8实战视频-32实现一个异步基于事件回调的Future程序.wmvJava8实战视频-33CompletableFuture用法入门介绍Java8实战视频-34CompletableFuture之supplyAsync详细介绍Java8实战视频-35CompletableFuture流水线工作,join多个异步任务详细讲解Java8实战视频-36CompletableFuture常用API的重点详解-上Java8实战视频-37CompletableFuture常用API的重点详解-下Java8实战视频-38JDK老DateAPI存在的问题,新的DateAPI之LocalDate用法及其介绍.wmvJava8实战视频-39New Date API之LocalTime,LocalDateTime,Instant,Duration,Period详细介绍Java8实战视频-40New Date API之format和parse介绍
CentOS是一种基于Linux的操作系统,它是一个开源的、免费的服务器操作系统。下面是CentOS服务器搭建的一般步骤: 1. 下载CentOS镜像:从CentOS官方网站下载最新版本的CentOS镜像文件,选择适合你的服务器架构的版本。 2. 创建虚拟机或安装物理机:根据你的需求,可以选择在虚拟机上或物理机上安装CentOS。如果是虚拟机,可以使用软件如VMware、VirtualBox等创建虚拟机并安装CentOS。 3. 安装CentOS:将CentOS镜像文件加载到虚拟机或物理机上,并按照安装向导进行安装。在安装过程中,你可以选择安装的软件包和配置网络等选项。 4. 更新系统:安装成后,使用以下命令更新系统软件包: ``` sudo yum update ``` 5. 配置网络:根据你的网络环境,配置网络连接和IP地址等信息。可以编辑`/etc/sysconfig/network-scripts/ifcfg-<interface>`文件来配置网络接口。 6. 安装所需软件:根据你的需求,安装所需的软件包。例如,如果你需要搭建Web服务器,可以安装Apache或Nginx等软件。 7. 配置防火墙:使用防火墙软件如iptables或firewalld来配置服务器的防火墙规则,以保护服务器的安全。 8. 配置服务:根据你的需求,配置和启动所需的服务。例如,如果你需要搭建数据库服务器,可以安装MySQL或PostgreSQL,并配置相关的数据库服务。 9. 设置安全性:为了增强服务器的安全性,你可以配置SSH访问、设置防止暴力破解等安全措施。 10. 监控和维护:设置服务器的监控和日志记录,以及定期进行系统维护和更新。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值