自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 收藏
  • 关注

原创 mongo修改字段类型

db.AdditionalTimes.find({"uid":{$type:18}}).forEach(function(x){x.uid=String(x.uid);db.AdditionalTimes.save(x)})如上是将NumberLong类型转换为string类型类型对照图如下Type Number Alias Notes Double 1 ...

2019-10-31 21:19:22 758

转载 快速查询oplog

MongoDB oplog (类似于 MySQL binlog) 记录数据库的所有修改操作,除了用于主备同步;oplog 还能玩出很多花样,比如全量备份 + 增量备份所有的 oplog,就能实现 MongoDB 恢复到任意时间点的功能通过 oplog,除了实现到备节点的同步,也可以额外再往单独的集群同步数据(甚至是异构的数据库),实现容灾、多活等场景,比如阿里云开源的 MongoShake...

2019-10-15 10:31:27 1068

原创 mongodb update拼接多字段

db.collection.find({"_id" : ObjectId("5d60ac1366aadbbbfdec8b7a")}).forEach(function(item){ db.collention.update( {"_id":item._id}, { $set : { "tasktypeIds" : item.mainTasktypeId + "_" + item.subTaskty...

2019-09-17 19:22:09 2280

转载 MongoDB wiredTiger存储引擎下的存储方式LSM和B-Tree比较

前段时间做拦截件监控的时候把拦截件生命期存入mongodb,因生命期有各种变化,因此对此表的更新写操作非常多,mongodb目前已经支持lsm存储方式了。原文如连接:https://github.com/wiredtiger/wiredtiger/wiki/Btree-vs-LSM文中对比了LSM和B-Tree的读写吞吐量,在单线程写操作下和多线程读操作下的差异。英文差的小伙伴别指望我这个...

2019-05-31 10:58:21 664

原创 mongodb group by 统计

db.tablename.aggregate([ {"$group" : {_id:"$fieldname", count:{$sum:1}}} ])

2019-05-20 17:03:35 3891 1

原创 升级mongodb时出现The data files need to be fully upgraded

再将3.4升级到3.6的时候出现The data files need to be fully upgraded提示,原因是这个库是从3.2先升级到3.4的,需要手动设置版本为3.4命令如下> use admin switched to db admin > db.adminCommand( { setFeatureCompatibilityVersion: "3.4" ...

2019-05-14 20:39:12 803

转载 mongodb在线修改cachesize

db.adminCommand({setParameter: 1, wiredTigerEngineRuntimeConfig: "cache_size=8G"})

2019-05-05 17:53:22 3002

原创 客户端显示mongodb数据库列表

mongo --eval 'rs.slaveOk();db.getMongo().getDBNames();'

2018-10-17 15:09:57 647

原创 查看mongodb索引被使用的次数

版本要求>3.2db.tablename.aggregate( [ { $indexStats: { } } ] )官网地址:https://docs.mongodb.com/manual/reference/operator/aggregation/indexStats/

2018-08-09 16:25:34 2698 1

转载 mongodb分片备注

关于负载均衡MongoDB Sharded cluster 的自动负载均衡目前是由 mongos 的后台线程来做的,并且每个集合同一时刻只能有一个迁移任务,负载均衡主要根据集合在各个 shard 上 chunk 的数量来决定的,相差超过一定阈值(跟 chunk 总数量相关)就会触发chunk迁移。负载均衡默认是开启的,为了避免 chunk 迁移影响到线上业务,可以通过设置迁移执行窗口,比如...

2018-07-17 14:14:20 179

原创 Mongodb版本升级步骤(2.6升级到3.2)

1、修改secondary端口及关闭replset。2、启动改secondary。3、登陆primary访问这台验证兼容性db=connect("secondary:port/dbname");>use admin>db.upgradeCheckAllDBs()4、用最新版本的mongodb的bin目录替换老的。5、还原secondary配置,并重启。6、修改secondary的配置文...

2018-07-09 17:59:59 5582 2

转载 MongoDB副本集的常用操作及原理

本文是对MongoDB副本集常用操作的一个汇总,同时也穿插着介绍了操作背后的原理及注意点。结合之前的文章:MongoDB副本集的搭建,大家可以在较短的时间内熟悉MongoDB的搭建和管理。下面的操作主要分为两个部分:1. 修改节点状态    主要包括:    1> 将Primary节点降级为Secondary节点    2> 冻结Secondary节点    3> 强制Secon...

2018-06-21 17:36:28 846

转载 什么场景应该用 MongoDB ?

很多人比较关心 MongoDB 的适用场景,也有用户在话题里分享了自己的业务场景,比如案例1> 1. 用在应用服务器的日志记录,查找起来比文本灵活,导出也很方便。也是给应用练手,从外围系统开始使用MongoDB。2. 用在一些第三方信息的获取或者抓取,因为MongoDB的schema-less,所有格式灵活,不用为了各种格式不一样的信息专门设计统一的格式,极大得减少开发的工作。案例2>...

2018-06-19 16:20:20 454

转载 MongoDB CPU 利用率高,怎么破?

经常有用户咨询「MongoDB CPU 利用率很高,都快跑满了」,应该怎么办?遇到这个问题,99.9999% 的可能性是「用户使用上不合理导致」,本文主要介绍从应用的角度如何排查 MongoDB CPU 利用率高的问题Step1: 分析数据库正在执行的请求用户可以通过 Mongo Shell 连接,并执行 db.currentOp() 命令,能看到数据库当前正在执行的操作,如下是该命令的一个输出示...

2018-05-24 16:47:07 1500

原创 MongoDB 3.6的一些新特性介绍

一、安全方面: 1、bind_ip为了安全考虑,MongoDB 3.6中bind_ip的默认值为localhost,可通过启动命令或者配置文件绑定需访问的ip地址 2、MONOGDB-CR认证建议在3.6版将认证机制MONOGDB-CR更新为SCRAM,后续的版本将不再支持MONOGDB-CR 3、认证限制① 在db.createuser()、db.updateuser() 、db.creater...

2018-04-20 16:16:07 3635

原创 MongoDB的一些性能监控指标介绍

MongoDB的性能指标可关注如下命令1、Mongostat2、Mongotop3、db.serverStatus()4、db.stats()5、db.collection.stats()6、rs.status()7、sh.status()其中db.stats9),db.collection.stats(),rs.status(),sh.status()分别记录的是库、表、复制集、分片的实时状态,...

2018-04-17 16:55:31 10882

原创 pmm安装步骤

环境:centos7server端1、安装docker   yum install docker-io  -y2、启动docker   service docker start3、pull最新的安装包  docker pull percona/pmm-server:latest4、创建容器的数据磁盘docker create \   -v /opt/prometheus...

2018-04-12 20:42:35 2669

原创 MongoDB 应用场景、避坑事项与最佳实践

1、如何学习MongoDB?MongoDB日趋流行,作为一个开发/运维,如何快速上手MongoDB?或者有哪些推荐的学习MongoDB的方式?写在最前:请使用mongodb 3.2或以上版本进行学习,或者直接从3.4开始。另外,百度出来的中文资料,请查看15年及以后的信息,可以少走很多弯路。另外,建议使用linux系统进行学习,方便排错。英文比较好的小伙伴:如果英语不好,建议先...

2018-04-02 11:09:45 30439 1

原创 mongodb使用备注

最近在研究mongodb,使用中踩的坑,记录如下1、过期删除expireAfterSeconds只能支持单索引,复合索引并不支持,且只支持date类型的,unix时间戳不支持。2、3.0版本之后添加索引条件dropDups:true已经不支持,我后来采用的是mongoimport -d database_name -c collection_name --upsert filename.j...

2018-03-30 10:35:22 1997

转载 MongoDB dropDatabse 后,数据能恢复么

最近好几个社区用户咨询,错误的执行了 dropDatabse 把数据库误删除了(或 dropCollection 误删集合),有什么方法能恢复数据?本文主要介绍几种可能有效的恢复方案。方案1:通过备份集恢复如果对 MongoDB 做了全量备份 + 增量备份,那么可以通过备份集及来恢复数据。备份可以是多种形式,比如通过 mongodump 等工具,对数据库产生的逻辑备份拷贝 dbpath 目录产生的...

2018-03-29 14:32:53 952 1

原创 一个带复杂查询条件的mongoexport/mongodump需求

业务需要根据条件导出一个已经有80亿数据的mongodb,条件如下:1、url字段not like某连接地址。2、createDate在某时间范围内。这样mongoexport/mongodump 的--query就没法满足需求了。我用了--queryFile这个参数,具体的file内容如下:{ "url": {$not:/common.xxxxx.com.cn\/webapp/}, "creat...

2018-03-21 15:49:25 5385

原创 定时删除过期文件

crontab -e放入以下内容,保存退出0 23 * * * find /share/fax/change -mtime +7 -print|xargs rm -rf

2018-03-19 17:36:37 1140

原创 用ycsb测试mongodb性能

ycsb版本:0.12.0mongodb版本:3.4.4/3.6.3安装步骤参照:https://github.com/brianfrankcooper/YCSB/blob/master/README.mdload数据:./bin/ycsb load mongodb -s -P workloads/s1 -p mongodb.url=mongodb://test:test@localhost:80...

2018-03-14 10:53:58 1855

原创 mysqlbinlog日志delete转成insert脚本

cat hf.txt | sed -n '/###/p' | sed 's/### //g;s/\/\*.*/,/g;s/DELETE FROM/INSERT INTO/g;s/WHERE/SELECT/g;' |sed -r 's/(@17.*),/\1;/g' | sed 's/@[1-9]=//g' | sed 's/@[1-1][0-7]=//g'

2018-03-01 18:12:33 2715

原创 net_write_timeout参数

net_write_timeoutThe number of seconds to wait for a block to be written to a connection before aborting the write.如果一个sql时间过长就会很容易发生中断,就是这个参数导致的

2018-01-04 18:09:36 12271 2

原创 mysql varchar转point类型

使用GeomFromText这个函数将字符串转成point使用astext读取point类型数据

2018-01-04 15:42:07 1927

转载 binlog2sql:从MySQL binlog得到你要的SQL

从MySQL binlog得到你要的SQL。根据不同设置,你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。用途数据回滚主从切换后数据不一致的修复从binlog生成标准SQL,带来的衍生功能安装$ git clone https://github.com/danfengcao/binlog2sql.git$ pip install -r

2018-01-03 17:58:17 368

原创 mongodb添加zabbix监控UserParameter

UserParameter=MongoDB.status[*],/bin/echo "db.serverStatus().$1" | /usr/local/mongodb/bin/mongo --port $2 | sed 's/}/,/' |  xargs  | sed s/[[:space:]]//g | grep -oP '(?$1$2$3 替换成对于的参数

2017-11-21 15:42:28 675

原创 使用binary在sql查询中区分大小写

RTselect  * from table where binary column like "%x";

2017-11-07 17:30:52 707

转载 kafka入门:简介、使用场景、设计原理、主要配置及集群搭建

问题导读:1.zookeeper在kafka的作用是什么?2.kafka中几乎不允许对消息进行“随机读写”的原因是什么?3.kafka集群consumer和producer状态信息是如何保存的?4.partitions设计的目的的根本原因是什么? 一、入门    1、简介    Kafka is a distr

2017-10-26 01:08:44 257

转载 linux中fuser用法详解

fuser功能 fuser 可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细信息.  fuser显示使用指定文件或者文件系统的进程ID.默认情况下每个文件名后面跟一个字母表示访问类型。  访问类型如下:  c 代表当前目录  e 将此文件作为程序的可执行对象使用 f 打开的文件。默认不显示。  F 打开的文件,用于写操作。默认不显

2017-10-17 15:29:02 1209

原创 自助搭建mysql-canal-kafka通道

该canal集成了java,无须繁琐的安装,直接配置几个参数即可实现mysql-canal-kafkaMysql 环境配置建议的 mysql 版本为 mysql5.5.39 或 mysql5.7.17 以上。一、binlog 格式设置调整 mysql 参数至如下即可。mysql> show variables like 'binlog_format';+---

2017-10-17 11:45:02 7480 6

原创 mysql key_len各种字段类型计算公式

char和varchar类型key_len计算公式:varchr(N)变长字段且允许NULL = N * ( character set:utf8=3,gbk=2,latin1=1)+1(NULL)+2(变长字段)varchr(N)变长字段且不允许NULL = N * ( character set:utf8=3,gbk=2,latin1=1)+2(变长字段)char(N)固定字段且

2017-10-10 16:27:31 925 1

原创 cannot find command 'hg'

mac下python3安装pygame提示如下错误 Error [Errno 2] No such file or directory: 'hg' while executing command hg clone --noupdate -q http://bitbucket.org/pygame/pygame /private/var/folders/cx/hvl30mc16pv12s3vgp

2017-09-28 15:52:55 2604

原创 莫名的一个mysql耗时记录

开发日志中突然会报个几百毫秒的数据库超时,看sql还是主键查询的,去中间件dbproxy日志中查看sql记录又是正常的,折腾几日无果,很是蛋疼。最终发现是开发auth服务命中了fastjson的一个bug,导致cpu处理有问题,升级fastjson后问题解决。

2017-08-31 11:17:29 304

原创 查看mongodb当前配置的命令

use admindb.runCommand( { getParameter : '*' } )

2017-08-04 15:31:45 9292

转载 数据库阿里连接池 druid配置详解

Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,有不得不使用数据库连接池。数据库连接池有很多选择,c3p、dhcp、proxool等,druid作为一名后起之秀,凭借其出色的性能,也逐渐印入了大家的眼帘。接下来本教程就说一下druid的简单使用。首先从 http://repo1.maven.org/maven2/com/alibaba/druid/ 下载最新的jar包。如

2017-06-21 11:19:03 1349

转载 /etc/fstab 文件解释

文件fstab包含了你的电脑上的存储设备及其文件系统的信息。它是决定一个硬盘(分区)被怎样使用或者说整合到整个系统中的唯一文件。这个文件的全路径是/etc/fstab。它只是一个文本文件,你能够用你喜欢的编辑器打开它,但是必须是root用户才能编辑它。同时fsck、mount、umount的等命令都利用该程序。具体来说:用fstab可以自动挂载各种文件系统格式的硬盘、分区、可移动设

2017-05-19 12:08:07 224

转载 趣谈unicode,ansi,utf-8,unicode big endian这些编码有什么区别

从头讲讲编码的故事。那么就让我们找个草堆坐下,先抽口烟,看看夜晚天空上的银河,然后想一想要从哪里开始讲起。嗯,也许这样开始比较好……很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他

2017-05-16 17:50:02 315

转载 高性能MySQL系统思维导图

构建高性能MySQL系统涵盖从单机 硬件,os ,文件系统,内存,到MySQL 本身的配置,以及schema 设计,索引设计 ,再到数据库架构上的水平和垂直拓展。

2017-05-12 15:49:09 5392 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除