程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

mongo数据库管理员运维笔记(一)

balukai 2025-01-08 11:07:30 文章精选 6 ℃

mongo 日常运维笔记

Last modified by 北京小王



第一、 mongo常用命令

登录数据库

mongo -uusername -ppwd 10.1.1.2:3707/testdb

查看集群信息

rs.status();

添加从库节点

rs.add("10.1.1.2:4707")

删除从库节点

rs.remove("10.1.1.2:4707")

创建数据库

use runoob

查看数据库

show dbs

向数据库中插入数据

db.runoob.insert({"name":"菜鸟的教程"})

切换数据库

Edit


use yapi

switched to db yapi

创建只读用户

Edit


db.createUser({user: “testread”,pwd: “testreadpass”,roles: [{ role: “read”, db: “yapi” } ]})

Successfully added user: {

“user” : “testread”,

“roles” : [

{

“role” : “read”,

“db” : “yapi”

}

]

}

创建读写用户

Edit


db.createUser({user: “testrw”,pwd: “testrwpass”,roles: [{ role: “readWrite”, db: “yapi” } ]})

Successfully added user: {

“user” : “testrw”,

“roles” : [

{

“role” : “readWrite”,

“db” : “yapi”

}

]

}


为数据库testdb创建一般用户

use testdb

db.createUser(

{

user: "aidba",

pwd: "aidba123",

roles: [ {role:"dbOwner", db:"testdb"} ]

}

)

用该用户登录数据库:

mongo -uaidba -paidba123 10.1.1.2:3707/testdb

查看集合

Edit

查看当前数据下的所有集合

db.getCollectionNames()

[ "log", "testdb" ]


db.testdb.insert({"name":"wj","age":18})

db.testdb.insert({"name":"菜鸟的教程"})

查询内容

Edit

db.testdb.find()

删除用户

Edit

db.system.users.remove({user:"user"})

db.system.users.find()

第二、 mongo的备份

第一、 备份

数据库备份步骤

切换到mongodb用户


su - mgousr01

一、查看容器运行的镜像


[mgousr01@dev-inspect-ser02 ~]$ podman ps
CONTAINER ID  IMAGE                                                    COMMAND        CREATED         STATUS             PORTS                     NAMES
10c774fb8dcb  store.xxxx.com/base-library/mongodb:mongodb3.2.22-2  /bin/sh -c ""  32 minutes ago  Up 14 minutes ago  0.0.0.0:3707->2707/tcp  mongo01
[mgousr01@dev-inspect-ser02 ~]$ 

手动执行备份任务:


podman exec -it mongo01 /bin/bash -c '/data/mongodb/bin/anybackup.sh';
2022-07-26T15:25:57.401+0800    writing captured oplog to 
2022-07-26T15:25:57.403+0800            dumped 0 oplog entries
2022_07_26_15_25_57/
2022_07_26_15_25_57/oplog.bson


二、登录服务器配置定时任务


crontab -e

30 01 * * * /datadir/mongodb/bin/backup.sh

对应脚本如下:



vim anybackup.sh

podman exec -it mongo01 /bin/bash -c '/datadir/mongodb/bin/backup.sh';

其他备份命令参考

备份所有数据库

mongodump ~-~-host 10.1.1.2 ~-~-port 3707 ~-~-oplog ~-~-out /bakdir/`date +'%Y_%m_%d_%H_%M_%S'`

备份指定数据库

mongodump ~-~-host 10.1.1.2  ~-~-port 3707 -d dbname  ~-~-oplog ~-~-out /bakdir/`date +'%Y_%m_%d_%H_%M_%S'`

备份指定数据库中的指定表

mongodump ~-~-host 10.1.1.2  ~-~-port 3707 -d dbname -c tablename ~-~-oplog ~-~-out /bakdir/`date +'%Y_%m_%d_%H_%M_%S'`





Tags:

最近发表
标签列表