精华内容
下载资源
问答
  • 比较常见数据库系统都有哪些
    千次阅读
    2018-11-22 11:10:00

    一、开放性

    1. SQL Server

    只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据库。

    2. Oracle

    能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。

    3. Sybase ASE

    能在所有主流平台上运行(包括 windows)。 但由于早期Sybase与OS集成度不高,因此VERSION11.9.2以下版本需要较多OS和DB级补丁。在多平台的混合环境中,会有一定问题。

    4. DB2

    能在所有主流平台上运行(包括windows)。最适于海量数据。DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%。

    二、可伸缩性,并行性

    1. SQL server

    并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。

    转载于:https://www.cnblogs.com/nipeiyu123/p/9999844.html

    更多相关内容
  • 数据库常见安全问题有哪些

    千次阅读 2019-03-04 16:13:45
    数据库已经成为黑客的主要攻击目标,因为它们存储着大量价值和敏感的信息。 这些信息包括金融、知识产权以及企业数据等各方面的内容。网络罪犯开始从入侵在线业务服务器和破坏数据库中大量获利,因此,确保数据库...

    数据库已经成为黑客的主要攻击目标,因为它们存储着大量有价值和敏感的信息。 这些信息包括金融、知识产权以及企业数据等各方面的内容。网络罪犯开始从入侵在线业务服务器和破坏数据库中大量获利,因此,确保数据库的安全成为越来越重要的命题。网络的高速发展为企业和个人都带来了无限机遇,随着在线业务变得越来越流行,接触全球客户也成为点指间能够实现的事情。想要建立一个在线业务,最重要的就是建立一个全面的数据库,与此同时,保护你共享在网络中的数据安全也是至关重要的。

    尽管意识到数据库安全的重要性,但开发者在开发、集成应用程序或修补漏洞、更新数据库的时候还是会犯一些错误,让黑客们有机可乘。下面就列出了数据库系统10大最常见的安全问题:

    1.部署失败

    数据库陷入危机最普遍的原因就是在开发过程中的粗心大意。有些公司会意识到优化搜索引擎对其业务获得成功的重要性,但是只有对数据库进行排序的前提下,SEO才能成功对其优化。尽管功能性测试对性能有一定的保证,但测试并不能预料数据库会发生的一切。因此,在进行完全部署之前,对数据库的利弊进行全面的检查是非常重要的。

    2.数据泄露

    你可以把数据库当做后端设置的一部分,并更加注重保护互联网安全,但是这样一来其实并不起作用。因为数据库中有网络接口,如果黑客想要利用它们就可以很轻易地操纵数据库中的这些网络接口。为了避免发生这种现象,使用TLS或SSL加密通信平台就变的尤为重要。

    3.破损的数据库

    你还记得2003年的SQL Slammer蠕虫病毒可以在10分钟内感染超过90%的脆弱设备吗?该病毒可以在几分钟内感染破坏成千上万的数据库。通过利用在微软SQL Server数据库中发现的漏洞进行传播,导致全球范围内的互联网瘫痪。这种蠕虫的成功充分说明了保护数据库安全的重要性。不幸的是,由于缺乏资源和时间,大多数企业不会为他们的系统提供常规的补丁,因此,他们很容易遭受蠕虫攻击。

    4.数据库备份被盗

    对数据库而言通常存在两种类型的威胁——一个是外部,一个是内部的。你会如何处理窃取企业内部钱财和其他利益的“内鬼”?这是当代企业最常面临的一个问题,而解决这种问题的唯一方法就是对档案进行加密。

    5.滥用数据库特性

    据专家称,每一个被黑客攻击的数据库都会滥用数据库特性。尽管听起来可能有点复杂,但实际上就是利用这些数据库特征中固有的漏洞。解决这种问题的方法就是删除不必要的工具。

    6.基础设施薄弱

    黑客一般不会马上控制整个数据库,相反,他们会选择玩跳房子游戏来寻找基础设施中存在的弱点,然后再利用它们的优势来发动一连串的攻击,直到抵达后端。因此,很重要的一点是,每个部门都要演习相同数量的控制和隔离系统来帮助降低风险。

    7.缺乏隔离

    隔离管理员和用户之间的权限,如此一来内部员工想要窃取数据就需要面临更多的挑战。如果你可以限制用户账户的数量,黑客想控制整个数据库就会面临更大的挑战。

    8.SQL注入

    对于保护数据库而言,这是一个重要的问题。一旦应用程序被注入恶意的字符串来欺骗服务器执行命令,那么管理员不得不收拾残局。目前最佳的解决方案就是使用防火墙来保护数据库网络。

    9.密钥管理不当

    保证密钥安全是非常重要的,但是加密密钥通常存储在公司的磁盘驱动器上,如果这些密钥一旦遗失,那么您的系统会很容易遭受黑客攻击。

    10.数据库中的违规行为

    正是不一致性导致了漏洞。不断地检查数据库以及时发现任何异常之处是非常有必要的,开发人员应该清除地认识任何可能影响数据库的威胁因素。虽然这不是一项容易的工作,但是开发人员可以利用追踪信息/日志文本来查询和解决此类问题。

    结语

    感谢您的观看,如有不足之处,欢迎批评指正。

    在此我向大家推荐一个大数据开发交流圈:

    658558542    (☛点击即可加入群聊

    里面整理了一大份学习资料,全都是些干货,包括大数据技术入门,大数据离线处理、数据实时处理、Hadoop 、Spark、Flink、推荐系统算法以及源码解析等,送给每一位大数据小伙伴,让自学更轻松。这里不止是小白聚集地,还有大牛在线解答!欢迎初学和进阶中的小伙伴一起进群学习交流,共同进步!

    最后祝福所有遇到瓶颈的大数据程序员们突破自己,祝福大家在往后的工作与面试中一切顺利。

    展开全文
  • 常用的数据库有哪些?redis用过吗? 常见的主流数据库(DBMS):https://blog.csdn.net/gengkui9897/article/details/89294936 关系型数据库 MySQL数据库 Microsoft SQL Server数据库 Oracle数据库 Postgresql...
    常用的数据库有哪些?redis用过吗?

    常见的主流数据库(DBMS):https://blog.csdn.net/gengkui9897/article/details/89294936
    关系型数据库

    1. MySQL数据库
    2. Microsoft SQL Server数据库
    3. Oracle数据库
    4. Postgresql数据库
    5. Sybase数据库
    6. DB2数据库
    7. Access数据库

    非关系型数据库

    1. Mongodb数据库
    2. Redis数据库
    3. Hbase数据库
    4. Memcaced数据库

    常见的nosql数据库有哪些?以及他们的特点与区别?:
    https://blog.csdn.net/wyz0516071128/article/details/80877984

    Redis 和 Memcached 和mongodb的区别

    Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。

    Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。

    MongoDB是一个基于分布式文件存储的数据库,文档型的非关系型数据库,与上面两者不同。

     

     

    1.性能上:
         性能上都很出色,具体到细节,由于 Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比 Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起 Memcached,还是稍有逊色。
    前两者性能差不多,大于 Mongodb。
     
    2.内存空间和数据量大小:
         MemCached可以修改最大内存,采用LRU算法。Redis增加了VM的特性,突破了物理内存的限制。(2.4后取消
       MongoDB 适合大数据量的存储,依赖操作系统 VM 做内存管理,吃内存也比较厉害,服务不要和别的服务在一起。
     
    3.操作便利上:
         MemCached数据结构单一,仅用来缓存数据,而Redis支持更加丰富的数据类型,也可以在服务器端直接对数据进行丰富的操作,这样可以减少网络IO次数和数据体积。
       Mongodb 支持丰富的数据表达,索引,最类似关系型数据库,支持的查询语言非常丰富。
     
    4.可靠性上:
         MemCached不支持数据持久化,断电或重启后数据消失,但其稳定性是有保证的。Redis支持数据持久化和数据恢复,允许单点故障,但是同时也会付出性能的代价。
       MongoDB 从 1.8 版本开始采用 binlog 方式支持持久化的可靠性。
     
    5.应用场景:
         Memcached:动态系统中减轻数据库负载,提升性能;做缓存,适合多读少写,大数据量的情况(如人人网大量查询用户信息、好友信息、文章信息等)。
         Redis:适用于对读写效率要求都很高,数据处理业务复杂和对安全性要求较高的系统(如新浪微博的计数和微博发布部分系统,对数据安全性、读写要求都很高)。
       MongoDB:主要解决海量数据的访问效率问题。 
     
    需要慎重考虑的部分
     
    1.Memcached单个key-value大小有限,一个value最大只支持1MB,而Redis最大支持512MB
    2.Memcached只是个内存缓存,对可靠性无要求;而Redis更倾向于内存数据库,因此对对可靠性方面要求比较高
    3. 从本质上讲,Memcached只是一个单一key-value内存Cache;而Redis则是一个数据结构内存数据库,支持五种数据类型,因此Redis除单纯缓存作用外,还可以处理一些简单的逻辑运算,Redis不仅可以缓存,而且还可以作为数据库用
    4.新版本(3.0)的Redis是指集群分布式,也就是说集群本身均衡客户端请求,各个节点可以交流,可拓展行、可维护性更强大。

    5. MongoDB不支持事务。




    转自   http://www.cnblogs.com/cac2020/p/6044536.html

    Redis 的作者 Salvatore Sanfilippo 曾经对这两种基于内存的数据存储系统进行过比较:


    1. Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。所以,如果需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。


    2. 内存使用效率对比:使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。


    3. 性能对比:由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。


    具体为什么会出现上面的结论,以下为收集到的资料:


    1、数据类型支持不同


    与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多。最为常用的数据类型主要由五种:String、Hash、List、Set和Sorted Set。Redis内部使用一个redisObject对象来表示所有的key和value。redisObject最主要的信息如图所示:



    type代表一个value对象具体是何种数据类型,encoding是不同数据类型在redis内部的存储方式,比如:type=string代表value存储的是一个普通字符串,那么对应的encoding可以是raw或者是int,如果是int则代表实际redis内部是按数值型类存储和表示这个字符串的,当然前提是这个字符串本身可以用数值表示,比如:”123″ “456”这样的字符串。只有打开了Redis的虚拟内存功能,vm字段字段才会真正的分配内存,该功能默认是关闭状态的。


    1)String


    • 常用命令:set/get/decr/incr/mget等;


    • 应用场景:String是最常用的一种数据类型,普通的key/value存储都可以归为此类;


    • 实现方式:String在redis内部存储默认就是一个字符串,被redisObject所引用,当遇到incr、decr等操作时会转成数值型进行计算,此时redisObject的encoding字段为int。


    2)Hash


    • 常用命令:hget/hset/hgetall等


    • 应用场景:我们要存储一个用户信息对象数据,其中包括用户ID、用户姓名、年龄和生日,通过用户ID我们希望获取该用户的姓名或者年龄或者生日;


    • 实现方式:Redis的Hash实际是内部存储的Value为一个HashMap,并提供了直接存取这个Map成员的接口。如图所示,Key是用户ID, value是一个Map。这个Map的key是成员的属性名,value是属性值。这样对数据的修改和存取都可以直接通过其内部Map的Key(Redis里称内部Map的key为field), 也就是通过 key(用户ID) + field(属性标签) 就可以操作对应属性数据。当前HashMap的实现有两种方式:当HashMap的成员比较少时Redis为了节省内存会采用类似一维数组的方式来紧凑存储,而不会采用真正的HashMap结构,这时对应的value的redisObject的encoding为zipmap,当成员数量增大时会自动转成真正的HashMap,此时encoding为ht。



    3)List


    • 常用命令:lpush/rpush/lpop/rpop/lrange等;


    • 应用场景:Redis list的应用场景非常多,也是Redis最重要的数据结构之一,比如twitter的关注列表,粉丝列表等都可以用Redis的list结构来实现;


    • 实现方式:Redis list的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销,Redis内部的很多实现,包括发送缓冲队列等也都是用的这个数据结构。


    4)Set


    • 常用命令:sadd/spop/smembers/sunion等;


    • 应用场景:Redis set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的;


    • 实现方式:set 的内部实现是一个 value永远为null的HashMap,实际就是通过计算hash的方式来快速排重的,这也是set能提供判断一个成员是否在集合内的原因。


    5)Sorted Set


    • 常用命令:zadd/zrange/zrem/zcard等;


    • 应用场景:Redis sorted set的使用场景与set类似,区别是set不是自动有序的,而sorted set可以通过用户额外提供一个优先级(score)的参数来为成员排序,并且是插入有序的,即自动排序。当你需要一个有序的并且不重复的集合列表,那么可以选择sorted set数据结构,比如twitter 的public timeline可以以发表时间作为score来存储,这样获取时就是自动按时间排好序的。


    • 实现方式:Redis sorted set的内部使用HashMap和跳跃表(SkipList)来保证数据的存储和有序,HashMap里放的是成员到score的映射,而跳跃表里存放的是所有的成员,排序依据是HashMap里存的score,使用跳跃表的结构可以获得比较高的查找效率,并且在实现上比较简单。


    2、内存管理机制不同


    在Redis中,并不是所有的数据都一直存储在内存中的。这是和Memcached相比一个最大的区别。当物理内存用完时,Redis可以将一些很久没用到的value交换到磁盘。Redis只会缓存所有的key的信息,如果Redis发现内存的使用量超过了某一个阀值,将触发swap的操作,Redis根据“swappability = age*log(size_in_memory)”计算出哪些key对应的value需要swap到磁盘。然后再将这些key对应的value持久化到磁盘中,同时在内存中清除。这种特性使得Redis可以保持超过其机器本身内存大小的数据。当然,机器本身的内存必须要能够保持所有的key,毕竟这些数据是不会进行swap操作的。同时由于Redis将内存中的数据swap到磁盘中的时候,提供服务的主线程和进行swap操作的子线程会共享这部分内存,所以如果更新需要swap的数据,Redis将阻塞这个操作,直到子线程完成swap操作后才可以进行修改。当从Redis中读取数据的时候,如果读取的key对应的value不在内存中,那么Redis就需要从swap文件中加载相应数据,然后再返回给请求方。 这里就存在一个I/O线程池的问题。在默认的情况下,Redis会出现阻塞,即完成所有的swap文件加载后才会相应。这种策略在客户端的数量较小,进行批量操作的时候比较合适。但是如果将Redis应用在一个大型的网站应用程序中,这显然是无法满足大并发的情况的。所以Redis运行我们设置I/O线程池的大小,对需要从swap文件中加载相应数据的读取请求进行并发操作,减少阻塞的时间。


    对于像Redis和Memcached这种基于内存的数据库系统来说,内存管理的效率高低是影响系统性能的关键因素。传统C语言中的malloc/free函数是最常用的分配和释放内存的方法,但是这种方法存在着很大的缺陷:首先,对于开发人员来说不匹配的malloc和free容易造成内存泄露;其次频繁调用会造成大量内存碎片无法回收重新利用,降低内存利用率;最后作为系统调用,其系统开销远远大于一般函数调用。所以,为了提高内存的管理效率,高效的内存管理方案都不会直接使用malloc/free调用。Redis和Memcached均使用了自身设计的内存管理机制,但是实现方法存在很大的差异,下面将会对两者的内存管理机制分别进行介绍。


    Memcached默认使用Slab Allocation机制管理内存,其主要思想是按照预先规定的大小,将分配的内存分割成特定长度的块以存储相应长度的key-value数据记录,以完全解决内存碎片问题。Slab Allocation机制只为存储外部数据而设计,也就是说所有的key-value数据都存储在Slab Allocation系统里,而Memcached的其它内存请求则通过普通的malloc/free来申请,因为这些请求的数量和频率决定了它们不会对整个系统的性能造成影响Slab Allocation的原理相当简单。 如图所示,它首先从操作系统申请一大块内存,并将其分割成各种尺寸的块Chunk,并把尺寸相同的块分成组Slab Class。其中,Chunk就是用来存储key-value数据的最小单位。每个Slab Class的大小,可以在Memcached启动的时候通过制定Growth Factor来控制。假定图中Growth Factor的取值为1.25,如果第一组Chunk的大小为88个字节,第二组Chunk的大小就为112个字节,依此类推。




    当Memcached接收到客户端发送过来的数据时首先会根据收到数据的大小选择一个最合适的Slab Class,然后通过查询Memcached保存着的该Slab Class内空闲Chunk的列表就可以找到一个可用于存储数据的Chunk。当一条数据库过期或者丢弃时,该记录所占用的Chunk就可以回收,重新添加到空闲列表中。从以上过程我们可以看出Memcached的内存管理制效率高,而且不会造成内存碎片,但是它最大的缺点就是会导致空间浪费。因为每个Chunk都分配了特定长度的内存空间,所以变长数据无法充分利用这些空间。如图 所示,将100个字节的数据缓存到128个字节的Chunk中,剩余的28个字节就浪费掉了。



    Redis的内存管理主要通过源码中zmalloc.h和zmalloc.c两个文件来实现的。Redis为了方便内存的管理,在分配一块内存之后,会将这块内存的大小存入内存块的头部。如图所示,real_ptr是redis调用malloc后返回的指针。redis将内存块的大小size存入头部,size所占据的内存大小是已知的,为size_t类型的长度,然后返回ret_ptr。当需要释放内存的时候,ret_ptr被传给内存管理程序。通过ret_ptr,程序可以很容易的算出real_ptr的值,然后将real_ptr传给free释放内存。




    Redis通过定义一个数组来记录所有的内存分配情况,这个数组的长度为ZMALLOC_MAX_ALLOC_STAT。数组的每一个元素代表当前程序所分配的内存块的个数,且内存块的大小为该元素的下标。在源码中,这个数组为zmalloc_allocations。zmalloc_allocations[16]代表已经分配的长度为16bytes的内存块的个数。zmalloc.c中有一个静态变量used_memory用来记录当前分配的内存总大小。所以,总的来看,Redis采用的是包装的mallc/free,相较于Memcached的内存管理方法来说,要简单很多。


    3、数据持久化支持


    Redis虽然是基于内存的存储系统,但是它本身是支持内存数据的持久化的,而且提供两种主要的持久化策略:RDB快照和AOF日志。而memcached是不支持数据持久化操作的。


    1)RDB快照


    Redis支持将当前数据的快照存成一个数据文件的持久化机制,即RDB快照。但是一个持续写入的数据库如何生成快照呢?Redis借助了fork命令的copy on write机制。在生成快照时,将当前进程fork出一个子进程,然后在子进程中循环所有的数据,将数据写成为RDB文件。我们可以通过Redis的save指令来配置RDB快照生成的时机,比如配置10分钟就生成快照,也可以配置有1000次写入就生成快照,也可以多个规则一起实施。这些规则的定义就在Redis的配置文件中,你也可以通过Redis的CONFIG SET命令在Redis运行时设置规则,不需要重启Redis。


    Redis的RDB文件不会坏掉,因为其写操作是在一个新进程中进行的,当生成一个新的RDB文件时,Redis生成的子进程会先将数据写到一个临时文件中,然后通过原子性rename系统调用将临时文件重命名为RDB文件,这样在任何时候出现故障,Redis的RDB文件都总是可用的。同时,Redis的RDB文件也是Redis主从同步内部实现中的一环。RDB有他的不足,就是一旦数据库出现问题,那么我们的RDB文件中保存的数据并不是全新的,从上次RDB文件生成到Redis停机这段时间的数据全部丢掉了。在某些业务下,这是可以忍受的。


    2)AOF日志


    AOF日志的全称是append only file,它是一个追加写入的日志文件。与一般数据库的binlog不同的是,AOF文件是可识别的纯文本,它的内容就是一个个的Redis标准命令。只有那些会导致数据发生修改的命令才会追加到AOF文件。每一条修改数据的命令都生成一条日志,AOF文件会越来越大,所以Redis又提供了一个功能,叫做AOF rewrite。其功能就是重新生成一份AOF文件,新的AOF文件中一条记录的操作只会有一次,而不像一份老文件那样,可能记录了对同一个值的多次操作。其生成过程和RDB类似,也是fork一个进程,直接遍历数据,写入新的AOF临时文件。在写入新文件的过程中,所有的写操作日志还是会写到原来老的AOF文件中,同时还会记录在内存缓冲区中。当重完操作完成后,会将所有缓冲区中的日志一次性写入到临时文件中。然后调用原子性的rename命令用新的AOF文件取代老的AOF文件。


    AOF是一个写文件操作,其目的是将操作日志写到磁盘上,所以它也同样会遇到我们上面说的写操作的流程。在Redis中对AOF调用write写入后,通过appendfsync选项来控制调用fsync将其写到磁盘上的时间,下面appendfsync的三个设置项,安全强度逐渐变强。


    • appendfsync no 当设置appendfsync为no的时候,Redis不会主动调用fsync去将AOF日志内容同步到磁盘,所以这一切就完全依赖于操作系统的调试了。对大多数Linux操作系统,是每30秒进行一次fsync,将缓冲区中的数据写到磁盘上。


    • appendfsync everysec 当设置appendfsync为everysec的时候,Redis会默认每隔一秒进行一次fsync调用,将缓冲区中的数据写到磁盘。但是当这一次的fsync调用时长超过1秒时。Redis会采取延迟fsync的策略,再等一秒钟。也就是在两秒后再进行fsync,这一次的fsync就不管会执行多长时间都会进行。这时候由于在fsync时文件描述符会被阻塞,所以当前的写操作就会阻塞。所以结论就是,在绝大多数情况下,Redis会每隔一秒进行一次fsync。在最坏的情况下,两秒钟会进行一次fsync操作。这一操作在大多数数据库系统中被称为group commit,就是组合多次写操作的数据,一次性将日志写到磁盘。


    • appednfsync always 当设置appendfsync为always时,每一次写操作都会调用一次fsync,这时数据是最安全的,当然,由于每次都会执行fsync,所以其性能也会受到影响。


    对于一般性的业务需求,建议使用RDB的方式进行持久化,原因是RDB的开销并相比AOF日志要低很多,对于那些无法忍数据丢失的应用,建议使用AOF日志。


    4、集群管理的不同


    Memcached是全内存的数据缓冲系统,Redis虽然支持数据的持久化,但是全内存毕竟才是其高性能的本质。作为基于内存的存储系统来说,机器物理内存的大小就是系统能够容纳的最大数据量。如果需要处理的数据量超过了单台机器的物理内存大小,就需要构建分布式集群来扩展存储能力。


    Memcached本身并不支持分布式,因此只能在客户端通过像一致性哈希这样的分布式算法来实现Memcached的分布式存储。下图给出了Memcached的分布式存储实现架构。当客户端向Memcached集群发送数据之前,首先会通过内置的分布式算法计算出该条数据的目标节点,然后数据会直接发送到该节点上存储。但客户端查询数据时,同样要计算出查询数据所在的节点,然后直接向该节点发送查询请求以获取数据。



    相较于Memcached只能采用客户端实现分布式存储,Redis更偏向于在服务器端构建分布式存储。最新版本的Redis已经支持了分布式存储功能。Redis Cluster是一个实现了分布式且允许单点故障的Redis高级版本,它没有中心节点,具有线性可伸缩的功能。下图给出Redis Cluster的分布式存储架构,其中节点与节点之间通过二进制协议进行通信,节点与客户端之间通过ascii协议进行通信。在数据的放置策略上,Redis Cluster将整个key的数值域分成4096个哈希槽,每个节点上可以存储一个或多个哈希槽,也就是说当前Redis Cluster支持的最大节点数就是4096。Redis Cluster使用的分布式算法也很简单:crc16( key ) % HASH_SLOTS_NUMBER。



    为了保证单点故障下的数据可用性,Redis Cluster引入了Master节点和Slave节点。在Redis Cluster中,每个Master节点都会有对应的两个用于冗余的Slave节点。这样在整个集群中,任意两个节点的宕机都不会导致数据的不可用。当Master节点退出后,集群会自动选择一个Slave节点成为新的Master节点。



    参考资料:


    • http://www.redisdoc.com/en/latest/

    • http://memcached.org/


    转自https://blog.csdn.net/hackercn9/article/details/54846048


    展开全文
  • 数据库面试常见问题

    千次阅读 2021-01-24 09:54:21
    (4)视图能够对机密数据提供安全保护:了视图机制,就可以在设计数据库应用系统时,对不同的用户定义不同的视图,使机密数据不出现在不应看到这些数据的用户视图上。这样视图机制就自动提供了对机密数据的安全...

    目录


    注:部分题目答案来源于网络

    1.描述一下数据库的锁机制

    查看此文章
    (1)从数据库系统角度分为三种:排他锁、共享锁、更新锁。
    (2)共享(S)锁:多个事务可封锁一个共享页;任何事务都不能修改该页; 通常是该页被读取完毕,S锁立即被释放。
    排它(X)锁:仅允许一个事务封锁此页;其他任何事务必须等到X锁被释放才能对该页进行访问;X锁一直到事务结束才能被释放。
    更新(U)锁:用来预定要对此页施加X锁,它允许其他事务读,但不允许再施加U锁或X锁;当被读取的页将要被更新时,则升级为X锁;U锁一直到事务结束时才能被释放。

    2.什么是事务?

    答:事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。事务和程序是两个概念。一般来说 一个程序中包含多个事务。

    3.什么是事务的ACID特性?恢复技术能保证事务的哪些特性?

    (1)原子性(Atomicity)
    事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
    (2)一致性(Consistency)
    事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。即指系统从一个正确的状态到另一个正确的状态。举个例子,银行有A向B转账,A有50元,向B转100元,这时事务会提示余额不足,回滚,这就保证了银行系统的一致性,因为余额不可为负数。
    (3)隔离性(Isolation)
    一个事务的执行不能被其他事务干扰。即一个事务的内部操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
    (4)持续性(Durability)
    持续性也称永久性,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。
    (5)恢复技术能保证事务的原子性、一致性和持续性。

    4. 在SQL中,定义事务的一般有哪些?

    (1)BEGIN TRANSACTION /标记一个显式本地事务的起始点/
    (2)COMMIT /提交事务/
    (3)ROLLBACK /回滚事务/

    5.数据库中的B/S和C/S的区别是什么?

    B/SC/S
    定义B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准
    硬件环境B/S要有操作系统和浏览器就行,与操作系统平台无关C/S用户固定,并且处于相同区域,要求拥有相同的操作系统
    客户端要求计算机电脑配置要求较高计算机电脑配置要求较低
    优点分布性强、维护方便、开发简单且共享性强、总体拥有成本低交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据
    缺点数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低,这些缺点是有目共睹的,难以实现传统模式下的特殊功能要求。例如通过浏览器进行大量的数据输入或进行报表的应答、专用性打印输出都比较困难和不便。此外,实现复杂的应用构造有较大的困难。该结构的程序是针对性开发,变更不够灵活,维护和管理的难度较大。通常只局限于小型局域网,不利于扩展。并且,由于该结构的每台客户机都需要安装相应的客户端程序,分布功能弱且兼容性差,不能实现快速部署安装和配置,因此缺少通用性,具有较大的局限性。要求具有一定专业水准的技术人员去完成。

    6.存储过程和函数分别是什么?

    (1)存储过程:存储在数据库目录中的一些的声明性SQL语句,具有运行效率高、降低客户机和服务器之间的通信量以及方便实施企业规则等优点。
    (2)函数分为单行函数和组函数
    单行函数:针对sql语句影响的每一行都进行处理,并针对这一行返回一个结果sql影响多少行就返回多少个结果
    组函数 :对sql语句影响的所有行进行综合处理,最终返回一个结果无论sql语句影响多少行都只返回一个结果(组函数会忽略空值)

    7.什么是索引?其作用是什么?

    (1)索引是数据库中专门用于帮助用户快速查找数据的一种数据结构。类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取,加快查找速度。
    (2)索引可以帮助用户快速地查找数据,利用索引可以快速访问数据库表中的特定信息。

    8.什么是主键和外键?他们的特点和用途是什么?

    主键外键
    定义表用于唯一标识一条记录的一个或多个字段如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键
    特点不能为空,不能重复只能引用外表中的列的值或用空值,可以重复
    用途唯一地标识一条记录;保证实体的完整性;加快数据库的操作速度保持数据一致性、完整性;控制存储在外键表中的数据,使两张表形成关联(用来和其他表建立联系用的)

    9.什么是基本表?什么是视图?两者的区别和联系是什么?

    (1)基本表是本身独立存在的表,在SQL中一个关系就对应一个表。一个(或多个)基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。
    (2)视图是从一个或几个基本表(或视图)导出的表。它与基本表不同。视图就像一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化,它可以和基本表一样被查询、被删除。也可以在一个视图之上再定义新的视图,但对视图的更新(增、删、改)操作则有一定的限制。
    (3)基本表与视图的区别和联系:
    ①区别:视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。
    ②联系:视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。所以基本表中的数据发生变化,从视图中查询出的数据也就随之发生改变。

    10.视图有哪些优点?

    视图至少有以下五个优点:
    (1)视图能够简化用户的操作:视图机制使用户可以将注意力集中在所关心的数据上,如果这些数据不是.直接来自基本表,则可以通过定义视图,使数据库看起来结构简单、清晰,并且可以简化用户的数据查询操作;
    (2)视图使用户能以多种角度看待同一数据:视图机制能使不同的用户以不同的方式看待同一数据,当许多不同种类的用户共享一个数据库时,这种灵活性是非常重要的;
    (3)视图对重构数据库提供了一定程度的逻辑独立性:数据的逻辑独立性是指当数据库重构时,用户的应用程序不会受影响;
    (4)视图能够对机密数据提供安全保护:有了视图机制,就可以在设计数据库应用系统时,对不同的用户定义不同的视图,使机密数据不出现在不应看到这些数据的用户视图上。这样视图机制就自动提供了对机密数据的安全保护功能;
    (5)使用视图可以更清晰的表达查询。

    11.是什么E-R图?E-R模型向关系模型的转换规则是什么?E-R图的设计原则是什么?

    (1)E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。它是描述现实世界关系概念模型的有效方法。是表示概念关系模型的一种方式。
    用“矩形框”表示实体型,矩形框内写明实体名称;
    用“椭圆图框”或圆角矩形表示实体的属性,并用“实心线段”将其与相应关系的“实体型”连接起来;
    用”菱形框“表示实体型之间的联系成因,在菱形框内写明联系名,
    并用”实心线段“分别与有关实体型连接起来,同时在”实心线段“旁标上联系的类型(1:1,1:n或m:n)
    (2)ER模型向关系模型的转换规则:
    实体类型的转换:
    将每个实体类型转换成一个关系模式,实体的属性即为关系的属性,实体标识符即为关系的键。
    联系类型的转换:
    ① 实体间的联系是1:1
    可以在两个实体类型转换成两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。
    ② 如实体间的联系是1:N
    则在N端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的键和联系类型的属性。
    ③ 如实体间的联系是M:N
    则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。
    (3)E-R图的设计原则如下:
    ① 先设计局部E-R图,再把每一个局部的E-R图综合起来,生成总体的E-R图
    ② 实体是一个单独的个体,不能存在于另外一个实体中,既不能作为另外一个实体的属性。
    ③ 属性应该存在于且存在于某一个实体或者关系中,可以避免数据冗余。
    ④ 同一个实体在同一个E-R图中只能出现一次。
    ⑤ “属性”不能再具有需要描述的性质。“属性”必须是不可分割的数据项,不能包括其他属性。

    12.简述数据库软件系统的建立流程。

    数据库软件系统的建立流程如下:
    (1)需求分析:了解用户的数据需求、处理需求、安全和完整性需求。
    (2)概念结构设计:通过数据抽象,设计系统的概念模型,一般为E-R模型。
    (3)逻辑结构设计:设计系统的模式和外部模式,特别是关系模型的基本表和视图。
    (4)物理结构设计:设计数据的存储结构和访问方法,如索引的设计。
    (5)系统实现:组织数据存储,编写应用程序,试运行。
    (6)运行和维护:系统投入运行,进行长期维护。

    13.什么是数据字典?其作用是什么?

    (1)数据字典是系统中各类数据描述的集合。数据字典的内容通常包括数据项数据结构数据流数据存储处理过程五个部分。数据项是组成数据的最小组成单位,若千个数据项可以组成-一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。
    (2)数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。

    14.什么是游标?其作用是什么?

    (1)游标是系统为用户开设的一一个数据缓冲区,存放SQL语句的执行结果,每个游标区都有一个名字。
    (2)用户可以通过游标逐一获取记录, 并赋给主变量,交由主语言进一步处理。

    15.什么是触发器?有什么功能?

    (1)触发器(Trigger)是用户定义在关系表上的一-类由事件驱动的特殊过程。一旦定义,任何用户对表的增删改操作均由服务器自动激活相应的触发器,在DBMS(数据库管理系统)核心层进行集的完整性控制。
    (2)触发器类似于约束,但是比约束更加灵活,可以实施比外键约束、CHECK约束更为复杂的检查和操作,具有更精细和更强大的数据控制能力。

    16.数据库并发操作带来的数据不一致包括哪些?产生不一致的主要原因是什么?

    (1)丢失修改(lost update):两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失。
    (2)不可重复读(non-repeatable read):事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次得到读取结果。
    (3)读“脏”数据(dirty read):事务T1修改某一数据并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时被T1修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则此时T2读到的数据就为“脏”数据。
    (4)产生不一致的主要原因是并发操作破坏了事务的隔离性。

    17.数据库的并发控制的主要技术有哪些?

    答:并发控制的主要技术有封锁(Locking)、时间戳(Timestamp)和乐观控制法,商用的DBMS(数据库管理系统)一般都采用封锁方法。

    18.什么是数据库范式?有什么作用?

    (1)见此文章
    (2)作用:可以尽量减少数据冗余、避免插入异常、删除异常和更新异常。

    19.什么是数据库的完整性?其目的是什么?数据库完整性有哪些?

    (1)数据库的完整性是指数据的正确性和相容性,其目的是为了防止数据库中的数据存在不符合语义的数据,也是防止数据库中存在不正确的数据。
    (2)数据库的完整性有以下三种:实体完整性、参照完整性和用户定义的完整性。前两种是关系型数据库必须要满足的,用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束。
    (3)实体完整性:要求每个表中只有一个主键,且主键必须唯一,不能为空。例如学生表中的学号必须唯一,且不能为空,否则无法对学籍信息进行操作。
    (4)参照完整性:表中的外键必须是另一个表的主键的有效值,或者取空值。它是数据表间数据参照引用的约束,也就是对外键的约束。
    (5)用户自定义的完整性:针对某一具体关系型数据库的约束条件,它反映某一具体应用涉及的数据必须满足的语义要求。例如某个属性必须取唯一值、某个非主属性不能取空值等。

    20.登记日志文件时为什么必须先写日志文件,后写数据库?

    答:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。
    如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后进行数据库的修改。

    21.什么是数据库镜像?它有什么用途?

    (1)数据库镜像即根据DBA的要求,自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。每当主数据库更新时,DBMS自动把更新后的数据复制过去,即DBMS自动保证镜像数据与主数据的一致性。
    (2)数据库镜像的用途有两点:
    用于数据库恢复,当出现介质故障时,可由镜像磁盘继续提供使用,同时DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。
    提高数据库的可用性,在没有出现故障时,当一个用户对某个数据加排它锁进行修改时,其他用户可以读镜像数据库上的数据,而不必等待该用户释放排它锁。

    22.什么是数据仓库?

    见此文章

    23.数据库语句delete和drop的区别是什么?

    查看此文章

    24.什么是数据库系统模式?

    答:模式( schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仪涉及型的描述,不涉及具体的值。模式的一个具体值称为模式的一个实例(instance)。模式是相对稳定的,而实例是相对变动的,因为数据库中的数据是在不断更新的。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。

    25.数据库的三级模式和是什么?数据库系统的三级模式结构

    (1)模式(schema)
    模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。
    (2)外模式( external schema)
    外模式也称子模式( subschema)或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式。
    (3)内模式( internal schema)
    内模式也称存储模式(storage schema),一个数据库只有一个内模式。它是数据物理结构和存储方式的描述是数据在数据库内部的组织方式。

    26.什么是数据库的两级映像和数据库的数据独立性?

    (1)概述
    为了能够在系统内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
    (2)二级映像
    ①外模式/模式映像
    模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。
    ②模式/内模式映像
    数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。
    (3)数据独立性
    当数据库的存储结构改变时,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。

    在这里插入图片描述

    27.数据库的活锁与死锁是什么?

    查看此文章

    28.数据库DBA、DBMS的作用是什么?

    在这里插入图片描述

    展开全文
  • 数据库 10 大常见安全问题盘点~

    千次阅读 2018-05-22 07:27:40
    
 
 
 
 
 
 
 数据库已经成为黑客的主要攻击目标,因为它们存储着大量价值和敏感的信息。 这些信息包括金融、知识产权...
  • 前端常见安全问题

    千次阅读 2022-03-07 15:00:41
    指攻击者通过漏洞将恶意内容写在数据库中,然后当其他用户访问含有这些恶意数据的网页时,就遭受了攻击。攻击位置常常在留言板,阅读列表等。 非持久性( 反射型xss) 把用户输入的数据或者url携带的数据“反射”...
  • 常见数据库有哪几种?

    万次阅读 2020-06-01 10:58:29
    SQL(StructuredQueryLanguage,结构化查询语言)是一种数据库查询语言和程序设计语言,主要用于管理数据库中的数据,如存取数据、查询数据、更新数据等。 SQL是IBM公司于1975—1979年之间开发出来的,在20世纪随着...
  • 常见数据库面试问题

    万次阅读 多人点赞 2018-03-08 20:12:45
    常见数据库面试题有哪些呢?(非DBA向) (一)什么是存储过程?有哪些优缺点? 存储过程是一些预编译的SQL语句。 更加直白的理解:存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句...
  • 【数据库系统设计】数据库安全

    千次阅读 2020-04-04 22:46:24
    数据库安全性4.1 数据库安全性概述4.1.1 数据库的不安全因素4.2 数据库安全性控制4.2.1 用户身份鉴别4.2.2 存取控制4.2.3 自主存取控制方法4.2.4 授权:授予与回收4.2.5 数据库角色4.2.6 强制存取控制方法4.3 视图...
  • 常见的非关系型数据库有哪些

    千次阅读 2020-06-02 16:04:57
    Redis作为一个内存数据库,具有如下特点: 性能优秀, 数据在内存中, 读写速度非常快, 并支持10W QPS(每秒查询效率). 单进程单线程, 是线程安全的. 非阻塞I/O多路复用机制, 因为是但线程的,通过跟踪每个I/O流的状态,...
  • 数据库-数据库安全

    千次阅读 多人点赞 2019-09-02 23:46:10
    这篇博客内容有些琐碎繁杂,我整理的时候很多上课时老师没有讲的,但我自己在看的时候看了看...数据库安全性 1、数据库安全性概述 1)、数据库的不完全因素 2)、安全标准简介 2、数据库安全性控制 1)、用户...
  • 网络安全常见问题

    千次阅读 2022-02-16 11:19:06
    网络安全问题 1、各类弱口令 最主要,并且最严重的安全问题,人员安全技能提高后,也是最容易解决的安全问题。 系统层弱口令 数据库弱口令 Web中间件弱口令 ftp弱口令 SNMP弱口令 Web应用登录页面弱口令 2、补丁类...
  • 系统及数据库安全问题,绕过mysql登录认证实例,
  • 常用数据库有哪些

    千次阅读 多人点赞 2019-09-20 09:09:28
    表 1 所示列出了每一类数据库的前 3~5 ...表 1 各类数据库排名 大类 类别 前3~5名 说明 SQL 关系数据库 Oracle、MySQL/MariaDB、SQL Server、PostgrcSQL、 DB2 遵循“表一记录”模型。按行存...
  • 前端常见安全问题及防范措施

    千次阅读 2022-02-23 11:44:08
    Python微信订餐小程序课程视频 ...Python实战量化交易理财系统 ...前言 随着互联网的高速发展,信息安全问题已经成为行业最为关注的焦点之一。总的来说安全是很复杂的一个领域,在移动...这篇文章会介绍一些常见安全问题
  • 文章目录一:用户身份鉴别(1)静态口令鉴别(2)动态口令鉴别(3)生物特征鉴别(4)智能卡鉴别二:存取控制(1)自主存取控制DACA:基本概念B:GRANT与REVOKE①:GRANT②:REVOKE③:创建数据库模式的权限C:...
  • 一、常见的nosql 二、Redis,Memcache,MongoDb的特点 1.Redis 优点: 1.支持多种数据结构,如 string(字符串)、 list(双向链表)、dict(hash表)、set(集合)、zset(排序set)、hyperloglog(基数估算) 2....
  • 常见数据库漏洞

    千次阅读 2018-08-22 16:56:15
    MySQL数据库 默认端口:3306 攻击方法: 爆破:弱口令 身份认证漏洞:CVE-2012-2122 拒绝服务攻击 Phpmyadmin万能密码绕过:用户名:‘localhost’@’@” 密码任意 提权 参考: ...
  • 常见数据库简答题

    千次阅读 多人点赞 2021-04-05 20:35:51
    长期存储在计算机内、组织、可共享的大量数据的集合 基本特征: (1)数据按照一定的数据模型组织、描述和存储 (2)可为各种用户所共享 (3)具有较小的冗余度 (4)数据独立性较高 (5)易扩展性 数据库管理系统...
  • 达梦数据库常见问题及处理

    千次阅读 2021-08-30 15:34:06
    查询数据库字符集大小写敏感等初始化信息 查询数据库字符集大小写敏感等初始化信息 方法一: 打开DM管理工具,选择管理服务器-查看系统概览 方法二:进入实例的目录,查看初始化日志/dminit***.log 说明: 页大小 ...
  • 数据库安全与维护

    千次阅读 2018-08-22 10:40:25
    第一节: 实现数据库安全 一、访问级别 通过访问级别对用户进行限制 1)超级用户,在操作系统上具有最高权限,事实上,超级用户可以访问系统上存储的任何文件, 2)数据库拥有者,访问系统中所有与数据库软件和...
  • 数据库面试时常见的26个问题

    千次阅读 2018-07-17 11:03:17
    1. SQL语言包括哪些类型? 数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index 数据操纵:Select ,insert,update,delete 数据控制:grant,revoke 2. 内联接,外联接区别? 内连接是保证两个表中...
  • 数据库安全

    千次阅读 2020-05-12 12:13:48
    什么是数据库的安全性? 答:是指保护数据库以防止不合法使用所...DBMS的安全机制有哪些? 自主安全性机制:通过权限在用户之间传递,使用户自主管理数据库安全性; 强制安全性机制:通过对数据和用户的强制分类,使
  • 达梦数据库常见问题汇总

    万次阅读 2019-12-24 14:41:27
    问题一 以图形界面 安装数据库软件时报错 现象描述 用图形界面形式安装数据库遇到报错,显示报错信息如下: [dmdba@localhost mnt]$ ./DMInstall.bin 解压安装程序.......... No protocol specified ...
  • 常见缓存数据库特点

    千次阅读 2019-02-13 09:54:35
    1. redis是一种key-value型的数据库; 2. redis是一种内存型数据库,这样做可以加快访问速度; 3.redis会定期把更新数据写入磁盘,从而达到重启可恢复的效果。同时,也满足了主从备份的目的。 4.redis和其他缓存...
  • 精心整理了20道常见数据库面试题(建议收藏)

    万次阅读 多人点赞 2019-08-02 14:06:51
    进了互联网公司,整天也就是搬砖,等到了面试的时候,发现数据库方面,忘得一塌糊涂,抽时间整理了一些数据库方面的题。欢迎大家向我推荐你在面试过程中遇到的问题,我会把大家推荐的...
  • Mysql数据库安全问题【防注入】

    万次阅读 2018-02-02 23:59:16
    SQL语句和查询的参数分别发送给数据库服务器进行解析。这种方式2种实现:  (1)使用PDO(PHP data object) $stmt = $pdo ->prepare( 'SELECT * FROM employees WHERE name = :name' ); ...
  • MySQL数据库常见错误及解决方案

    千次阅读 2021-01-19 05:00:23
    1.MySQL无法重启问题解决Warning: World-writable config file ‘/etc/my.cnf’ is ignored原因今天帮朋友维护服务器,在关闭数据库的命令发现mysql关不了,提示Warning: World-writable config file '/etc/my.cnf' ...
  • MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统。 以下教程以windows10 64位计算机为例(其他windows系统类似) 01下载 官方网站下载 ... 根据自己的电脑配置选择对应版本.zip...
  • 下面我们以以下两个版本工具来说明一下: 瀚高数据库图形管理工具v6.0.3 瀚高数据库迁移工具v4.1.3 ...这个最常见问题,几乎是90%的用户都会犯错。 1.2 文件权限问题 由于UOS操作系统经常会以非root用户

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 318,340
精华内容 127,336
关键字:

常见的数据库安全问题有哪些