MongoDB 系统分析器】的更多相关文章

1.1 系统分析器作用 可以利用系统分析器(system profiler)来查找耗时过长的操作. 系统分析器可记录特殊集合system.profile中的操作,并提供大量有关耗时长的操作信息,但相应的,会导致数据库性能有所下降.因此,我们可能只需要定期打开分析器来获取信息即可.如系统已经负载过重,则建议使用其他方法解决问题. 1.2 打开系统分析器 默认情况下,系统分析器时关闭的 >db.setProfilingLevel(2) 1.3 收集耗时长的操作 一般情况下,我们只想关注那些耗时长的操…
[作者] 王栋:携程技术保障中心数据库专家,对数据库疑难问题的排查和数据库自动化智能化运维工具的开发有强烈的兴趣. [问题描述] 最近我们有多台MongoDB的服务器CentOS 7.1系统发生了crash,会不定期的自动重启. [排查思路] 1.碰到linux系统crash的问题,我们首先想到的是排查系统日志/var/log/message,看是否有硬件问题或其他原因.抽查了多台服务器在crash的时间点message中都没有记录异常信息. 2.对于CentOS 7的系统,我们可以使用jour…
十二.mongodb修改数据:update 1).修改数据库数据:update:语法 db.collectionName.update({},{},boolean,boolean): 2).update共有四个参数,其中后两个是可选项: 第一个参数是要修改的文档的匹配条件,第二个是要替换的新文档: 第三个参数为true时,更改的文档若不存在则会创建一个,为false时则不创建: 第四个参数为true时,会更改第一个条件匹配到的所有文档,为false则至更改匹配的第一条: 示例如下: a)只要前两…
十一.mongodb删除数据: 1).删除全部文档:remove,语法db.collectionName.remove({}):小括号里边必须要有条件,否则不成功:如果只是一个空的{},则会删除集合内所有文档数据: 2).按条件删除文档:remove删除数据的时候,不删除源数据:逻辑删除,不删除集合:使用show dbs可以看到数据库占用的内存与删除前比没变,使用show collections可以看到集合还在:为了有明显区别,先插入1000000数据: 3).删除集合:drop,语法db.co…
十.mongodb查询:find ;查询时条件中不能引用文档中其他键的值: 1).查询数据库全部数据:语法db.collectionName.find();默认只显示前20条,如图: 2).按条件查询数据:语法db.collectionName.find({"key":value}); 3).只查询一条数据:findOne: 4).条件查询并指定返回的键:find后的第二个条件可以指定返回的 键,0代表不返回,其他都代表返回:另外,不指定_id的情况下,默认都会返回_id;…
九.mongodb保存数据: 1).插入.保存数据:insert:语法db.collectionName.insert({"key":value}),key是字段名,必须是字符串(使用有的工具,可以不加引号):插入数据时,会默认产生_id字段,一般不指定:对于一个使用use创建的新数据库,只有保存了数据以后,使用showdbs才能查看到,如图: 2).保存数据:save:语法db.collectionName.save({});如图: 3).批量插入数据:使用[];要注意mongodb…
八.mongodb  shell常用基础操作(每个语句后可以加分号,也可以不加,看情况定(有的工具中可以不加),最好是加): 1).进入shell操作界面:mongo,上边已有演示: 2).查看当前使用的数据库:db,上边已有演示: 3).查看当前所有存在的数据库:showdbs:查看当前数据中所有集合,showcollections如图: 4).切换数据库:usedbname:需要注意的是,如果已经存在这个数据库,则会切换到该数据库:如果不存在,则会创建一个再切换:如果只是使用use创建了一个…
七.mongodb的关闭: 1).直接根据进程id杀死mongodb进程,如图(注意,kill -9要慎用,这个是强制关闭进程,可能导致文件损坏,尽量不要用,可以直接kill不加参数): 2).如果不是用-fork方式启动,可以直接在启动界面按ctrl+c结束进程,如图(图1和图3是同一控制台,3是按下ctrl+c之后执行ps): 3).无论是不是-fork启动,都可以在mongodb shell中关闭mongodb服务,在shell中执行db.shutdownServer(),要注意的是,这个…
六.mongodb可以用配置文件启动,配置文件配好后,每次指定文件就好,而不用每次写一长串: 1).创建配置文件: 2).配置(例如指定数据存储目录,日志存储文件,后台进程,端口号等): 3).配置文件启动(注意,此时如果配置文件指定了端口号并且不是27017,那么执行部分操作时,必须指定相同的端口号,例如mongo命令):…
五.mongodb启动时其他常用参数的使用(都是选用): 1).--logappend,指定日志的写入方式为追加,强烈建议使用: 2).--port,指定mongodb的端口号,当不使用这个参数的时候,默认是27017: 3).--fork,使mongodb以后台进程的方式运行,当使用这个参数启动以后,可以在同一个终端中进行其他操作,比如ps.mongo,而不需要重新打开中端: 4).-replSet,使用副本集时的参数: 5).其他参数:--directoryperdb.--config等(暂…