标题:[实践OK]Redis低版本无法向前兼容高版本RDB文件,redis-3.0.7升级到redis-3.2.10的旧版本的dump.rdb格式无法启动问题。 出处:向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除 时间:Wed, 20 Sep 2017 14:56:52 +0000 作者:jackxiang 地址:http://jackxiang.com/post/9462/ 内容: 问题:redis-3.0.7升级到redis-3.2.10,之前的数据文件/data/redis/6379/dump.rdb 没有删除,service redis start会报错,如下: 3906:M 20 Sep 14:26:55.872 # Can't handle RDB format version 8 3906:M 20 Sep 14:26:55.872 # Fatal error loading the DB: Invalid argument. Exiting. 当前版本的redis无法处理version=7的RDB格式,这才明白是兼容性问题,但这种“向前兼容”一般很难做到的。 解决办法:删除rdb文件/var/lib/redis/6379/dump.rdb,重启redis就行了。 如果能解决掉Slave没有问题,那么, 线上坏了一台Slave的Redis可以直接替换掉即可: 在RPM打包发现:redis-3.0.7(线上)升级到redis-3.2.10的旧版本的dump.rdb格式无法启动如下: 但是经测试可以做Slave同步,现在CentOS6和CentOS7均升级至和epll仓库一样版本redis-3.2.10。 Generated by Jackxiang's Bo-blog 2.1.1 Release