`

Redis笔记(三)添加密码并修改默认端口后的主从同步

 
阅读更多

今天发现在Redhat as 5上编译2.6.14会报错,所以下面的演示基于2.4.18,报错信息:

[root@as5 src]# uname -a
Linux as5.cooly.slum 2.6.18-8.el5xen #1 SMP Fri Jan 26 14:42:21 EST 2007 i686 i686 i386 GNU/Linux
[root@as5 src]# make
    LINK redis-server
zmalloc.o: In function `zmalloc_used_memory':
/root/redis-2.6.14/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4'
collect2: ld 返回 1
make: *** [redis-server] 错误 1
[root@as5 src]#

   上一节中redis装在了三个不同的机器上,已经做了主从,也能正常同步,但是没有密码保护,并且使用了默认的端口,下面先说一下本次的主从情况:

 

 

 

master 127.0.0.1 6379  slave1 127.0.0.1 6381 slave2 127.0.0.1 6382

 在没有添加密码前:

redis 127.0.0.1:6379> get user:name
"zl"
redis 127.0.0.1:6381> get user:name
"zl"
redis 127.0.0.1:6382> get user:name
"zl"

 

可见,已经主从同步。

先给master设置密码,redis提供了在线直接修改配置和修改配置文件两种方法,先使用直接修改,调用命令config set requirepass 密码,设置成功后,再执行info命令,发现返回错误,这是因为配置已经生效,访问需要使用密码,执行命令auth 密码,再次执行info命令,已经成功:

 

 redis 127.0.0.1:6379>config set requirepass #pass123#
OK
redis 127.0.0.1:6379> info
ERR operation not permitted
redis 127.0.0.1:6379> auth #pass123#
OK
redis 127.0.0.1:6379> info
redis_version:2.4.18
redis_git_sha1:00000000
redis_git_dirty:0
在master中新增加一个记录:

redis 127.0.0.1:6379> set user:age 29
OK
redis 127.0.0.1:6379> get user:age
"29"
redis 127.0.0.1:6379>

 下面重启并访问slave1和slave2【未重启时还是同步了,我重启slave1后才不会正常同步,不知道2.6会不会有这个问题,明天说明20130719-经测试发现,2.6.14版本也是同样处理的,即,当master使用config set requirepass修改密码后,修改密码之前连接的客户端在没有重启的情况下,仍然可以访问】:

 

redis 127.0.0.1:6381> keys *
1) "user:name"
slave1中显示已经和master断开:

role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:down
slave2中也没有同步到信息:

redis 127.0.0.1:6382> keys *
1) "user:name"
刚才设置的user:age并没有同步,说明设置的密码已经生效了,此时在slave1中输入  config set masterauth #pass123#

redis 127.0.0.1:6381> config set masterauth #pass123#
OK
redis 127.0.0.1:6381> get user:age
"29"
redis 127.0.0.1:6381>
再访问slave2,也能正常取到值了:

redis 127.0.0.1:6382> get user:age
"29"
redis 127.0.0.1:6382>

  至此,已经能访问添加了密码的master,刚才的配置在重启服务后会丢失,如果永久保存,需要修改配置文件对应的参数,如config set requirepass #pass123#只需要找到redis.conf中的requirepass,把注释去掉,并修改值为#pass123#,即可。

 

分享到:
评论

