Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option)

Redis被配置为保存数据库快照,但它目前不能持久化到硬盘。用来修改集合数据的命令不能用。请查看Redis日志的详细错误信息。

原因:

强制关闭Redis快照导致不能持久化。

临时解决方案:

运行config set stop-writes-on-bgsave-error no 命令后,关闭配置项stop-writes-on-bgsave-error解决该问题。

root@ubuntu:/usr/local/redis/bin# redis-cli
127.0.0.1:6379> config set stop-writes-on-bgsave-error no
OK
127.0.0.1:6379> lpush myColour “red”
(integer) 1

上面的解决办法只能治标,最终还要治本

  1. 首先到linux 查看redis 的日志文件

    1.找到redis 配置文件 redis.conf
    

    输入 find . -name “redis.conf” 查找配置文件路径

  2. 打开redis.conf 文件全局搜索 logfile 查看日志文件地址

  1. 根据地址找到redis.log 打开查找日志打印 我的是这个鬼东西

dir /etc/cron.d 这个文件权限不够导致写入错误 好啦找问题之所在了

  1. 既然权限不够 就赋予他权限 cron.d 是个文件夹 我就将整个文件夹及里面统一赋予权限755 依然是权限不够 只能在高了777 搞定了

    赋予权限的语句是 chmod -R 777 cron.d

redis日志显示错误Can’t save in background: fork: Cannot allocate memory


不彻底的解决方式是,将这个选项改为false
stop-writes-on-bgsave-error false
但是这样只是当redis写硬盘快照出错时,可以让用户继续做更新操作,但是写硬盘仍然是失败的;

彻底的解决方式
编辑文件 /etc/sysctl.conf 添加:
vm.overcommit_memory=1
执行sysctl -p使其生效;

vm.overcommit_memory 这个参数又是干什么的呢?

Linux对大部分申请内存的请求都回复"yes",以便能跑更多更大的程序。因为申请内存后,并不会马上使用内存,将这些不会使用的空闲内存分配给其它程序使用,以提高内存利用率,这种技术叫做Overcommit。一般情况下,当所有程序都不会用到自己申请的所有内存时,系统不会出问题,但是如果程序随着运行,需要的内存越来越大,在自己申请的大小范围内,不断占用更多内存,直到超出物理内存,当linux发现内存不足时,会发生OOM killer(OOM=out-of-memory)。它会选择杀死一些进程(用户态进程,不是内核线程,哪些占用内存越多,运行时间越短的进程越有可能被杀掉),以便释放内存。

当oom-killer发生时,linux会选择杀死哪些进程?选择进程的函数是oom_badness函数(在mm/oom_kill.c中),该函数会计算每个进程的点数(0~1000)。点数越高,这个进程越有可能被杀死。每个进程的点数跟(/proc//oom_adj)oom_score_adj有关,而且oom_score_adj可以被设置(-1000最低,1000最高)。

当发生oom killer时,会将记录在系统日志中/var/log/messages

Out of memory: Kill process 9682 (mysqld) score 9 or sacrifice child
Killed process 9682, UID 27, (mysqld) total-vm:47388kB, anon-rss:3744kB, file-rss:80kB
httpd invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0

原文:https://blog.csdn.net/zqz_zqz/article/details/53384854

Commands that may modify the data set are disabled, because this instance is configured to report er相关推荐

  1. redis报错解决,MISCONF Redis is configured to save RDB snapshots

    报错记录 MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on d ...

  2. internal server error怎么解决_解决redis连接错误:MISCONF Redis is configured to save RDB

    安装redis后在设置过期时间时,突然报错:MISCONF Redis is configured to save RDB snapshots, but it is currently not abl ...

  3. redis快照关闭了导致不能持久化的问题

    在使用redis的时候我们经常会遇到这种bug: Python与Redis交互时,设置数据出现下列报错信息: MISCONF Redis is configured to save RDB snaps ...

  4. 尝试从redis未授权访问到getshell的四种姿势(失败)

    尝试从redis未授权访问到getshell的四种姿势(失败) 使用Goby扫描某SRC的C段,发现一个Redis未授权,经验证漏洞存在,故尝试Getshell提高危害(拿更多赏金) 虽然Getshe ...

  5. Linux 安装Redis-6.2.5,配置及使用(RDB与AOF持久化、sentinel机制、主从复制、Spring Boot 集成 Redis)

    CentOS 7 安装Redis-6.2.5版本 Redis采用的是基于内存的单进程 单线程模型 的KV数据库,由C语言编写.官方提供的数据是可以达到100000+的qps 应用场景: 令牌(Toke ...

  6. 第 5 章 Redis

    第 5 章 Redis 1.Redis 6.0.8 1.1.Redis 6.0.8 版本 官网地址 官网地址:https://redis.io/ 中文官网地址:http://www.redis.cn/ ...

  7. Redis_保存数据时报错MISCONF Redis is configured to save RDB snapshots, but it is curren

    Redis_保存数据时报错MISCONF Redis is configured to save RDB snapshots, but it is currently not able to pers ...

  8. 解决redis连接错误:MISCONF Redis is configured to save RDB snapshots, but it is currently not able to...

    今天重启游戏服务器在连接redis数据库时突然报错:MISCONF Redis is configured to save RDB snapshots, but it is currently not ...

  9. Redis缓存的安装及基本数据类型命令的使用

    Redis基础   Redis 是一个开源的.遵循 BSD 协议的.基于内存的而且目前比较流行的键值数据库(key-value database),是一个非关系型数据库, redis 提供将内存通过网 ...

最新文章

  1. javascript进阶教程第二章对象案例实战
  2. 自定义标签 (choose)
  3. 身份证明检索失败,如何解决?
  4. OpenCV-Python实战(番外篇)——利用 SVM 算法识别手写数字
  5. Git常用的步骤和命令
  6. c++小学期大作业攻略(二)整体思路+主界面
  7. Hadoop基础教程之搭建开发环境及编写Hello World
  8. 堡垒之夜显示连接不上服务器,堡垒之夜匹配提示未能连接到服务器 | 手游网游页游攻略大全...
  9. 100行代码,10分钟,详解Vue2.x响应式原理——理解Observer,Dep,Watcher
  10. 停车场计费算法 php,时段计费算法,一般用于停车计费
  11. 一句话+一张图——说清楚Aprioir关联规则算法
  12. 苹果手机验真假_别再被坑了,这3大技巧可辨别真假iPhone,懂得话赚大了
  13. lol服务器维护8月7,LOL8月7日维护到几点 具体更新了什么
  14. js 幻灯片放映图片_如何制作数据库驱动的首页幻灯片放映
  15. 计算机硬件是外观吗,计算机硬件从外观上看主要有主机箱.doc
  16. nginx.exe启动失败?
  17. YUN人才招聘系统PHP源码v5.1.2
  18. verilog实现串并转换
  19. 腾讯云DevOps流水线的应用与实践
  20. Python经典编程习题100例:第11例:古典兔子问题

热门文章

  1. windows和ubuntu双系统,ubuntu下硬盘变成只读状态,无法粘贴文件的有效解决方法
  2. 物联网大数据平台功能有哪些
  3. ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)的解决方法。
  4. 【附源码】计算机毕业设计SSM某大学校园竞赛管理系统
  5. 如何远程公司 居家办公日渐常态 企业如何做好远程办公
  6. 成长的烦恼:如何面对失败常态化的人生
  7. php类和对象教程,php类和对象
  8. PMP项目进度网络图详解——第3篇:CCPM关键链法
  9. 【JavaScript】——正则表达式
  10. [iOS]转让APP