前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >服务器意外重启后redis启动失败或无法连接的问题解决办法

服务器意外重启后redis启动失败或无法连接的问题解决办法

作者头像
风柏杨4711
发布2021-03-15 11:04:39
5.8K0
发布2021-03-15 11:04:39
举报
文章被收录于专栏:技术小牛

今天开发服务器因机房断电重启了,然后发现所有的PHP接口都报错:

代码语言:javascript
复制
session_write_close(): Failed to write session data using user defined save handler. (session.save_path...

但实际上我们一直是用redis来保存Session信息的,道理上不会用到这个save_path的配置项,在配置没改过的情况下报这个错,初步判断应该是redis服务器出了问题(redis服务器是在另一台机子上的),因为redis连不上所以框架自动切换到了使用文件系统存储Session的第二选项,所以根源还是在redis服务器上

用Redis的客户端工具(Redis Desktop Manager)尝试连接redis服务器,连接被拒绝了,看来确实是redis服务的问题,于是ssh连接上了redis服务器,用sytemctl status redis查看了状态,Active那里是绿色的,显示的是:Active: active(exited),貌似没问题(这里有坑,其实状态是不正常的,但因为之前没留意正常的状态是怎样的,以为绿色就是正常的,所以没及时发现这个问题,下面会具体说明情况),如下图所示:

运行结果
运行结果

,但为什么连不上呢?

于是打算去看看redis的日志,如果你不知道日志保存的路径,可以去配置文件里面看,属性名是logfile,打开日志后确实看到了一个报错:Bad file format reading the append only file: make a backup of your AOF file, then use ./redis-check-aof --fix <filename>,看来是aof文件在意外断电时文件格式被损坏了,如果不知道redis-check-aof命令在哪里,可以通过whereis redis-check-aof查找,找到后复制下这个目录,然后进入到aof文件所在目录,执行命令将文件修复,如我执行的命令是这样的:/usr/local/bin/redis-check-aof --f appendonly.aof

接下来重启redis,本来以为能顺利连上了,但仍然连接失败,但有个变化是redis的日志里没有出现aof格式错误的记录了,于是用systemctl status redis看了一下redis的状态,显示的仍然是Active:active(exited),想了一下,这个exited可能是不正常的,于是找了另外一台装了redis的机子并正常运行的机子执行这个命令看了一下,原来active(running)才是正常的,如下图所示:

运行正常
运行正常

在网上搜索了一下,这个问题将pid文件删掉,找到原来的进程杀死后再重新启动就行了,操作命令如下:

代码语言:javascript
复制
#删除pid文件

  cd /var/run

  rm redis_6379.pid 

#删除dump.rdb(内存快照)文件

  cd /var/lib/redis/6379

  mv dump.rdb dump.rdb_bak

#之后查看是否还有redis服务启动

  ps -ef |grep redis

  kill -9 进程id(如有)

  systemctl start redis

至此,原来redis里的数据顺利恢复,也能正常连接了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/05/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档