数据库

exchange删除邮件

非 Y 不嫁゛ 提交于 2020-03-27 23:33:48
一 批量删除特定主题的邮件 1.1 批量删除所有数据库中特定主题的邮件 1) 群发了几封主题为“backup”的邮件; 2) 当前操作账号需要满足如下需求: a)该账号需属于Exchange Server 管理员角色以及源服务器和目标服务器的本地 Administrator组; b)Exchange 收件人管理员角色; c)该账号必须具备对其他人邮箱的读写权限。 3) 运行如下命令将administrator赋予对企业内邮箱的完全访问权限; Get-mailbox | Add-MailboxPermission -User administrator -Acce***ights Fullaccess 输入以下命令,对操作用户赋予mailbox import and export组权限,否则在EMS里找不到Search-Mailbox命令: New-ManagementRoleAssignment -Role "Mailbox Import Export" -User contoso\administrator 4) 运行一下命令删除特定主题的邮件(此命令为删除所有邮箱此标题的邮件) get-mailbox -resultsize unlimited | search-mailbox -SearchQuery "主题:'backup'" –DeleteContent

360°全方位比较PostgreSQL和MySQL

假如想象 提交于 2020-03-27 23:30:46
360°全方位比较PostgreSQL和MySQL 一、原文 https://www.enterprisedb.com/blog/postgresql-vs-mysql-360-degree-comparison 二、摘要 本文对MySQL和PostgreSQL进行详细的比较,方便选择。 1、为什么使用PostgreSQL 2、为什么使用MySQL 3、易用性 4、语法 5、数据类型 6、复制与集群 7、视图 8、触发器 9、存储过程 10、查询 11、分区 12、表的可伸缩性 13、NoSQL能力 14、安全 15、分析函数 16、GUI工具 17、性能 18、Adoption 19、最佳环境 三、PG vs MySQL:选择哪个? PostgreSQL和MySQL都是最流行的开源数据库。MySQL被认为是世界上最流行的数据库,而PostgreSQL被认为是世界上最先进的数据库。MySQL并不完全符合SQL标准,并且很多PG上的特性并不支持。这就是为什么PG受到大量开发者喜欢的原因,并且现在PG越来越流行。 前几年,Oracle收购了MySQL,导致MySQL的出现两个版本:商业版和社区版。对于后者,由于Oracle控制了MySQL的开发,受到了广大使用者的批评。 PostgreSQL是世界上最受欢迎的数据库:他支持大量企业级特性和功能。PG由postgresql全球社区开发

GO 语言操作 redis 数据库

感情迁移 提交于 2020-03-27 23:04:54
redis数据库 是一种高性能的Key-Value数据库 NoSQL数据库 缓存型数据库 key-value型数据库 错误的说法非关系型数据库 1.redis介绍 1.1NoSQL:一类新出现的数据库(not only sql) 泛指缓存型的数据库 不支持SQL语法 存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式 NoSQL的世界中没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景 NoSQL中的产品种类相当多: Redis Mongodb Hbase hadoop Cassandra hadoop 1.2 NoSQL和SQL数据库的比较: 适用场景不同:sql数据库适合用于关系特别复杂的数据查询场景,nosql反之 事务 特性的支持:sql对事务的支持非常完善,而nosql基本不支持事务 两者在不断地取长补短,呈现融合趋势 1.3 Redis简介 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。 Redis是 NoSQL技术阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求

sqli-labs:Less-1

