Centos 6.4 安装 redis 3.2. (安装参考:Redis 源码安装)
Centos222 | Centos224 |
[centos222]# redis-cli 127.0.0.1:6379>set 127.0.0.1:6379>get "123" 127.0.0.1:6379>get (nil) 127.0.0.1:6379>exit | [centos224]# redis-cli 127.0.0.1:6379>set 127.0.0.1:6379>get "22222" 127.0.0.1:6379>get (nil) 127.0.0.1:6379>exit |
接下来需要远程访问,配置文件设置局域网IP,关闭保护模式 vi /etc/redis/6379.conf | |
bind 127.0.0.1 192.168.1.222 protected-mode no | bind 127.0.0.1 192.168.1.224 protected-mode no |
重启redis 服务,添加入站端口,可相互访问对方的redis服务器。 | |
[centos222]# iptables -I INPUT -p tcp --dport 6379 -j ACCEPT [centos222]# redis-cli -h 192.168.1.224 -p 6379 192.168.1.224:6379> get mm "22222" | [centos222]# iptables -I INPUT -p tcp --dport 6379 -j ACCEPT [centos224]# redis-cli -h 192.168.1.222 -p 6379 192.168.1.222:6379> get kk "123" |
访问没有密码,不安全,现在设置系统密码参数 requirepass (以centos222为例,两台服务器都需要设置) | |
127.0.0.1:6379> config get requirepass #查看参数信息 1) "requirepass" 2) "" 127.0.0.1:6379> config set requirepass 123456 #设置参数(密码)值 OK 127.0.0.1:6379> config get requirepass #设置密码后无法操作 (error) NOAUTH Authentication required. 127.0.0.1:6379> auth 123456 #使用密码访问 OK 127.0.0.1:6379> get kk "123" 127.0.0.1:6379> exit [centos222]# redis-cli -h 192.168.1.224 -p 6379 -a 123456 #远程访问 192.168.1.224:6379> get mm "22222" 192.168.1.224:6379> | |
但是,当redis服务重启之后,requirepass 密码失效了,变回了空值 要永久生效,在配置文件添加该参数:vi /etc/redis/6379.conf | |
requirepass 123456 | |
开始配置主从复制了!非常简单!主要使用配置参数 slaveof。 vi /etc/redis/6379.conf | |
Centos222 (master) | Centos224 (slave) |
bind 127.0.0.1 192.168.1.222 protected-mode no port 6379 requirepass 654321
| bind 127.0.0.1 192.168.1.224 protected-mode no port 6379 requirepass 654321 slaveof 192.168.1.222 6379 masterauth 654321 slave-read-only yes |
配置完成,重启服务。发现在master设置的key,在slave可以读取(slave只读)。主从配置完成! | |
[root@centos222 ~]# redis-cli 127.0.0.1:6379> auth 654321 OK 127.0.0.1:6379> set qq 6666666 OK 127.0.0.1:6379> get qq "6666666" 127.0.0.1:6379> | [root@centos224 ~]# redis-cli 127.0.0.1:6379> auth 654321 OK 127.0.0.1:6379> get qq "6666666" 127.0.0.1:6379> 127.0.0.1:6379> set pp 444 (error) READONLY You can't write against a read only slave. |
info Replication 查看复制配置信息 | |
127.0.0.1:6379> info Replication # Replication role:master connected_slaves:1 slave0:ip=192.168.1.224,port=6379,state=online,offset=392,lag=0 master_repl_offset:392 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:2 repl_backlog_histlen:391 | 127.0.0.1:6379> info Replication # Replication role:slave master_host:192.168.1.222 master_port:6379 master_link_status:up master_last_io_seconds_ago:3 master_sync_in_progress:0 slave_repl_offset:420 slave_priority:100 slave_read_only:1 connected_slaves:0 master_repl_offset:0 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0 |
|
|
两篇理论比较好的博文: redis持久化RDB和AOF Redis持久化
安全及漏洞:Redis Crackit 入侵事件分析