• NoSQL之Redis高级实用命令详解--安全和主从复制


    NoSQL之Redis高级实用命令详解--安全和主从复制

    NoSQL Redis   2014-01-09 22:52:47 发布
    您的评价:
         
    0.0  
    收藏     1收藏

    一、安全性

    为redis设置密码:设置客户端连接后进行任何其他指定前需要实用的密码。

    警告:因为redis速度非常快,所以在一台较好的服务器下,一个外部用户可以在一秒钟进行150k次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解。

    修改密码的方法:

    只需要在redis的配置文件redis.conf中开启requirepass就可以了,比如我设置我的访问密码是mypassword

    requirepass mypassword

    在redis.conf中加入这一行代码之后,我们杀死原来的redis进程:pkill redis然后重新启动redis:/usr/local/redis-2.8.1/src/redis-server /user/local/redis-2.8.1/redis.conf

    然后我们用/usr/local/redis-2.8.1/src/redis-cli发现还能登陆进来,但是当我们执行操作的时候,比如keys *就会如下错误:

    127.0.0.1:6379> keys *
    (error) NOAUTH Authentication required.

    没有必要的授权验证。

    在这里redis支持两种授权方式,一种就是直接用auth命令进行授权:

    NoSQL之Redis高级实用命令详解--安全和主从复制

    第一次输入了一个错误的密码test,授权失败,第二次输入正确的密码,返回ok,授权成功,之后就可以进行所有的操作。

    如果我们不想每次登录进来之后都要用auth进行授权,那么我们可以采用另一种授权方式,就是在登陆客户端的时候用-a 来指定密码

    sh-3.2# /usr/local/redis-2.8.1/src/redis-cli -a mypassword

    上面的密码如果输错,也能进入,但是之后不能进行操作。需要用auth重新进行授权。

    二、主从复制

    Redis主从复制配置和使用都非常简单。通过主从复制可以允许多个slave server拥有和master server相同的数据库副本。

    redis主从复制的特点:

    1.一台master可以拥有多个slave(1对多的关系)

    2.多个slave可以连接同一个master外,还可以连接到其他slave(这样做的原因是如果masterdown掉之后其中的一台slave立马可以充当master的角色,这样整个服务流程不受影响)

    3.中从复制不会阻塞master,在同步数据的同时,master可以继续处理client请求。

    4.提高系统的伸缩性

    redis主从复制的过程:

    1.slave与master建立连接,发送sync同步命令。

    2.Master会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新得写命令并缓存。

    3.后台完成保存后,将文件发送给slave

    4.slave将文件保存到硬盘上

    配置主从服务器:

    配置slave服务器很简单,只需要在slave的配置文件中加入以下配置:

    slaveof masterip masterport

    如果主机开启了登录验证,那么还需要加入下面这句:

    masterauth authpassword

    然后启动从机,首先主机会发快照给从机,从机的数据库会更新到和主机相同的状态,然后往主机里写内容,从机也会随之更新。

    如果我们在从机上写数据那么会报错:

    (error) READONLY You can't write against a read only slave.

    我们可以用info命令来查看主从服务器的信息,在从机上用info命令可以看到

    role:slave

    master_host:masterip

    master_port:masterport

    master_link_status:up证明和主机处在连接状态

    在主机上用info命令

    role:master

    同时连接着几台从机

    connected_slaves:1

    同时可以查看连接到主机上的从机的ip和在线状态

    slave0:ip=192.168.1.107,port=6379,state=online,offset=1709,lag=1

    原文地址:http://blog.csdn.net/liutingxu1/article/details/17116107
  • 相关阅读:
    DevOps平台中的自动化部署
    GitLab的安装及使用教程
    Nginx配置相关
    Shell常用模块
    PostgreSQL基础
    大数据集群监控工具
    大数据常用组件
    kafka知识
    数据结构可视化(包括红黑树动态演示)
    python 周考1
  • 原文地址:https://www.cnblogs.com/anruy/p/5897501.html
Copyright © 2020-2023  润新知