Redis Desktop Manager 是一款强大的 Redis 图形化管理工具,它能帮助管理人员以更直观、便捷的方式管理 Redis 数据。不过,在使用 Redis Desktop Manager 之前,需要完成一系列准备工作,以确保顺利连接和管理 Redis 数据库。
一、注释 redis.conf 文件中的 bind 127.0.0.1
在 Redis 的配置文件 redis.conf 中,bind 127.0.0.1 这一行的作用是限制 Redis 只接受来自本地回环地址的连接。如果希望 Redis 能够接受来自其他主机的连接请求,就需要将这一行注释掉。注释的方法是在该行文字前加上 #号。例如:
bash
# bind 127.0.0.1
这样,Redis 就不会仅仅绑定在本地回环地址上,而是可以接受其他符合网络策略的地址的连接请求。不过,在生产环境中,放开绑定地址时需要谨慎考虑安全问题,建议结合设置密码等安全措施一同使用。
二、设置 Redis 密码
为了增强 Redis 的安全性,设置密码是一个重要的步骤。设置密码的操作需要在服务端开启的情况下,通过客户端来完成。具体步骤如下:
- 开启服务端:打开一个终端,进入 Redis 的安装目录,执行启动 Redis 服务的命令。例如,如果 Redis 安装在 /usr/local/redis 目录下,并且使用默认配置文件 redis.conf 启动,可以执行以下命令:
bash
/usr/local/redis/src/redis-server /usr/local/redis/redis.conf
- 连接客户端并设置密码:再开启一个新的终端,使用 Redis 客户端连接到 Redis 服务。如果 Redis 服务运行在本地,默认端口是 6379,可以使用以下命令连接:
bash
redis-cli -h 127.0.0.1 -p 6379
连接成功后,就可以设置密码了。设置密码有两种常见方式:
- 通过命令行设置(临时生效,重启服务后密码失效):在客户端中执行以下命令,将密码设置为 yourpassword(请替换为实际想要设置的密码):
bash
config set requirepass yourpassword
执行该命令后,无需重启 Redis 服务,当前设置的密码立即生效。但如果 Redis 服务重启,密码会恢复到原来的状态(如果原来没有设置密码,则又变为无密码状态)。
- 通过修改配置文件设置(永久生效):使用文本编辑器打开 Redis 的配置文件 redis.conf,找到 requirepass 配置项。该项默认是被注释掉的,如下所示:
bash
# requirepass foobared
取消注释,并将后面的字符串修改为自己的密码,例如:
bash
requirepass yourpassword
修改完成后,保存配置文件。然后重启 Redis 服务,使新的密码设置生效。可以通过以下命令重启 Redis 服务(假设 Redis 安装在 /usr/local/redis 目录下):
bash
/usr/local/redis/src/redis-cli shutdown
/usr/local/redis/src/redis-server /usr/local/redis/redis.conf
设置密码后,再次连接 Redis 时,需要在连接命令中加上密码参数。例如:
bash
redis-cli -h 127.0.0.1 -p 6379 -a yourpassword
或者先连接,再通过 auth 命令输入密码进行认证:
bash
redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> auth yourpassword
如果密码正确,会返回 OK,表示认证成功。
三、确保网络畅通以及 6379 端口对外开启
- 查看 CentOS 的 IP 地址:在 CentOS 系统中,如果不知道当前系统的 IP 地址,可以通过在终端中执行 ifconfig 命令来查看。执行该命令后,返回的结果中第一段数据通常包含本机的 IP 地址。例如:
bash
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fe79:62c0 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:79:62:c0 txqueuelen 1000 (Ethernet)
RX packets 3722 bytes 3467001 (3.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1440 bytes 103443 (101.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
这里的 inet 192.168.1.100 就是该 CentOS 系统的 IP 地址。
- 在 Windows 中测试端口是否畅通 :拿到 CentOS 的 IP 地址后,回到 Windows 系统中,打开命令提示符(cmd),使用 telnet 命令测试 CentOS 系统的 6379 端口是否畅通。例如,如果 CentOS 的 IP 地址是 192.168.1.100,则在 cmd 中执行以下命令:
bash
telnet 192.168.1.100 6379
执行该命令后,可能会出现以下三种情况:
- 连接成功:返回的结果可能类似于黑屏状态,光标闪烁,没有报错信息。这表示 Windows 能够成功连接到 CentOS 的 6379 端口,说明网络畅通且端口开放,可以继续后续操作。
- telnet 不是内部或外部命令:这是因为 Windows 系统默认没有安装 telnet 客户端工具。解决方法是打开 "控制面板" -> "程序" -> "程序和功能" -> "启用或关闭 Windows 功能",在弹出的窗口中找到 "Telnet 客户端",勾选并点击 "确定" 进行安装。安装完成后,即可使用 telnet 命令。
- 连接失败:例如返回 "无法打开到主机的连接,在端口 6379: 连接失败" 等类似错误信息。这通常表示 CentOS 的 6379 端口没有对外开放,需要在 CentOS 系统中进行相应设置。
- 在 CentOS 中开启 6379 端口:在 CentOS 系统中,可以使用防火墙相关命令来开启 6379 端口。首先,需要获取 root 权限,例如通过 sudo -i 命令切换到 root 用户。然后执行以下操作:
- 检查端口是否已开启:执行命令 firewall-cmd --query-port=6379/tcp,检查 6379 端口是否已经开启。如果返回结果为 no,说明该端口尚未开启。
- 开启 6379 端口:执行命令 firewall-cmd --add-port=6379/tcp,将 6379 端口添加到防火墙允许访问的端口列表中。如果命令执行成功,会返回 success。
- 再次检查端口状态:执行 firewall-cmd --query-port=6379/tcp 命令,此时返回结果应该为 yes,表示 6379 端口已经成功开启。
如果在使用 firewall 命令时遇到问题,例如虚拟机中无法使用 firewall 命令,或者使用 yum install firewall 命令提示找不到该包,可以尝试使用其他方式开启端口。例如,使用 iptables 命令:
bash
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
该命令将允许所有机器访问本机的 6379 端口。执行完该命令后,还需要保存 iptables 的设置,以确保重启后设置仍然生效。在 CentOS 系统中,可以使用以下命令保存设置:
bash
/etc/rc.d/init.d/iptables save
完成上述所有步骤后,就为使用 Redis Desktop Manager 连接 CentOS 上的 Redis 数据库做好了充分准备。通过 Redis Desktop Manager 的连接配置界面,输入 CentOS 的 IP 地址、端口号(6379)以及设置好的密码(如果有设置),就可以成功连接并管理 Redis 数据了。
总结
通过注释 redis.conf 中的 bind 限制、设置 Redis 密码以及确保网络和端口畅通,我们能够为使用 Redis Desktop Manager 连接 Redis 数据库创造必要条件。每一个步骤都至关重要,尤其是安全相关的设置(如密码设置)和网络配置(如端口开放),在实际应用中需要根据具体的环境和需求进行合理调整,以保障 Redis 服务的稳定运行和数据安全。