06_NoSQL数据库之Redis数据库:Redis的高级应用之登录授权和主从复制
Redis高级实用特征
安全性(登录授权和登录后使用auth授权)
设置客户端连接后进行任何其他指定前需要使用的密码。
警告:因为redis速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒中进行150k次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解。
修改密码只需要在我们的配置文件中修改下面参数:
|
#requirepass foobared Requirepassbeijing |
上面的一句表示的是设置连接的口令是beijing.
vim /usr/local/redis/etc/redis.conf,文件中的toto就是redis的密码。
删除服务,然后重启redis服务
|
[toto@localhost ~]$pkill redis-server [toto@localhost ~]$ps -ef | grep "redis" toto 5737 toto 5740 toto 12995 toto 12997 [toto@localhost ~]$ kill -9 5737 [toto@localhost ~]$ kill -9 5740 [toto@localhost ~]$ ps -ef | grep "redis" toto 13013 [toto@localhost ~]$/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf |
客户端登录
|
[toto@localhost bin]$ redis-cli 127.0.0.1:6379> keys * (error) NOAUTH Authentication required. //没有授权之前输出这一行 127.0.0.1:6379>auth toto OK 127.0.0.1:6379> keys * //授权之后可以使用keys (empty list or set) 127.0.0.1:6379> set name toto OK 127.0.0.1:6379> keys * 1) "name" 127.0.0.1:6379> |
如果想在登录之后就可以直接使用各种命令了,这时候可以使用下面的方式进行登录:
|
127.0.0.1:6379> keys * 1) "name" 127.0.0.1:6379> exit [toto@localhost bin]$ redis-cli -a toto 加上一个-a,然后后面再加上密码toto 127.0.0.1:6379> keys * 1) "name" 127.0.0.1:6379> |
主从复制
Redis主从复制配置和使用都非常简单。通过主从复制可以允许多个slave
server拥有和master server相同的数据库副本。
A Redis主从复制特点:
Master可以拥有多个slave
多个slave可以连接同一个master外,还可以连接到其它slave。
主从复制不会阻塞master,在同步数据时,master可以继续处理client请求。
提高系统的伸缩性。
B:Redis主从复制过程:
Slave与master建立连接,发送sync同步命令。
Master会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存。
后台完成保存后,就将此文件发送给slave
Slave将此文件保存到硬盘上。
C:配置主从服务器:
配置slave服务器很简单,只需要在slave的配置文件中加入以下配置:
|
Slaveof 192.168.1.1 6379 #指定master的ip和端口 |
|
masterauth toto #这是主机的密码 |
实验方法:
关闭虚拟机中的此Linux,将其命名为Redis_master,然后通过克隆的方式克隆一个Linux,并将其命名为Redis_slave.
注意克隆方式:右击虚拟机à管理à克隆---最后一直点击下一步。
克隆后的效果是:
其中master的ip地址是192.168.6.26,slave的ip地址是192.168.6.25
用master主机ping
slave主机,如果ping同了,则说明两台虚拟机是可以连通的。
|
下面开始启动master: /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf |
|
进入master的客户端 [toto@localhost ~]$ /usr/local/redis/bin/redis-cli -a toto 127.0.0.1:6379> keys * 1) "name" 127.0.0.1:6379> flushall OK 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> |
|
配置从机,修改配置文件:vim /usr/local/redis/etc/redis.conf 配置slaveof,配置的内容是:slaveof 配置masterauth,配置的内容是:masterauth |
|
启动slave /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf |
|
登录slave /usr/local/redis/bin/redis-cli -a toto 至此:主从复制配置完成 |
我们怎样判断哪个是主哪个是从呢?我们只需要调用info就可以得到主从的信息,我们在从库中执行info。
参考资料:
|
一、Redis的Replication: |
06_NoSQL数据库之Redis数据库:Redis的高级应用之登录授权和主从复制的更多相关文章
- Redis数据库高级实用特性:持久化机制
Redis数据库高级实用特性:持久化机制 大型web系统数据缓存设计 Redis高级特性:虚拟内存的使用技巧 Redis高级实用特性:安全性与主从复制 Memcached.Redis OR Tair
- 07_NoSQL数据库之Redis数据库:Redis的高级应用之事务处理、持久化操作、pub_sub、虚拟内存
事务处理 Redis对事务的支持目前还比较简单.Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令.当一个client在一个连接中发出mul ...
- 高级运维(六):源码安装Redis缓存服务、常用Redis数据库操作指令、配置Redis主从服务器
一.源码安装Redis缓存服务 目标: 本案例要求先快速搭建好一台Redis服务器,并测试该缓存服务器: 1> 设置变量test,值为123 2> 查看变量test的值 3> 设置计 ...
- 超强、超详细Redis数据库入门教程
这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用red ...
- Redis数据库入门教程
[使用redis客户端] 我们直接看一个例子: 复制代码 代码如下: //这样来启动redis客户端了 $ ./redis-cli //用set指令来设置key.value 127.0.0.1:637 ...
- Redis数据库的安装配置方
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/100.html?1455869650 redis 是一个高性能的key-v ...
- 超强、超详细Redis数据库入门教程(转载)
这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使 ...
- 项目实战11—企业级nosql数据库应用与实战-redis的主从和集群
企业级nosql数据库应用与实战-redis 环境背景:随着互联网2.0时代的发展,越来越多的公司更加注重用户体验和互动,这些公司的平台上会出现越来越多方便用户操作和选择的新功能,如优惠券发放.抢红包 ...
- 企业级nosql数据库应用与实战-redis
一.NoSQL简介 1.1 常见的优化思路和方向 1.1.1 MySQL主从读写分离 由于数据库的写入压力增加,Memcached只能缓解数据库的读取压力.读写集中在一个数据库上让数据库不堪重负,大部 ...
随机推荐
- python中常见错误及try-except 的用法
1.常见的错误 我们在使用python过程中会出现: (1)SyntaxError 句法错误. (2)IndentationError 缩进错误. (3)NameError 变量未定义错误. (4)T ...
- 为什么Unix只允许对非目录文件实行勾链?
Unix文件系统的目录结构中带有交叉勾链,用户可以用不同的文件路径名共享一个文件,即文件的勾链在用户看来是为了一个已存在的文件另起一个路径名.在Unix的多级目录结构中勾链的结果表现为一个文件由多个目 ...
- Python与C的简单比较(Python3.0)
Python可以说是目前最火的语言之一了,人工智能的兴起让Python一夜之间变得家喻户晓,Python号称目前最最简单易学的语言,现在有不少高校开始将Python作为大一新生的入门语言.本萌新也刚开 ...
- [TensorFlow 团队] TensorFlow 数据集和估算器介绍
发布人:TensorFlow 团队 原文链接:http://developers.googleblog.cn/2017/09/tensorflow.html TensorFlow 1.3 引入了两个重 ...
- Recycleview实现复杂布局
Recycleview实现复杂布局 首先 附上Demo链接和效果供大家参考 Demo 实现思路 代码思考 时间是一切财富中最宝贵的财富. -- 德奥弗拉斯多 <a 实现思路 开始看到设计稿子的时 ...
- mac下怎么删除隐藏文件比如 .Trashes文件
U盘和移动硬盘接入Mac时会产生.Trashes,.Spotlight-V100,.fseventsd等文件 每插入Mac一次,都会检查是否有这些文件,如果没有,就会创建这些文件 特别是有时候,在文件 ...
- 脱离文档流两操作,float和position:absolute的区别
文档流:将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,块状元素独占一行,内联元素不独占一行: CSS中脱离文档流,也就是将元素从普通的布局排版中拿走,其他盒子在定位的时候,会当做脱离 ...
- Linux安装JProfiler监控tomcat
下载JProfiler包wget http://download-keycdn.ej-technologies.com/jprofiler/jprofiler_linux_9_2.rpm 安装JPro ...
- My Stuck in C++
My Stuck in C++ Zhong-Liang Xiang Oct. 1st, 2017 这个专题记录了对于我而言, c++迷一样的东西.
- c++ Struct和Class的区别
C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能.struct能包含成员函数吗? 能!struct能继承吗? 能!!stru ...