redis配置问题 sudo:redis-server: command not found / redis-cli shutdown 无法关闭 redis

网上查了很多解决方法,有说未安装gcc编译的,有说redis-server不是全局命令的。这两个确实可能是报错原因,但不是我的原因。

我遇到的问题是sudo redis-server 提示未找到指令,而不加sudo就可以正常运行。这其实完全就是sudo中没有相应的命令启动路径罢了。redis-cli shutdown无法关闭redis也是因为这个原因。
可以看到shutdown时的报错信息:

Failed opening the RDB file dump.rdb (in server root dir /usr/local/redis-stable) for saving: Permission denied
Error trying to save the DB, can’t exit.

其实就是因为没有对文件的写入权限。(这里猜测shutdown之前要先save,无法正常save导致无法正常shutdown)

只要用sudo启动redis-server,一切就解决了。
In my case,redis-server/redis-cli等一众文件被安装到了/usr/local/bin。

执行
sudo visudo
在文件中找到:

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

可见,其中并没有usr/local/bin。在该句最后加上:usr/local/bin,即

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

保存,问题解决。

你可能感兴趣的:(数据库)