情商(Emotional Quotient)通常是指情绪商数,简称EQ,主要是指人在情绪、意志、耐受挫折等方面的品质,其包括导商(Leading Quotient,即领导商数,简称LQ),它是指一个人领导、指导、引导、带领他人或团队组织的智慧和能力的商数)等。戈尔曼和其他研究者认为,情商由自我意识、控制情绪、自我激励、认知他人情绪和处理相互关系这五种特征组成。
一、基础
在信息技术与数据管理领域,备份(英语:backup)指将文件系统或数据库系统中的数据加以复制,一旦发生灾难或错误操作时,可以方便而及时地恢复系统的有效数据和正常运作。最好将重要数据制作三个,或三个以上的备份,并且放置在不同的场所异地备援,以利日后回存之用。
- journal
journal是MongoDB存储引擎层的概念,目前MongoDB主要支持mmapv1、wiredtiger、mongorocks等存储引擎都支持配置journal。和MySQL类似,MongoDB所有的数据写入、读取最终都是调用存储引擎(如WiredTiger、MMAPv1、In-Memory、Mongorocks等)的接口来实现,journal是存储引擎存储数据时的一种辅助机制,除In-Memory引擎外,其他引擎都已支持journal。
以wiredtiger为例,如果不配置journal,写入wiredtiger的数据并不会立即持久化存储,而是每分钟会做一次全量的checkpoint(storage.syncPeriodSecs配置项,默认为1分钟)将所有的数据持久化。如果中间出现宕机,那么数据只能恢复到最近的一次checkpoint,这样最多可能丢掉1分钟的数据。所以建议「一定要开启journal」,开启journal后每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。这样即使出现宕机,启动时wiredtiger会先将数据恢复到最近的一次checkpoint的点,然后重放后续的journal
操作日志来恢复数据。
MongoDB里的journal行为主要由2个参数控制,storage.journal.enabled
决定是否开启journal,storage.journal.commitInternal
(单位ms)决定journal刷盘的间隔,默认为100,用户也可以通过写入时指定writeConcern
为{j: ture}
来每次写入时都确保journal
刷盘。
- oplog
oplog在MongoDB里是一个特殊的固定集合(capped collection),它包含所有涉及数据修改事务的回滚记录,存储在local数据库中,它在达到最大值时自动覆盖最旧的条目。同时它也是MongoDB主从复制实现的关键,通过oplog来实现复制集节点间数据同步,客户端将数据写入到Primary,Primary写入数据后会记录一条oplog,Secondary从Primary(或其他Secondary)拉取oplog并重放,来确保复制集里每个节点存储相同的数据。
1 | mongodb错误的update数据恢复 |
二、使用
授权
db.grantRolesToUser("user123",[{role:"dbAdmin",db:"admin"}])
备份
mongodump
- 所有库备份
mongodump --out ~/Desktop/mongo
- 指定库备份
mongodump --db db_name --out ~/Desktop/mongo
- 指定集合
mongodump --db db_name --collection coll_name --out ~/Desktop/mongo
--db
可简写为-d
--collections
可简写为-c
--out
可简写为-o
- 删除数据库
show dbs
use study
db.dropDatabase()
- 所有库备份
还原
mongorestore
- 恢复整个库
mongorestore ~/Desktop/mongo
- 恢复指定库
mongorestore --db user ~/Desktop/mongo/your_db
- 恢复集合
mongorestore -d db_name -c coll_name ~/Desktop/mongo
- 恢复整个库
导出与导入(可具体到字段)
mongoexport -d study -c user -q '{"name":"张三"}' -f name,age --csv -o ~/Desktop/user.csv
mongoimport -d study -c user --upsert --upsertFields name,age --type csv ~/Desktop/user.json
1 | ①>>>>>mongodump -h 127.0.0.1 --port 27017 --authenticationDatabase admin -u username -p password -d mongo_test -c oplog.rs -o ~/restore-all |