Ubuntu下Redis密码设置问题及其解决方案

article/2025/9/11 11:03:04

Ubuntu下Redis密码设置问题及其解决方案

  • 一、Redis设置密码
    • 1. 命令行设置密码。
    • 2. 配置文件设置密码
  • 二、遇到问题&解决问题
    • 1.无法打开配置文件:
    • 2.配置文件密码修改成功点击保存但是却gedit警告:
    • 3.gedit 配置文件修改密码成功但仍CONFIG GET为空
    • 4.注意修改配置文件完成后,一定要重启Redis服务器!

叮嘟!最近做项目学习用到了Redis,在刚开始的摸索过程踩了不少雷,写篇博客分享一下踩雷经验。
在这里插入图片描述

Redis设置密码有两种方式。

一、Redis设置密码

1. 命令行设置密码。

运行Ubuntu,先启动Redis服务端

redis-server

在这里插入图片描述
另开一个Ubuntu窗口启动Redis客户端:

redis-cli

在这里插入图片描述
客户端使用config get requirepass命令查看密码:

>config get requirepass
1)"requirepass"
2)""    //默认空

在这里插入图片描述
客户端使用config set requirepass yourpassword 命令设置密码

>config set requirepass yourpassword

如示例:设置密码为123456

>config set requirepass 123456
>OK

注意:一旦设置密码,必须先验证通过密码,否则所有操作不可用。
操作见如下示例:

>config get requirepass
(error)NOAUTH Authentication required
使用auth password验证密码
>auth 123456
>OK
>config get requirepass
1)"requirepass"
2)"123456"

验证如下图:
在这里插入图片描述
也可以退出重新登录:

>redis-cli -h 127.0.0.1 -p 6379 -a 123456

实例操作如下图所示:
在这里插入图片描述
命令行设置的密码在服务重启后失效,所以一般不使用这种方式。

2. 配置文件设置密码

找到redis.conf配置文件,搜索requirepass,找到注释密码行,添加密码如下:

# requirepass foobared
requirepass 123456     //注意,行前不能有空格

在这里插入图片描述

重启服务后,客户端重新登录后发现

>config get requirepass
1)"requirepass"
2)""密码还是空?

关键:虽然修改了.conf文件,但是exe却没有使用这个conf,所以我们需要手动指定一下exe按照修改后的conf运行,就OK了。

所以,这里再一次重启redis服务(指定配置文件)

>redis-server 配置文件路径(如下!十分十分重要!!!)
>redis-server /etc/redis/redis.conf
客户端再重新登录,OK了。>redis-cli -h 127.0.0.1 -p 6379 -a 123456
>config get requirepass
1)"requirepass"
2)"123456"

话说我最大的跟头就是栽在了这里。 >.<
在这里插入图片描述

二、遇到问题&解决问题

1.无法打开配置文件:

(1)问题描述:
在这里插入图片描述

rooty@Floret:~$ gedit /etc/redis/redis.conf(gedit:22613): dbind-WARNING **: 23:09:28.280: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
(gedit:22613): dconf-WARNING **: 23:09:28.367: failed to commit changes to dconf: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._g_2dfile_2derror_2dquark.Code2: Cannot open dconf database: Failed to open file “/home/rooty/.config/dconf/user”: Permission denied

翻译一哈:

(gedit:22613):dbind警告**:23:09:28.280:无法向辅助功能总线注册:未收到答复。可能的原因包括:远程应用程序未发送答复、消息总线安全策略阻止了答复、答复超时已过期或网络连接已断开。
(gedit:22613):dconf警告**:23:09:28.367:未能提交对dconf:GDBus的更改。错误:org.gtk.GDBus.unappedgerror.Quark.\u gò2dfileò2derrorò2dquark.Code2:无法打开dconf数据库:未能打开文件“/home/rooty/.config/dconf/user”:权限被拒绝

(2)解决办法

用户权限不够,使用sudo命令输入密码即可:
sudo gedit /etc/redis/redis.conf

在这里插入图片描述

