千家信息网

redis 安装

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,yum install -y wget gcc make tclwget http://download.redis.io/releases/redis-3.0.2.tar.gztar zxvf re
千家信息网最后更新 2024年11月23日redis 安装

yum install -y wget gcc make tcl

wget http://download.redis.io/releases/redis-3.0.2.tar.gz

tar zxvf redis-3.0.2.tar.gz

make

make test

如果报错:

!!! WARNING The following tests failed:

*** [err]: Test replication partial resync: ok psync (diskless: yes, reconnect: 1) in tests/integration/replication-psync.tcl

Expected condition '[s -1 sync_partial_ok] > 0' to be true ([s -1 sync_partial_ok] > 0)

更改 tests/integration/replication-psync.tcl 文件:

vi tests/integration/replication-psync.tcl

把对应报错的那段代码中的 after后面的数字,从100改成 500。个人觉得,这个参数貌似是等待的毫秒数。

make install

cp redis.conf /etc/

touch /etc/init.d/redis

chmod 755 /etc/init.d/redis

----------------vi /etc/init.d/redis----------------

#!/bin/bash

#

# Init file for redis

#

# chkconfig: - 80 12

# description: redis daemon

#

# processname: redis

# config: /etc/redis.conf

# pidfile: /var/run/redis.pid

source /etc/init.d/functions

#BIN="/usr/local/bin"

BIN="/usr/local/bin"

CONFIG="/etc/redis.conf"

PIDFILE="/var/run/redis.pid"

### Read configuration

[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"

RETVAL=0

prog="redis-server"

desc="Redis Server"

start() {

if [ -e $PIDFILE ];then

echo "$desc already running...."

exit 1

fi

echo -n $"Starting $desc: "

daemon $BIN/$prog $CONFIG

RETVAL=$?

echo

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog

return $RETVAL

}

stop() {

echo -n $"Stop $desc: "

killproc $prog

RETVAL=$?

echo

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE

return $RETVAL

}

restart() {

stop

start

}

case "$1" in

start)

start

;;

stop)

stop

;;

restart)

restart

;;

condrestart)

[ -e /var/lock/subsys/$prog ] && restart

RETVAL=$?

;;

status)

status $prog

RETVAL=$?

;;

*)

echo $"Usage: $0 {start|stop|restart|condrestart|status}"

RETVAL=1

esac

exit $RETVAL

----------------vi /etc/redis.conf----------------

daemonize yes

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Redis作为一个高速内存键值对(Key-Value)数据库,被广泛的使用,如果是远程连接,必须考虑到安全问题。那么如何对Redis进行安全设置呢?

redis密码管理
一. 如何初始化redis的密码?
总共2个步骤:
a.在配置文件中有个参数: requirepass 这个就是配置redis访问密码的参数。
比如 requirepass test123
b.配置文件中参数生效需要重启重启redis 。 vi /etc/redis.conf

二.不重启redis如何配置密码?
a. 在配置文件中配置requirepass的密码(当redis重启时密码依然有效)。
# requirepass foobared
如 修改成 :
requirepass test123
b. 进入redis重定义参数
查看当前的密码:
[root@slaver251 redis-2.4.16]# ./src/redis-cli -p 6379
redis 127.0.0.1:6379> #p#分页标题#e#
redis 127.0.0.1:6379> config get requirepass 查看密码
1) "requirepass"
2) (nil)
显示密码是空的,
然后设置密码:
redis 127.0.0.1:6379> config set requirepass test123
OK
再次查询密码:
redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted
此时报错了!
现在只需要密码认证就可以了。
redis 127.0.0.1:6379> auth test123
OK
再次查询密码:
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"
密码已经得到修改。
当到了可以重启redis的时候 由于配置参数已经修改 所以密码会自动生效。
要是配置参数没添加密码 那么redis重启 密码将相当于没有设置。

三.如何登录有密码的redis?
a.在登录的时候 密码就输入
[root@slaver251 redis-2.4.16]# ./src/redis-cli -p 6379 -a test123
redis 127.0.0.1:6379> #p#分页标题#e#
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"

b.先登录再验证:
[root@slaver251 redis-2.4.16]# ./src/redis-cli -p 6379
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> auth test123
OK
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"
redis 127.0.0.1:6379>

四. master 有密码,slave 如何配置?
当master 有密码的时候 配置slave 的时候 相应的密码参数也得相应的配置好。不然slave 是无法进行正常复制的。
相应的参数是:
#masterauth
比如:
masterauth mstpassword


0