MongoDB基本操作方法及日常备份
mongod --auth --bind_ip_all03日常操作进入命令行(shell)mango进入命令行(使用用户名/密码)
mongo admin -u username -p password登录用户(必须先进入管理库管理员)❙查看全部数据库
show dbs进入数据库
use dbname查看数据集合
show collections显示命令帮助
db.help()04参数配置 编辑配置文件 启用授权操作 删除当前使用的数据库 db.dropDatabase()06用户操作 查看所有用户 show users创建用户
db.createUser({user: 'username',pwd: 'password',roles:[{role:'readWrite',db:'dbname'}]})
权限划分(角色)
- read:读取 读写 b 数据库(数据)管理员
- dbOwner:数据库所有者 userAdmin:数据库(用户)管理员
- readAnyDatabase:所有数据库读取器
- readWriteAnyData -database reader:全部b AdminAnyDatabase:所有数据库(数据)管理员
- userAdminAnyDatabase:所有数据库(用户)管理员
- clusterAdmin:集群管理员 集群管理器
- clusterMonitor
- hostManager❀备份:❀备份:
- root:超级用户
编辑密码
db.changeUserPassword('username', 'password')编辑用户信息
db.updateUser('username', {pwd: 'password'})
删除用户
db.dropUser('username')07每日备份1 。创建备份和恢复用户- 先输入admin
use admin- 备份用户
db.createUser({user: 'backup',pwd: 'password',roles:[{role:'backup',db:'admin'}]})
- 恢复用户
db.createUser({user: 'restore',pwd: 'password',roles:[{role:'restore',db:'admin'}]})
- 完全备份
mongodump -u backup -p password --authenticationDatabase admin -o /data/backup/mongodb/- 完全恢复
mongorestore -u restore -p password /data/backup/mongodb/2.创建每日备份脚本
vim /data/shell/monitor/mongodb_backup.sh- 添加
#!/bin/bash#auth=wujiang#PRO Mongodb Full Backup#Mongo Settingdbhost="10.0.0.1" #服务器ipuser="backup"userpwd='password'#Backup Dirdb_bashdir="/data/backup/mongodb_bk"dbdirdate=`date +"%Y.%m.%d"`db_backupdir=$db_bashdir/$dbdirdateif [ ! -d $db_backupdir ]thenmkdir -p $db_backupdirfi#Backup Logbackup_log="$db_bashdir/mongodb_bk.log"#Timedbbackdate=`date +"%Y%m%d_%H%M%S"`echo "########Start time: `date +"%Y-%m-%d_%H:%M:%S"`########" >> $backup_logecho "Backup Starting ..." >> $backup_logmongodump -h $dbhost -u $user -p $userpwd --authenticationDatabase admin -o $db_backupdir/$dbbackdate/if [ $? -eq 0 ]thenecho "备份到文件: $db_backupdir/$dbbackdate" >> $backup_logecho "开始压缩文件..." >> $backup_logcd $db_backupdir;/usr/bin/tar zcf $dbbackdate.tar.gz $dbbackdateif [ $? -eq 0 ]thenTAR=1elseTAR=0fiTar_filesize=`du -b $db_backupdir/$dbbackdate.tar.gz |awk '{print $1}'`echo "Tar File Size: $Tar_filesize" >> $backup_logif [ "$Tar_filesize" -ge 100 ] && [ $TAR -eq 1 ]thenecho "Tar to File Success:$db_backupdir/$dbbackdate.tar.gz" >> $backup_logrm -rf $db_backupdir/$dbbackdateelseecho -e "Tar to File Failed:$db_backupdir/$dbbackdate.tar.gz !!! \n Please to check it." >> $backup_logfielseecho -e "$db_backupdir/$dbbackdate\nBackup Fail!!! Please to check it." >> $backup_logrm -rf $db_backupdir/$dbbackdatefiecho -e "########End time: `date +"%Y-%m-%d_%H:%M:%S"`########\n" >> $backup_logecho -e "\n||||||################################################################################||||||\n" >> $backup_logecho ""echo "数据库已备份,路径为:$db_backupdir"du -sh $db_backupdir/*echo ""
- 添加计划任务
crontal -e - 添加
#mongodb正式库58 23 * * * /bin/sh /data/shell/monitor/mongodb_backup.sh >>/data/mongod/mongodb_backup.log 2>&1 &
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
上一篇:如何使用Redis实现分布式锁? 下一篇:IndexedDB完全指南
code前端网
