centos6 安装redis-4.0.9 解决问题redis问题:ERR Client sent AUTH, but no password is set

   2023-02-09 学习力0
核心提示:从redis官网下载Linux redis4.0.9版本,我下载的redis-4.0.9.tar.gz(目前最新稳定版),下载到/usr/local/src目录,如果没有就mkdir创建一个.下载链接:https://redis.io/downloadhttp://download.redis.io/releases/redis-4.0.9.tar.gz############  开始  ###

从redis官网下载Linux redis4.0.9版本,我下载的redis-4.0.9.tar.gz(目前最新稳定版),下载到/usr/local/src目录,如果没有就mkdir创建一个.

下载链接:https://redis.io/download

http://download.redis.io/releases/redis-4.0.9.tar.gz

############  开始  ###############

 

################################## 1.安装redis ######################################

 

将安装包下载到此目录

/usr/local/src

 

 

将redis安装到此目录

/usr/local/redis

 

  

  安装过程指令如下:

mkdir /usr/local/redis  
 cd /usr/local/src  
 tar xzf redis-4.0.9.tar.gz   
 ln -s redis-4.0.9 redis #建立一个链接  
 cd redis  
 make PREFIX=/usr/local/redis install #安装到指定目录中

 


 

start

  上面的最后一行,我们通过PREFIX指定了安装的目录。如果make失败,一般是你们系统中还未安装gcc,那么可以通过yum安装:

 

yum install gcc

安装完成后,继续执行make. 

这里也可以执行更新yum

 

sudo yum update

 end


 

  

  在安装redis成功后,你将可以在/usr/local/redis看到一个bin的目录,里面包括了以下文件:

redis-benchmark  redis-check-aof  redis-check-dump  redis-cli  redis-server

 

  

################################# 2.将redis做成一个服务并注册 ################################

1.复制脚本到/etc/rc.d/init.d目录 
ps: /etc/rc.d/init.d/目录下的脚本就类似与windows中的注册表,在系统启动的时候某些指定脚本将被执行 
按以上步骤安装Redis时,其服务脚本位于:

 

/usr/local/src/redis/utils/redis_init_script 

 

 

  必须将其复制到/etc/rc.d/init.d的目录下:

cp /usr/local/src/redis/utils/redis_init_script /etc/rc.d/init.d/redis

 

  

将redis_init_script复制到/etc/rc.d/init.d/,同时易名为redis。

如果这时添加注册服务:

 

chkconfig --add redis

  将报以下错误:

redis服务不支持chkconfig

为此,我们需要更改redis脚本。 

2.更改redis脚本 
打开使用vi打开脚本,查看脚本信息:

 

vim /etc/rc.d/init.d/redis

 

看到的内容如下(下内容是更改好的信息):

 1 #!/bin/sh 
 2 #chkconfig: 2345 80 90 
 3 # Simple Redis init.d script conceived to work on Linux systems 
 4 # as it does use of the /proc filesystem. 
 5    
 6 REDISPORT=6379 
 7 EXEC=/usr/local/redis/bin/redis-server 
 8 CLIEXEC=/usr/local/redis/bin/redis-cli 
 9    
10 PIDFILE=/var/run/redis_${REDISPORT}.pid 
11 CONF="/etc/redis/${REDISPORT}.conf" 
12    
13 case "$1" in 
14     start) 
15         if [ -f $PIDFILE ] 
16         then 
17                 echo "$PIDFILE exists, process is already running or crashed" 
18         else 
19                 echo "Starting Redis server..." 
20                 $EXEC $CONF & 
21         fi 
22         ;; 
23     stop) 
24         if [ ! -f $PIDFILE ] 
25         then 
26                 echo "$PIDFILE does not exist, process is not running" 
27         else 
28                 PID=$(cat $PIDFILE) 
29                 echo "Stopping ..." 
30                 $CLIEXEC -p $REDISPORT shutdown 
31                 while [ -x /proc/${PID} ] 
32                 do 
33                     echo "Waiting for Redis to shutdown ..." 
34                     sleep 1 
35                 done 
36                 echo "Redis stopped" 
37         fi 
38         ;; 
39     *) 
40         echo "Please use start or stop as first argument" 
41         ;; 
42 esac 

