这里只介绍两种在Linux系统下安装Redis数据库的方法。一种是yum安装,一种是压缩包安装。
1. yum安装
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
1.1 查看是否已经安装Redis
因为linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了。总结起来就是这样几类:
1、rpm包安装的,可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa | grep “软件或者包的名字”。
[root@hexuweb102 ~] rpm -qa | grep redis
2、以deb包安装的,可以用dpkg -l能看到。如果是查找指定软件包,用dpkg -l | grep “软件或者包的名字”;
[root@hexuweb102~]dpkg-l|grep redis
3、yum方法安装的,可以用yum list installed查找,如果是查找指定包,命令后加 | grep “软件名或者包名”;
[root@hexuweb102 ~] yum list installed | grep redis
4、如果是以源码包自己编译安装的,例如.tar.gz或者tar.bz2形式的,这个只能看可执行文件是否存在了,
上面两种方法都看不到这种源码形式安装的包。如果是以root用户安装的,可执行程序通常都在/sbin:/usr/bin目录下。
说明:其中rpm yum 是Redhat系linux的软件包管理命令,dpkg是debian系列的软件包管理命令
1.2 yum安装Redis
确认系统中没有安装Redis,现在开始安装。
但是如果我们直接输入命令yum install redis
系统会给我们如下提示:
这是因为在Centos官方yum源里面没有Redis。
1.2.1 安装epel仓库
我们需要安装一个第三方的yum源,这里用了Fedora的epel仓库,执行命令安装,这里要注意一点,yum 安装的redis 版本不一定是最新的,可以用yum search redis 来查询安装源中的redis 版本,默认情况,版本较老。
输入命令yum install -y epel-release
其中-y表示安装过程中都选yes,如果不加-y安装过程中会提示你输入yes继续安装。
安装好epel仓库后,还是不能直接安装Redis,如果现在直接输入命令yum install -y redis
,还是会报错,如下图:
这是因为epel的配置没改,需要修改配置文件。
1.2.2 配置epel
输入命令vi /etc/yum.repos.d/epel.repo
,打开/etc/yum.repos.d/epel.repo编辑。按下图修改:
1.2.3 继续安装Redis
配置完毕之后,收入命令清理一下yum,yum clean all
然后就可以输入命令yum install -y redis
进行安装。
安装完毕之后查询一下yum list installed | grep redis
,可以看到已经安装了Redis。
1.3 安装后配置
安装之后为了更好地使用Redis,我们需要对配置文件做一点修改。
1.3.1 配置远程访问
1.3.1.1 解绑本地IP
Redis默认只能本地使用,所以绑定了本地IP(127.0.0.1),我们要在配置文件中将这个绑定注释掉。
输入命令vi /etc/redis.conf
对 /etc 文件夹下的 redis.conf 进行修改。
1.3.1.2 关闭保护模式
也是在这个文件中,将保护模式关闭。
1.3.1.3 开放6379端口
Redis默认的端口是6379,我们要在防火墙中开放这个端口以便远程访问。
命令为:
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
/etc/rc.d/init.d/iptables save
效果如下:
这样,我们就可以远程访问Redis数据库了。
1.3.1.4 后台运行服务
1.3.1.5 指定日志存放位置
1.3.2 安装常用命令
yum安装的Redis的常用命令为:
启动redis
service redis start
设置redis为开机自动启动
chkconfig redis on
停止redis
service redis stop
查看redis运行状态
service redis status
查看redis进程
ps -ef | grep redis
其实yum安装的Redis设不设置后台模式都可以,因为使用service redis start
命令启动Redis服务时不会像我们下面使用的压缩包安装的方式启动服务一样进入如下界面,就是启了服务,不影响下一步操作。
进入上图界面后,很不方便,我们只是启了一个服务,还没登录数据库呢,一退出这个服务就停了,要想登录数据库,只能再开窗口登录。这样很不方便,所以我们启用后台模式,不让这个界面出现。
还是redis.conf 这个文件里。
至此,配置告一段落。
1.4 yum安装的Redis的卸载
命令yum remove redis
2. 压缩包安装
2.1 下载环境依赖
Redis是c语言开发的。
安装redis需要c语言的编译环境。如果没有gcc需要在线安装。
yum install gcc-c++
2.2 安装步骤
第一步:redis的源码包上传到linux系统。
第二步:解压缩redis。
第三步:编译。进入redis源码目录。make
第四步:安装。make install PREFIX=/usr/local/redis
PREFIX参数指定redis的安装目录。一般软件安装到/usr目录下
2.3 配置redis.conf
和yum下的配置一样。注意,后台模式就是为这种安装方式配置的,一定要配。
配之前要把/root/redis-3.0.0/redis.conf复制到/usr/local/redis/bin目录下
[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis/bin/
2.4 启动服务和进入命令
在/usr/local/redis/bin/目录下输入命令操作:
启动redis
./redis-server redis.conf
停止redis
./redis-cli shutdown
查看redis进程
ps -ef | grep redis
3. 本地和远程登录数据库
yum安装的Redis的本地登录
redis-cli
这是刚开机的样子,可以看到,我们的redis服务是自启的,因为我在上次使用了chkconfig redis on配置redis服务开机自启。
yum安装的Redis的远程登录
redis-cli
压缩包安装的Redis的本地登录
与启服务一样,也是在/usr/local/redis/bin/目录下输入命令:
./redis-cli
压缩包安装的Redis的远程登录
在/usr/local/redis/bin/目录下输入命令:
./redis-cli -h IP地址 -p 端口号(默认6379)
4. 密码设置
4.1 修改redis.conf 文件(永久设置)
4.2 登录redis后临时设置密码(关机重启失效)
设置临时密码(登录进入redis中设置)
config set requirepass 密码
查看当前密码
config get requirepass
退出,重启redis,再次使用密码aaaa登录,能登陆但无法查看数据。
用密码123登录,可以查看数据,查看密码也是123