相关推荐

    狂神说Redis笔记.rar

    在本笔记中,我们将深入探讨Redis的关键特性、安装配置、数据类型、命令操作以及实际应用。 一、Redis概述 Redis起源于意大利,由Salvatore Sanfilippo创建,其全称为Remote Dictionary Server,即远程字典服务。...

    NoSql数据库之Redis笔记

    - 后台启动:修改配置文件`daemonize yes`,然后执行`./redis-server redis.conf`。 #### 四、Redis客户端 - **自带客户端**:`redis-cli`,用于连接Redis服务器,执行各种命令。 - 默认连接本地的Redis服务(`...

    redis学习笔记。

    - **基础配置**:修改 `redis.conf` 文件设置端口、内存限制、持久化策略等。 - **数据类型**:使用 String、Hash、List、Set 和 Sorted Set 存储和操作数据。 - **入门使用**:通过命令行交互,进行增删改查操作。 ...

    Redis笔记.zip

    2. **安装与配置**:Redis的安装通常涉及下载源码、编译、配置文件修改(如端口号、密码设置、日志文件路径等)以及启动服务。配置文件`redis.conf`中包含了很多可调整的参数,以优化Redis的性能和安全性。 3. **...

    redis 详细实践笔记

    Redis 是一个高性能的键值对数据存储系统,常被用作数据库、...以上就是 Redis 实践笔记中关于主从部署、哨兵系统和集群部署的知识点概述,对于实际运维和开发来说,理解并掌握这些内容是构建高可用 Redis 系统的基础。

    狂神说redis笔记

    【狂神说Redis笔记】是针对 Redis 这一高性能键值数据库的学习资料,主要面向 Java 开发者。Redis 是一个开源的、支持网络的、基于内存的数据存储系统,常用于数据库、缓存和消息中间件等场景。它以其快速、灵活和...

    redis笔记补充,用于自己学习

    2. 禁用不必要的网络服务:如默认的TCP端口6379,可更改或限制访问。 3. 定期更新:保持Redis版本最新,修复已知的安全漏洞。 通过以上内容,你应该对Redis有了更全面的了解。在实际应用中,还需要结合具体需求进行...

    redis学习笔记+练习springboot-redisdemo

    8. **配置Redis**:在SpringBoot的application.properties或yml文件中,可以配置Redis的连接信息,如主机地址、端口、密码等。 9. **RedisTemplate与StringRedisTemplate**:Spring Boot提供了这两个模板类来操作...

    redis+redis-desktop-manager-0.8.3.3850+笔记

    `NoSql数据库之Redis笔记.docx`很可能是关于Redis的使用和最佳实践的学习笔记,可能涵盖了Redis的数据类型、命令操作、集群搭建等内容。`redis.conf-中文翻译.txt`则提供了`redis.conf`配置文件的中文解释,有助于...

    redis笔记资源111

    Redis配置文件`redis.conf`可以定制服务器参数,如端口号、内存限制、持久化策略等。可以通过`redis-cli`命令行工具与Redis交互,或者使用Java等编程语言的客户端库进行连接操作。 2.1 Redis 在Java中的使用 在Java...

    2022年redis学习笔记

    安装完成后,需要配置`redis.conf`文件以满足特定的使用需求,例如设置端口、密码保护、持久化策略等。 三、Redis命令 Redis提供了丰富的命令来操作数据结构。例如: - SET/GET用于设置和获取字符串。 - HSET/HGET...

    燕十八redis视频教程笔记资料

    Redis默认是内存存储,但为了防止数据丢失,提供了两种持久化方式:RDB(Snapshotting)和AOF(Append Only File)。RDB是在指定时间间隔生成数据库的快照,而AOF记录每次写操作,以日志形式保存。可以根据实际需求...

    Redis学习笔记

    本学习笔记将基于提供的压缩包文件,深入探讨Redis的关键特性、工作原理以及常见应用场景。 首先,"深入redis学习(一)--readme and conf.doc"介绍了Redis的安装和配置过程。在配置文件中,我们可以设置服务器的...

    redis学习笔记

    Redis 的配置文件 `redis.conf` 可以用来设置端口、日志文件等参数。启动 Redis 服务器可以使用 `redis-server` 命令,并指定配置文件。Redis 提供了一个命令行客户端 `redis-cli` 用于交互式操作。 在实际应用中,...

    redis单机使用

    Redis的配置文件通常是`redis.conf`,可以通过修改此文件来设置服务器的各种参数,如端口号、日志级别、持久化策略等。例如,设置`bind 127.0.0.1`限制只允许本地连接,或者开启`requirepass`设置密码保护。 3. **...

    redis笔记以及面试题.md

    - 启动Redis服务端有三种方式: - 在当前目录下运行`redis-server`。 - 在后台运行`redis-server &`。 - 指定配置文件运行`redis-server redis.conf &`。 - 停止Redis服务有两种常见方式: - 通过`kill`命令...

    redis详细学习笔记

    虽然Redis默认未启用密码认证,但可以通过配置requirepass启用,并使用bind限制连接来源,提高安全性。 通过深入学习以上知识点,你将能够熟练地在项目中运用Redis,提升系统性能,解决各种数据存储和处理问题。...

    redis课堂笔记1

    5. 有序集合类型(Sorted Set):集合的基础上带有分数,可用于排序,如 zsadd 命令添加元素并设定分数。 Redis 还提供了一些高级功能: 1. 设置超时时间:使用 EXPIRE 命令为键设置过期时间。 2. 分布式队列:通过...

    redis相关笔记和配置文件示例

    1. `port`: 指定Redis服务器监听的端口号,默认为6379。 2. `bind`: 设置Redis服务器允许连接的IP地址,可以是单个地址或0.0.0.0来接受所有网络连接。 3. `daemonize`: 是否以守护进程模式运行Redis。 4. `...

Global site tag (gtag.js) - Google Analytics