2.配置文件密码修改成功点击保存但是却gedit警告:

  Set document metadata failed

在这里插入图片描述
保存之后有警告提示如图:
在这里插入图片描述
问题已解决:参见链接博客

ubuntu18.04 gedit警告问题
https://blog.csdn.net/qq_43543789/article/details/104221619

3.gedit 配置文件修改密码成功但仍CONFIG GET为空

(1)问题描述:如图所示查看配置文件也显示已经修改成功,但是重启服务器后获取密码还是为空。
在这里插入图片描述
(2)艰难摸索解决路途小记:
在这里插入图片描述
第一次try:(E)无论如何编辑
(修改了但是仍然没有起色。)
第二次try:(D)删除它
(删除后修改但是仍然没有起色。)

问题不在这里,但是这里可以直接选择删除就好,因为没啥影响,你可以在vi再次修改配置文件相关操作,swp文件是之前你操作的中间文件。

在这里插入图片描述
这里成功进入Redis配置文件redis.conf如下图示:
在这里插入图片描述
更改了密码后在命令模式下执行 wq! 保存修改并退出
在这里插入图片描述
重启Redis服务:
在这里插入图片描述
由于迷途摸索,我查阅了help文档 如何覆盖另存文件
(原来是想把那个现有的swp文件内容覆盖合并到redis.conf。)
在这里插入图片描述
在这里插入图片描述
问题描述:

'cpoptions' option.Note that the 'fsync' option matters here.  If it's set it may make writes
slower (but safer).:sav :saveas
:sav[eas][!] [++opt] {file}Save the current buffer under the name {file} and setthe filename of the current buffer to {file}.  Theprevious name is used for the alternate file name.The [!] is needed to overwrite an existing file.When 'filetype' is empty filetype detection is donewith the new name, before the file is written.When the write was successful 'readonly' is reset.{not in Vi}:up :update
:[range]up[date][!] [++opt] [>>] [file]Like ":write", but only write when the buffer has beenmodified.  {not in Vi}

大概翻译一下:

:sav 
:saveas
:sav[eas][!] [++opt] {file}
保存当前缓冲器的名称&文件用文件名 {file} 保存当前缓冲区,并设置当前缓冲区的文件名为 {file}。 前一个名字用作轮换文件名。 [!] 用以覆盖已存在的文件。 如果 'filetype' 为空,在写入文件前用新名字进行文件类型检测。 如果写操作成功,复位 'readonly'

注意 :The [!] is needed to overwrite an existing file.
这里我是使用了sav! 但是忽略了这个指令必须要有参数(目的文件名)才能执行操作。

在这里插入图片描述
( 这里傻傻操作想把那个现有的swp文件内容覆盖合并到redis.conf。如下图 :)
在这里插入图片描述
出现错误提示:
在这里插入图片描述
没办法覆盖合并小啊呜想直接进行密码操作,发现竟然强制不能进行修改了。哭哭!
在这里插入图片描述
如下图实例,最后强制退出结束了这场摸索。(重点要来了!)
在这里插入图片描述
重点来了!!!)
在这里插入图片描述
我在没有关闭redis正在运行的服务基础上执行如下命令

sudo redis-server /etc/redis/redis.conf

在这里插入图片描述
然后习惯性查看进程状态,发现了个我一直忽略的事情:
仔细比对下图圈1和圈2标色的两个redis服务进程。
在这里插入图片描述

rooty      201  0.0  0.0  49828  2404 tty2     Sl   00:35   0:00 redis-server
root       212  0.1  0.0  49828  2084 ?        Ssl  00:42   0:00 redis-server *:6379

rooty和root表面差别在:redis-server和redis-server *:6379。

因为我小偷懒每次运行Redis服务都不指明配置文件结果造成更改配置文件但是其实是木有使用修改的配置文件。
(天了噜)