偶尔善良 提交于 2020-03-27 19:38:27
Less-1实验是比较简单的,主要是:UNION联合查询注入 有一些基本的概念需要学习,这些概念以后肯定还会用到,我对这些概念还算比较清楚,但建议初学者一定要注意,逐步积累。但没有必要一来把所有关于mysql数据库和sql相关的都弄一边,可以一边学习这些漏洞一遍掌握这些概念。 union联合查询注入主要是要利用union这个语句,因此页面上必须有显示位(在一个网站的正常页面,服务端执行SQL语句查询数据库中的数据,客户端将数据展示在页面中,这个展示数据的位置就叫显示位) union注入的步骤一般有以下几步: 1、判断注入点 2、判断是整型还是字符型 3、判断查询列数 4、判断显示位 5、获取敏感信息 (在网上有很多讲union注入步骤的文章,这个是我看到最容易理解,以及遇到知识点比较适中的一个) 1、判断注入点 我们再Less1中看到,id将作为参数来使用,因此我们输入http://localhost/Less-1/?id=1,这是看到访问了第一个用户的用户名和密码: 输入 http://localhost/Less-1/?id=1 ' 这里是在id后面加了一个单引号,这是回显示数据库错误信息,这样就能判断出有注入点。这是一种比较简单的判断,有一些网站是不会有任何访问,后面应该有这样的情况。 2、判断是整型还是字符型 可以输入http://localhost/Less-1/?id

数据库索引如何工作? [关闭]

谁说我不能喝 提交于 2020-03-27 19:00:58
3 月,跳不动了?>>> 问题: Given that indexing is so important as your data set increases in size, can someone explain how indexing works at a database-agnostic level? 鉴于索引在数据集大小增加时非常重要,有人可以解释索引在数据库无关的级别上的工作原理吗? For information on queries to index a field, check out How do I index a database column . 有关索引字段的查询的信息,请查看 如何索引数据库列 。 解决方案: 参考一: https://stackoom.com/question/Hs/数据库索引如何工作-关闭 参考二: https://oldbug.net/q/Hs/How-does-database-indexing-work-closed 来源: oschina 链接: https://my.oschina.net/u/3797416/blog/3212644

数据库的四大特性及事务的隔离级别

若如初见. 提交于 2020-03-27 18:27:37
  如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity)   原子性试纸事务包含所有的操作要么全部成功,要么全部失败回滚,事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对是数据库有任何影响。 ⑵ 一致性(Consistency)   一致性是指事务必须使数据库从一个一致性的状态转为为另一个一致性的状态,也就是说一个事务执行之前和执行之后都必须处于一致性的状态。   比如银行转账,加上A用户和B用户两者账户的钱一共有500,那么不管A用户和B用户之间如何转账,事务结束之后两个用户的钱加起来还是500,这就是事务的一致性。 ⑶ 隔离性(Isolation)   隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。   即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。   关于事务的隔离性数据库提供了多种隔离级别,稍后会介绍到。 ⑷ 持久性(Durability)   持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。  

后端开发使用pycharm的技巧

浪尽此生 提交于 2020-03-27 17:17:36
目录 后端开发使用pycharm的技巧 1、使用说明 2、database 3、HTTP Client 1、使用说明 首先说明,本文所使用的功能为pycharm专业版所支持,其他版本如社区版,教育版,则不一定支持。 作为一名后端开发,我猜你的桌面上一定打开着一系列的软件,用作开发调试工具,比如navicat数据库连接工具,postman接口调试工具,pycharm代码编写IDE,以及其他一些工具。今天,我就介绍一下pycharm中你可能还不知道的一些功能,让你的IDE、postman、navicat融为一体,从此不再需要频繁切屏。 2、database 这个功能本人觉得可以完全替代navicat,那么这个database功能在哪里呢。 就在pycharm的右上角竖排的两个图标的其中一个,在这里可以添加数据库的连接。 可以看到,支持非常多的数据库种类,基本上主流的数据库都可以连接,这里以MySQL为例。 基本就和navicat一样,输入你要连接的数据库的连接名,host,port,user,password,数据库名,然后点击test connection就可以测试连接,第一次测试可能需要下载数据库连接驱动,下载就可以,测试成功就可以成功连接到你需要连接的数据库。 这里我新建一个数据库作为演示,可以看到,连接成功后可以显示数据库中所有的表,表字段,字段类型,字段注释,很齐全,打开表后

Django Models