和原配置文件相比(以下几处都要更改,特别是第一个#chkconfig,否则会导致无法添加配置)

1.需要添加第二行内容如以上脚本中第二行:

 

#chkconfig: 2345 80 90 

 

  2.原文件EXEC、CLIEXEC参数,也是有所更改。

EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli

  3.redis开启的命令,以后台运行的方式执行。

$EXEC $CONF & 

ps:注意后面的那个“&”,即是将服务转到后面运行的意思,否则启动服务时,Redis服务将 

占据在前台,占用了主用户界面,造成其它的命令执行不了。

  4.将redis配置文件拷贝到/etc/redis/${REDISPORT}.conf

 

 

 

mkdir /etc/redis    
cp /usr/local/src/redis/redis.conf /etc/redis/6379.conf

 

 

这样,redis服务脚本指定的CONF就存在了。默认情况下,Redis未启用认证,可以通过开启6379.conf的requirepass 指定一个验证密码。 

以上操作完成后,即可注册yedis服务:

 

chkconfig --add redis

 

  

 

3.启动redis服务

 

service redis start 

########################  3.将Redis的命令所在目录添加到环境变量PATH中 ##############################

  修改profile文件:

 

vi /etc/profile

 

 

在最后行追加: 

 

export PATH="$PATH:/usr/local/redis/bi

 

  

  应用这个文件

. /etc/profile  

 

 

####################################  4.设置redis密码 #########################################

打开配置文件:# vi /etc/redis/6379.conf

 

vi /etc/redis/6379.conf 

 

进入命令模式查找"requirepass"字符串,找到这一段,去掉前面的#号,后面密码就自定义了(此处修改为-Tq8UA7zredis)

 

 

 1 # Warning: since Redis is pretty fast an outside user can try up to
 2 # 150k passwords per second against a good box. This means that you should
 3 # use a very strong password otherwise it will be very easy to break.
 4 #
 5 requirepass -Tq8UA7zredis
 6 
 7 
 8 # Command renaming.
 9 #
10 # It is possible to change the name of dangerous commands in a shared
11 # environment. For instance the CONFIG command may be renamed into something
12 # hard to guess so that it will still be available for internal-use tools
13 # but not available for general clients. 

 

 

 

要使配置生效可以重启一下

 

#####################################  5.安装完成,进入redis ####################################

这样就可以直接调用redis-cli的命令了,如下所示:

 

redis-cli   
redis 127.0.0.1:6379> auth -Tq8UA7zredis   
OK  
redis 127.0.0.1:6379>

    PS:可能需要防火墙将6379端口打开外部就能访问了

 

 

 

明明在redis.conf中设置了密码,而且redis还启动了,为什么说没有密码呢?

大家都知道linux下启动redis有很多种方法,

其中有 ./redis-server &  

这种方法启动,不会带上你的redis.conf配置文件启动

还有 ./redis-server ../redis.conf

这种方法启动的时候,会去带上配置文件redis.conf

上面的问题 ERR Client sent AUTH, but no password is set 。我遇到过一次,原因是我大意了,我用了第一种方式启动

这个时候redis是没有密码的,但是我的redis配置文件中配置了密码,所以当我在set值的时候就报这个错误了。

所以如果你配置了redis.conf这个文件,那么启动redis的时候也一定要带上这个文件启动。

那么解决问题就要先退出来

cd /usr/local/redis/bin
service redis stop

./redis-server

-bash: ./redis-server: 没有那个文件或目录 ,

经过搜索:  

find / -name redis-server

 /usr/local/redis/bin/redis-server

原来是能在当前bin的目录下才能执脚本文件

cd /usr/local/redis/bin/

 再次执行

[root@cloud bin]# ./redis-server


centos6 安装redis-4.0.9
    


            
解决问题redis问题:ERR Client sent AUTH, but no password is set

成功显示Redis信息

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 用Xshell设置CentOS密钥登录
    用Xshell设置CentOS密钥登录
    今天带来设置X shell 密钥登录  因为用的中文x shell 所以按照中文设置很简单1.点击工具(Tools)------新建用户密钥生成向导(New User key Wizard)(附图)2.然后出现下图时,记得密钥类型 选择RSA.其实选择DSA ,也能实现,二者其实是不同的算法。(我用的R
    03-08
  • centOS下安装Adobe Flash Player
    centOS下安装Adobe Flash Player
    centOS下安装Adobe Flash Player  2009-10-09 11:29:33|  分类:linux|  标签: |订阅 写出来就这么简单几步,当初刚接触Linux的时候搜索了很长时间,找了很多资料,总是出现这样那样的问题,最后终于摸索出最简单最有效的安装的方法。 随便打开一个带
    03-08
  • 部署Node.js项目(CentOS) node项目搭建
    部署Node.js项目(CentOS) node项目搭建
    操作步骤步骤 1:创建ECS实例选择操作系统为公共镜像CentOS7.2。使用root用户登录Linux实例。步骤2:部署Node.js环境—二进制文件安装该部署过程使用的安装包是已编译好的二进制文件,解压之后,在bin文件夹中就已存在node和npm,无需手工编译。安装步骤:1、
    02-10
  • centos安装python与jdk centos安装python3.7
    centos安装python与jdk centos安装python3.7
    安装python#压缩包安装[root@china ~]# yum -y install zlib*Loaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun
    02-10
  • centos6下同时安装python2和python3
    #build-essential compile packagesyum groupinstall "Development Tools"yum install openssl-develyum install zlib-develyum install make gcc gcc-c++ kernel-develhttp://unix.stackexchange.com/questions/291737/zipimport-zipimporterror-cant-decomp
    02-10
  • CentOS下查看文件和文件夹大小 linux查看文件夹
    当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。  df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。  df可以查
    02-10
  • centos7 离线升级/在线升级操作系统内核
    centos7 离线升级/在线升级操作系统内核
    centos7 离线升级/在线升级操作系统内核目录一.前言二.系统环境三.系统内核下载网址四.centos7离线升级系统内核1.先查看系统环境2.离线升级系统内核五.在线升级系统内核一.前言CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于
    02-10
  • centos7 rc.local脚本执行不成功
    腾讯云 centos7   配置文件/etc/rc.local的内容如下:#!/bin/sh#secu_agent init monitor, install at Thu Aug 3 11:19:41 CST 2017/usr/local/sa/agent/init_check.sh/dev/null 21/usr/sbin/ntpdate ntpupdate.tencentyun.com /dev/null 21 /usr/local/qclo
    02-10
  • 如何在centos7启动时自动挂载硬盘
    在/etc/rc.local中加入如下的语句,这样就不用每次重启后手动挂载了(后面挂载的目录根据自己的需求而定):mount  /dev/sdb1 /usr/sharedfiles/sdbmount  /dev/sdc1 /usr/sharedfiles/sdcmount  /dev/sdb1 /root/sdbmount  /dev/sdc1 /root/sdc注意:可以
    02-10
  • centos7.2 开启防火墙
    开启防火墙当我们修改了某些配置之后(尤其是配置文件的修改),firewall并不会立即生效。可以通过两种方式来激活最新配置 systemctl restart firewalld 和 firewall-cmd --reload 两种方式,前一种是重启firewalld服务,建议使用后一种“重载配置文件”
    02-10
点击排行