赞
踩
问题来源:要部署另外一套的测试线环境,需要部署新的redis,离线安装完了之后,需要将之前的测试线的数据转到新的测试,查看原先的配置文件,其中dir 配置信息是dir ./ 也就是默认的,(之前redis不是我安装的)
当时按照自己的习惯去了原先的 /usr/local/bin 找dump.rdb文件,当然也就发现了。然后拷到另外一台服务器的/usr/local/bin,然后在这个目录执行 redis-server /opt/redis-3.0.4/myredis/redis.conf 然后redis-cli 客户端发现没有数据,一脸蒙蔽。难道是自己转移数据的方式不对?
然后把原先测试线redis停掉,进入/usr/local/bin目录启动redis服务,然后数据也不见了,很是慌张。。。
然后同事说你是不是找错文件,我坚定的说就是这个呀(redis配置文件的文件名字也是这个),然后
find / -name dump.rdb
发现
两个dump文件,然后进入到 / 根目录,然后把配置文件的 dir ./ 改成 dir / ,然后依旧在 /usr/local/bin的目录下去启动redis服务,然后数据就好了,但是当时也不知道为啥会在 / 根目录下面也有,然后把dump.rdb拷贝到新的redis服务器的/usr/local/bin 下面,但是注意配置文件依旧是dir ./ ,但是就是很正常的启动了。
问题在于配置文件属性dir ,默认配置是dir ./ 表示启动server时候的当前目录,也就是说之前测试线启动redis服务是在 / 目录下启动的。
重点是 dir 的默认配置一定要改,改成确定路径,这样就不会存在每次启动服务时所在的目录不一样导致dump文件找不到的问题
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。