文章

  1. 如果有人问你数据库的原理,叫他看这篇文章:http://blog.jobbole.com/100349/
  2. 高性能数据库连接池的内幕:https://yq.aliyun.com/articles/59497
  3. 三篇文章了解 TiDB 技术内幕 - 说存储:https://pingcap.com/blog-cn/tidb-internal-1/
  4. TiDB 新特性漫谈:悲观事务:https://pingcap.com/blog-cn/pessimistic-transaction-the-new-features-of-tidb/
  5. DDIA: https://github.com/Vonng/ddia
  6. 凤凰架构:http://icyfenix.cn/
  7. MySQL 语法
  8. MySQL 数据类型
  9. MySQL 数据库开发的三十六条军规
  10. MySQL 数据库设计规范
  11. 阿里云数据库内核月报

Redis

  1. redis-cli 命令总结:https://maoxian.de/2015/08/1342.html
  2. Redis开发运维实践指南:https://gnuhpc.gitbooks.io/redis-all-about/content/
  3. Redis设计与实现:http://redisbook.com/index.html
  4. Twemproxy: https://github.com/twitter/twemproxy
  5. Twemproxy代理Redis数据分片方案实践: http://www.ywnds.com/?p=5219

Mysql 技巧

  1. http://www.mysqltutorial.org/

显示表结构以及备注

  1. SHOW FULL COLUMNS FROM <tablename>

Oracle

文档

http://www.orafaq.com/wiki/Memory_target
修改Memory Target:

  1. sqlplus / as sysdba
  2. show parameter target;
  3. alter system set memory_target=8g;

MongoDB

常用命令

查询并转换输出

  1. db.getCollection('location')
  2. .find()
  3. .forEach(
  4. function(doc){
  5. print(new Date(doc.createAt*1000));
  6. }
  7. );

查询

  1. //大于小于:
  2. db.getCollection('messages').find({date:{$gt:'2017-09-21 08:35:00',$lt:'2017-09-21 08:36:00'}});

删除数据

db.getCollection('messages').remove({date : {$lt : '2017-09-03 23:00:00'}})

设置数据库密码

db.createUser(
  {
    user: "yava",
    pwd: "123456",
    roles: [ { role: "userAdmin", db: “test" } ]
  }
)

查看Server连接数

db.serverStatus().connections

日志

F(-3)   Fatal
E(-2)   Error
W(-1)   Warning
I(0)    Informational, for Verbosity Level of 0
D(1-5)  Debug, for All Verbosity Levels > 0

查看日志级别
db.getLogComponents();

设置日志级别
db.setLogLevel(-1)
db.setLogLevel(-1, "query")

减少日志输出
db = db.getSiblingDB("admin")
db.runCommand( { setParameter: 1, quiet: 1 } )

// Mongo导入
mongoimport -d yshdb -c messagesRepeat --file 01-messagesRepeat.json

慢日志查询

// 启用慢日志记录  
db.setProfilingLevel(1);

// 查找最慢的三条记录  
db.system.profile.find().sort({$natrual: -1}).limit(3)

//清除慢日志
db.setProfilingLevel(0)
db.system.profile.drop()

复制集

the state of the replica set

//复制集初始化
config = {
    _id : "yshRS",
    members : [
         {_id : 0, host : "192.168.1.151:27020"},
         {_id : 1, host : "192.168.1.166:27018"}
        ]
}

rs.initiate(config)

//增加投票节点
rs.addArb("192.168.1.166:27019")

/**
 * 初始化数据库
 */

db.createCollection("TmpMessage");
db.createCollection("TmpHello");
db.createCollection("TmpCM");
db.createCollection("maxnum");
// db.createCollection("messageSummary");
db.createCollection("messages");
db.createCollection("messagesRepeat");
db.createCollection("publishCount");
db.createCollection("searchLog");
db.createCollection("userLog");
db.createCollection("users");
db.maxnum.insert({num:0});


db.TmpMessage.createIndex({orderNum:-1},{background:true});
db.TmpMessage.createIndex({dateNum:-1},{background:true});

db.TmpHello.createIndex({toUid:-1},{background:true});
db.TmpCM.createIndex({to:-1},{background:true});

db.messages.createIndex({date:-1},{background:true});
db.messages.createIndex({userId:-1},{background:true});
db.messages.createIndex({fromCity:-1},{background:true});
db.messages.createIndex({type:-1},{background:true});
db.messages.createIndex({toCity:-1},{background:true});
db.messages.createIndex({postCity:-1},{background:true});
db.messages.createIndex({uniText:-1},{unique:true,background:true});
db.messages.createIndex({orderNum:-1},{background:true});
db.messages.createIndex({dateNum:-1},{background:true});
db.messages.createIndex({andToCity:-1},{background:true});


db.messagesRepeat.createIndex({date:-1},{background:true});
db.messagesRepeat.createIndex({userId:-1},{background:true});
db.messagesRepeat.createIndex({fromCity:-1},{background:true});
db.messagesRepeat.createIndex({toCity:-1},{background:true});
db.messagesRepeat.createIndex({postCity:-1},{background:true});
db.messagesRepeat.createIndex({orderNum:-1},{background:true});
db.messagesRepeat.createIndex({dateNum:-1},{background:true});
db.messagesRepeat.createIndex({andToCity:-1},{background:true});

// db.messageSummary.createIndex({uniText:-1},{unique:true,background:true});

db.publishCount.createIndex({userId: -1,logTime : -1},{background:true});


db.users.createIndex({userId:-1,loginType:-1},{background:true});


rs.status()
rs.addArb("192.168.1.166:27019") 
rs.add("192.168.1.166:27018")

强制切换主节点

cfg = rs.conf()
cfg.members[0].priority = 0
cfg.members[1].priority = 1
cfg.members[2].priority = 0
rs.reconfig(cfg)
rs.stepDown()

Mac安装

  1. brew update
  2. brew install mongodb

    链接

  3. http://docs.mongodb.org/manual/

  4. https://docs.mongodb.com/manual/reference/method/