[关闭]
@a5635268 2017-05-15T14:10:04.000000Z 字数 670 阅读 1028

【redis专题(17)】运维实战

Redis


运行时更改master-slave

修改一台slave(设为A)为new master

1. 命令该服务不做其他redis服务的slave(自动变成master)

127.0.0.1:6380> slaveof no one
OK

2. 修改其readonly为no(主服务器,当然要准许写入)

127.0.0.1:6380> config get slave-read-only
1) "slave-read-only"
2) "yes"
127.0.0.1:6380> config set slave-read-only no
OK

3. 其他的slave再指向new master A

命令该服务为new master A的slave
命令格式 slaveof IP port

127.0.0.1:6381> slaveof localhost 6380
OK

常见问题

1. 如果不小心运行了flushall,怎么办?

如果不小心运行了flushall, 立即shutdown nosave ,关闭服务器
然后 手工编辑aof文件, 去掉文件中的 "flushall"相关行, 然后开启服务器,就可以导入回原来数据.

但如果flushall之后,系统恰好bgrewriteaof了,那么aof就清空了,数据丢失.

2. 不同的redis服务器之间的数据如何导入导出

导出:bgsave save
导入:先pkill掉redis进程,然后复制导出的rdb更名为本服务器config中指定的rdb名称

aof每秒一次自动导出或者手动重写bgrewriteaof,重写完pkill掉redis进程,同上操作即可;

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注