自定义redis缓存数据目录



我已经在centos stream 8中安装了redis,

我的要求是将默认目录更改为自定义目录默认目录是"/var/lib/reddis"我把它改成了"/root/data"并将目录所有者/组更改为redis,权限更改为755

更改了"/etc/redis.conf"中的自定义数据目录路径;重新启动redis服务。

它是失败的,检查在"/var/log/redis/redis.log"文件错误是Can't chdir到'/root/data': Permission denied

有谁能帮我解决这个问题吗?提前感谢……

这个权限被拒绝的问题与文件/目录权限没有任何关系,而是与Redis在服务级别实现的安全措施有关。

在Ubuntu 22上更改DB的步骤

我们将把Db从标准的/var/lib/redis路径更改为新的/dirA/dirB路径

  1. mkdir -p/dirA/dirB
  2. sudo systemctl stop redis.service
  3. sudo nano/etc/redis/redis.conf并编辑如下行:dir/var/lib/redis读取dir/dirA/dirB。保存文件并退出
  4. sudo nano/etc/systemd/system/redis.service。新增一行readwritepath =-/dirA/dirB。保存文件并退出sudo systemctl daemon-reload sudo systemctl start redis.service

准备使用新的数据库!

在我的测试机器上,这会导致stopjobs卡住,因此重新启动需要花费很多时间。要解决这个问题,你可以将TimeoutStopSec设置为与/etc/systemd/system/redis.service

上的0不同的数字。5s或10s是比较常用的值。

最新更新