后续摸索:
(注意:我为了防止原先设置操作密码123456的干扰,后面另启窗口手动修改了配置文件密码为 florety
在这里插入图片描述
首先关闭了默认配置文件的rooty下的Redis服务。然后进行root下的Redis连接。相关操作如下图:
从例图我们可以看到,这个时候我们之前修改的redis.conf文件才起作用,设置的密码才有效。
在这里插入图片描述
密码验证登录试一哈!
Duang! 一切顺利~
终于解决了这个心头大患!
在这里插入图片描述
在这里插入图片描述

4.注意修改配置文件完成后,一定要重启Redis服务器!

如下图可见服务器已经关闭。
在这里插入图片描述
啊!怎么就2点多了!
晕晕,
要睡觉啦!
在这里插入图片描述
终于O了,累晕辽。
关于Redis的更多学习使用随后再来吧!

就酱,嘎啦!

在这里插入图片描述

注:
1.Redis设置密码参见:
https://www.cnblogs.com/x-ll123/p/9717351.html。


http://chatgpt.dhexx.cn/article/UupP6OIV.shtml

相关文章

docker设置redis密码

docker设置redis密码 方法一&#xff1a;创建redis容器并设置密码 docker run -itd --name redis-6379 -p 6379:6379 redis --requirepass 123456说明: --name (启动容器的名称) -p 映射端口:redis启动端口 redis --requirepass 启动密码方法二&#xff1a;为现有的redis创…

如何让用户记住登录账号和密码?

你可能会说&#xff0c;记住用户名密码&#xff0c;本来就是份内的事啊&#xff01;大不了找回密码&#xff0c;甚至还有1Password 等神器……但折腾用户不该是产品经理的目标&#xff0c;我们还是要找出这里的设计挑战。 这两个场景&#xff0c;背后有一个共同的因素&#xf…

Java用户账号密码创建登录

完成这个题目需要创建两个class文件 一个存放用户类一个测试类 用户类 package com.bili.demo2; /*** 用户类* author 21434**/ public class User {private String userName;private String userPassWord;private boolean state;public User() {super();}public User(String…

nacos踩坑,输入账号密码无法登录

问题描述&#xff1a;nacos启动&#xff0c;登录正确的账号密码(nacos/nacos)无法登录 解决思路&#xff1a; 这里使用的是jeecgboot项目 1.检查nacos配置(数据源) 2.排查是否是缓存原因(清楚idea缓存,Chrome缓存) 3.检查数据库 1.检查nacos配置数据库: 检查账号&#xff0c;密…

登录注册忘记密码页面

这是一个登录、注册页面&#xff0c;还包含了忘记密码&#xff0c;点击其中的链接&#xff0c;就会以动画的形式进行切换。背景图片可以任意更换&#xff0c;搭配出想要的风格。 演示 下载

04 | 后台登录:基于账号密码的登录方式(上)

你好&#xff0c; 我是程序猿零壹。 在上一篇文章如何快速部署一个基于laravel框架开发的网站中&#xff0c;我们一起使用laravel框架快速部署了一个网站。但是目前网站上只有一个默认的页面&#xff0c;显得有点孤单寂寞冷&#xff0c;是时候要开始给网站添砖加瓦了。 在php…

Java用户账号和密码登录

package javaProject; import java.util.Scanner; public class test { private String []userBox {"jinxueHou","123456"};//数据库存储的账号和密码,private修饰&#xff0c;只能在本类中使用 public static void main(String[] args) { // T…

FTP服务器保存账号密码自动登录后如何退出并切换用户名登录其他账号(windows 10)

我们知道ftp传输文件方便&#xff0c;并且还可以设置账号密码登录。ftp登录时有复选框用于选择记住密码&#xff0c;在勾选之后每次登录就可以直接进入自己的账号的ftp了。本文提供退出已登录此账号&#xff0c;切换到其他账号的方法。     其实并不难&#xff0c;只需要在已…

Vue如何实现不同登录方式的切换(账号密码登录、邮箱验证登录等)

文章目录 前言一、使用vue开发框架的时候&#xff0c;无论是vue2或是vue3&#xff0c;都会运用到element ui组件库或是element-plus ui组件库&#xff0c;所以我们要解决的问题首先从这些组件库里来找寻答案二、项目里按需引入或者全局导入element ui组件库或是element-plus ui…

python实现账号密码登录

用Python实现账号密码登录 准备 无需数据库 程序简介 运行这个程序&#xff0c;注册后哪怕重新运行&#xff0c;注册的账号依然存在&#xff0c;我们可以把账号密码分别保存到2个txt中&#xff0c;使用的时候再读取txt 为了安全起见&#xff0c;我们可以对账号密码进行加密…

验证账号、密码登录

在商贸系统登录的时候,不需要验证码的验证,只需要验证账户和密码正确就可以进行登录,所以我们就只需要对账号和密码进行判断。这里写的登录逻辑很简单。 只做到了:当用户输入了账号和密码正确就可以登录进去,并没有完善到其它功能所以逻辑是容易理解而且清晰。给登录按钮…

(Html)实现一个账号密码登录的弹窗界面(代码)

一、代码段 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>账号密码弹窗</title> </head><body><label>账号</label><br><input id"user"><br><label>…

QT 记住账号密码登录

弄了个简单的记住账号密码登录功能&#xff0c;适合初学者学习&#xff0c;直接上代码&#xff0c;代码有注释。 喂饭到嘴边了&#xff0c;看你会不会吃啦 开发环境是VS2015 1、由于没有写注册功能&#xff0c;所以账号和密码我提前写在一个ini文件&#xff0c;这个文件直接手…

31、Java——JDBC实现账号密码登录

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;乐趣国学的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;Java案例分…

基于Java的账号、密码登陆页面及验证

基于Java的登陆页面 需求功能 程序登录页面验证页面 后续 需求 我们在日常上网的过程中&#xff0c;常常会使用很多注册、登录我们的账号和密码的环节。这是网页开发中必不可少的一个环节。本文中将利用JavaTomcat完成一个简单的账号、密码登录的网页。 功能 首先&#xff0…

MATLAB中用imfilter()对图像进行相关或卷积运算前一定要用tofloat()或im2double()将数据类型转换为浮点型

MATLAB中用imfilter()对图像进行相关或卷积运算前一定要用tofloat()将数据类型为float 为什么&#xff1f; 看一个实例的运行结果就知道了~ f imread(F:\material\images\P0020-Line-detection-01.tif); w [2 -1 -1;-1 2 -1;-1 -1 2]; g_tofloat imfilter(tofloat(f),w); …

matlab图像处理函数

1.1 读取和保存图像(其中Iimread(‘’)) 1.1.1 imtool() imtool&#xff08;I&#xff09;在图形中显示灰度图像I&#xff0c;I为矩阵&#xff0c;元素范围为0-255. imtool&#xff08;I&#xff0c;[low&#xff0c;high]&#xff09;小于等于low的为黑色&#xff0c;大于等于…

【Matlab】im2double的用法

im2double函数用于将图像转换为双精度。 语法形式有4种&#xff0c;分别是&#xff1a; I2 im2double(I); RGB2 im2double(RGB); I im2double(BW); X2 im2double(X, indexed); 描述&#xff1a; I2 im2double(I)将灰度图像I转换为双精度&#xff0c;必要时可以…

MATLAB图像处理,double 与im2double的用处与区别【学习笔记】

double只是将像素的灰度值从int8换为double&#xff0c;数值大小不变&#xff0c;125还是125.0。 im2double则附带了归一化操作&#xff0c;125变成了125/2550.490196078 double也不是毫无用处&#xff0c;在将一个256级的灰度图修改为4级时候就用这个&#xff0c;用im2double反…

信息论 | 计算离散信源的信息量和熵的MATLAB实现(函数封装调用)

《信息论基础》 实验报告 姓名 XX 班级 XXXXXX 学号 2020XXXXXXXX 实验项目 计算离散信源的熵 日期 2022.10.21 实验环境 联想电脑MATLAB R2018a版 实验内容与完成情况&#xff08;记录实验内容、操作步骤、实验结果等&#xff0c;包括系统输出的错误信息&#xff0c…