给你一囗甜甜゛ 提交于 2020-03-27 16:32:58
3 月,跳不动了?>>> Django Models(模型) ORM对象映射(object relation mapping) 什么是ORM? 1. Python、PHP、Java是一种开发语言,而MySQL、SQL Server则采用数据库语言,不同语言之间如何实现互操作? 2. SQL语言包括包括数据定义语言DDL、数据控制语言DCL、数据查询语言DQL、数据操作语言DML等,例如INSERT、DELETE、SELECT、UPDATE操作。 3. 作为开发人员,应该把精力放在核心业务代码的编写上面,而不应该花太多精力跟数据库语言打交道。 4. ORM(Object-Relational Mapping,对象关系映射)技术可以看做是开发者和数据库之间的桥梁,用于实现数据库和编程语言之间的映射,本质上来看,ORM就是将SQL操作和编程语言操作做了一个翻译。 5. 通过ORM技术来操作数据库,使得开发者无需接触SQL语句,而直接操作对象的属性和方法,大大提高了开发效率。 ORM的功能是什么? 1. 映射技术:数据类型映射、类映射、关系映射。例如,每一张数据库表对应开发语言的类,每一个数据字段对应类中的属性。 2.CRUD操作:CRUD即增删查改操作,在SQL语句中通过Insert、Select、Update、Delete来实现,在ORM库中则需要通过对应的函数来实现,例如Django

MySQL涉及锁的问题

给你一囗甜甜゛ 提交于 2020-03-27 16:12:37
如何并发的访问数据库呢?答案就是 加锁 。 接下来说一下, 数据库的锁机制,数据库中都有哪些锁?    首先呢,锁是一种 并发控制技术 ,锁是用来在多个用户同时访问同一个数据的时候保护数据的。 有2种基本的锁类型:    共享(S)锁: 多个事务可封锁一个共享页;任何事务都不能修改该页;通常是该页被读取完毕,S锁立即被释放。在执行select语句的时候需要给操作对象(表或一些记录)加上共享锁,但加锁之前需要检查是否有排他锁,如果没有,则可以加共享锁(一个对象上可以加N个共享锁),否则不行。共享锁通常在执行完select语句之后被释放,当然也可能是在事务结束(包括正常结束和异常结束)的时候被释放,主要取决与数据库所设置的事务隔离级别。    排它(X)锁: 仅允许一个事务封锁此页;其他任何事务必须等到X锁被释放才能对该页进行访问;X锁一直到事务结束才能被释放。执行insert、update、delete语句的时候需要给操作的对象加排它锁,在加排他锁之前必须确认该对象上没有其他任何锁,一旦加上排它锁之后,就不能再给这个对象加其他任何锁。排它锁的释放通常是在事务结束的时候(当然也有例外,就是在数据库事务隔离级别被设置为Read Uncommitted(读未提交数据)的时候,这种情况下排他锁会在执行完更新操作之后被释放,而不是在事务结束的时候)。 按锁的机制 既然使用了锁

Java面试之MyBatis

六月ゝ 毕业季﹏ 提交于 2020-03-27 16:09:52
125. MyBatis 中 #{}和 ${}的区别是什么? \#{}是预编译处理,${}是字符替换。 在使用 #{}时,MyBatis 会将 SQL 中的 #{}替换成“?”,配合 PreparedStatement 的 set 方法赋值,这样可以有效的防止 SQL 注入,保证程序的运行安全。 126. MyBatis 有几种分页方式? 分页方式:逻辑分页和物理分页。 逻辑分页: 使用 MyBatis 自带的 RowBounds 进行分页,它是一次性查询很多数据,然后在数据中再进行检索。 物理分页: 自己手写 SQL 分页或使用分页插件 PageHelper,去数据库查询指定条数的分页数据的形式。 127. RowBounds 是一次性查询全部结果吗?为什么? RowBounds 表面是在“所有”数据中检索数据,其实并非是一次性查询出所有数据,因为 MyBatis 是对 jdbc 的封装,在 jdbc 驱动中有一个 Fetch Size 的配置,它规定了每次最多从数据库查询多少条数据,假如你要查询更多数据,它会在你执行 next()的时候,去查询更多的数据。就好比你去自动取款机取 10000 元,但取款机每次最多能取 2500 元,所以你要取 4 次才能把钱取完。只是对于 jdbc 来说,当你调用 next()的时候会自动帮你完成查询工作。这样做的好处可以有效的防止内存溢出。