Redis关闭服务错误——(error) ERR Errors trying to SHUTDOWN. Check logs.

解决办法:
个人只改了一下日志文件的目录就解决了,但是有个别情况不一样的,我也做出了解决办法
在这里插入图片描述
1首先,我在关闭的时候,报出错误,告诉我们尝试关闭时错误,叫我们检查日志

那我们就去看一下日志:

1): ps -ef | grep redis 找到redis的当前进程号

在这里插入图片描述

再使用 kill -9强制关闭redis进程:

kill -9  6809 

2):打开redis.conf,找到 logfile
在这里插入图片描述
我这里没有设置目录,需要同学们自己自定义一下路径 /usr/local/redis_log/redis_log.log,这里redis_log目录需要自己手动创建,redis_log.log文件则不需要,这里要注意啊!!!
改完以后:
在这里插入图片描述
3):再将日志文件的目录权限设置为777就可以了,

 chmod -R  777  redis_log(redis日志文件目录)

不然只有管理员才可以启动redis,其他人启动就会报错:

 Reading the configuration file, at line 163  'logfile
 "/usr/local/redis_log/redis_log.log"' Can't open the log file:
 Permission denied  无法打开日志文件   告知没有权限

设置权限这个只是为了,只是让普通用户也能启动redis服务

某些同学改完以后就成功了(但是其实这并不是主要原因) 。
一般这个步骤是解决上面这个错误和 下面这个错误的

 Fatal error, can't open config file '/myRedis/redis.conf'

这里要注意一下,redis的日志文件,如果没有给予权限的话,是启动不了的,因为redis服务启动的时候会打开日志文件

2有些同学没有解决的主要原因还是用户对dump.rdb文件没有权限的问题

我们在执行shutdown命令的时候,需要将数据写入数据库文件,而没有文件夹权限,所以写入失败导致服务关闭失败。

看下面的操作!!!

3再次打开redis.conf

找到 dir ./ 设置成自己的路径(随便你设置,这路径,但是要合理) 这里设置为 dir /myRedis/ myRedis需要自己手动创建
.

shutdown的时候,会自动在/myRedis/下面创建一个dump.rdb文件

在这里插入图片描述
再赋予权限

chmod -R 777  /myRedis/

如果不想要普通用户登录redis的话,可以将权限设置为770

4科普一下redisc持久化RBD

RDB 是 Redis默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件。
Redis重启会通过加载dump.rdb文件恢复数据。

希望对每一位读者有帮助 😀

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