🧰 运维资源
服务器运维资源大全
命令速查、配置模板、端口对照、运维脚本、学习资源...一站式满足运维需求
命令速查
常用命令快速查找
📁 文件操作
ls -la列出所有文件详细信息ls -lh人类可读格式显示大小cd /path切换目录cd ~切换到用户主目录cd -切换到上一个目录pwd显示当前目录路径cp -r src dst递归复制目录cp -p src dst保留属性复制mv src dst移动/重命名文件rm -rf dir递归强制删除目录rm -i file交互式删除mkdir -p dir/sub创建多级目录touch file创建空文件cat file查看文件内容cat -n file显示行号查看head -n 20 file查看文件前20行tail -n 20 file查看文件后20行tail -f file实时追踪文件变化find / -name "*.log"查找文件find . -size +100M查找大于100M的文件chmod 755 file修改文件权限chmod -R 755 dir递归修改目录权限chown user:group file修改文件所有者ln -s src link创建软链接📊 系统监控
top实时进程监控htop增强版进程监控free -h查看内存使用df -h查看磁盘使用df -i查看inode使用du -sh dir查看目录大小du -h --max-depth=1查看子目录大小ps aux查看所有进程ps aux | grep name查找进程kill PID终止进程kill -9 PID强制终止进程killall name按名称终止进程netstat -tlnp查看监听端口netstat -anp查看所有网络连接ss -tlnp查看TCP监听端口lsof -i :port查看端口占用uptime查看系统运行时间iostat -x 1磁盘IO统计vmstat 1 5虚拟内存统计iotop磁盘IO实时监控🔧 系统管理
systemctl start service启动服务systemctl stop service停止服务systemctl restart service重启服务systemctl status service查看服务状态systemctl enable service设置开机自启systemctl disable service取消开机自启journalctl -u service查看服务日志journalctl -u service -f实时查看服务日志journalctl --since today查看今天的日志crontab -e编辑定时任务crontab -l查看定时任务tar -czvf file.tar.gz dir压缩目录tar -xzvf file.tar.gz解压文件wget url下载文件wget -c url断点续传下载curl -O url下载文件curl -I url查看响应头scp file user@host:/path上传文件rsync -avz src/ dst/同步目录hostname查看主机名uname -a查看系统信息reboot重启系统shutdown -h now立即关机🌐 网络工具
ping host测试连通性ping -c 5 host指定次数pingtraceroute host追踪路由dig domainDNS查询nslookup domainDNS查询telnet host port测试端口连通nc -zv host port扫描端口ip addr查看IP地址ifconfig查看网络配置iptables -L查看防火墙规则tcpdump -i eth0抓包👤 用户管理
useradd username创建用户userdel username删除用户passwd username设置密码usermod -aG group user添加用户到组groupadd groupname创建组id username查看用户信息whoami查看当前用户su - username切换用户sudo command以root执行命令🐳 容器管理
docker ps查看运行中的容器docker ps -a查看所有容器docker ps -q只显示容器IDdocker start container启动容器docker stop container停止容器docker restart container重启容器docker kill container强制停止容器docker rm container删除容器docker rm -f container强制删除运行中的容器docker logs container查看容器日志docker logs -f container实时查看日志docker logs --tail 100 container查看最后100行日志docker exec -it container bash进入容器docker exec container cmd在容器中执行命令docker cp file container:path复制文件到容器docker stats查看容器资源使用docker top container查看容器进程docker port container查看容器端口映射docker inspect container查看容器详细信息📦 镜像管理
docker images查看本地镜像docker images -a查看所有镜像docker pull image:tag拉取镜像docker push image:tag推送镜像docker rmi image删除镜像docker rmi -f image强制删除镜像docker build -t name:tag .构建镜像docker build --no-cache -t name:tag .不使用缓存构建docker tag old new标记镜像docker save -o file.tar image导出镜像docker load -i file.tar导入镜像docker history image查看镜像历史docker search keyword搜索镜像docker image prune清理无用镜像docker image prune -a清理所有未使用镜像🚀 容器运行
docker run image运行容器docker run -d image后台运行docker run -it image bash交互式运行docker run --name name image指定容器名docker run -p 80:80 image端口映射docker run -P image随机端口映射docker run -v /host:/container image挂载目录docker run -e KEY=VALUE image设置环境变量docker run --restart=always image自动重启策略docker run -m 512m image内存限制docker run --cpus=1 imageCPU限制docker run --network host image使用主机网络🌐 网络与数据卷
docker network ls查看网络docker network create name创建网络docker network rm name删除网络docker network connect net container连接容器到网络docker volume ls查看数据卷docker volume create name创建数据卷docker volume rm name删除数据卷docker volume prune清理无用数据卷🔧 Docker Compose
docker-compose up启动项目docker-compose up -d后台启动docker-compose up --build重新构建并启动docker-compose down停止并删除docker-compose start启动服务docker-compose stop停止服务docker-compose restart重启服务docker-compose ps查看服务状态docker-compose logs查看日志docker-compose logs -f实时查看日志docker-compose exec service bash进入服务容器docker-compose pull拉取所有镜像docker-compose build构建所有镜像🧹 系统清理
docker system df查看磁盘使用docker system prune清理无用资源docker system prune -a清理所有未使用资源docker system prune --volumes清理数据卷docker container prune清理停止的容器docker network prune清理无用网络📥 基础操作
git init初始化仓库git clone url克隆仓库git clone url --depth 1浅克隆(只克隆最新)git status查看状态git status -s简洁状态git add .添加所有文件git add file添加指定文件git add -p交互式添加git commit -m "msg"提交更改git commit -am "msg"添加并提交git commit --amend修改上次提交git push origin branch推送到远程git push -u origin branch推送并设置上游git push -f强制推送git pull origin branch拉取更新git pull --rebase变基拉取git fetch origin获取远程更新git log查看提交历史git log --oneline简洁历史git log --graph图形化历史git log -p -2最近2次提交差异git show commit查看提交详情🌿 分支管理
git branch查看本地分支git branch -a查看所有分支git branch -r查看远程分支git branch name创建分支git branch -d name删除分支git branch -D name强制删除分支git branch -m old new重命名分支git checkout branch切换分支git checkout -b branch创建并切换分支git checkout -b branch origin/branch检出远程分支git switch branch切换分支(新版)git switch -c branch创建并切换(新版)git merge branch合并分支git merge --no-ff branch禁用快进合并git merge --abort取消合并git push origin --delete branch删除远程分支🔄 回退操作
git diff查看工作区差异git diff --cached查看暂存区差异git diff branch1 branch2比较分支差异git reset HEAD file取消暂存git reset --soft HEAD~1软回退保留更改git reset --mixed HEAD~1回退到工作区git reset --hard HEAD~1硬回退丢弃更改git revert commit撤销提交(新建提交)git checkout -- file撤销文件更改git restore file撤销文件更改(新版)git restore --staged file取消暂存(新版)git reflog查看操作历史git cherry-pick commit挑选提交git cherry-pick commit1..commit2挑选多个提交git clean -fd删除未跟踪文件📦 暂存与标签
git stash暂存更改git stash save "msg"暂存并备注git stash list查看暂存列表git stash pop恢复并删除暂存git stash apply恢复暂存(保留)git stash drop删除暂存git stash clear清空所有暂存git tag查看标签git tag name创建轻量标签git tag -a name -m "msg"创建附注标签git tag -d name删除标签git push origin tag推送标签git push origin --tags推送所有标签🔧 高级操作
git rebase branch变基操作git rebase -i HEAD~3交互式变基git rebase --abort取消变基git rebase --continue继续变基git bisect start开始二分查找git bisect bad标记坏提交git bisect good标记好提交git blame file查看文件修改历史git remote -v查看远程仓库git remote add name url添加远程仓库git remote remove name删除远程仓库git config --list查看配置git config user.name "name"设置用户名git config user.email "email"设置邮箱⚙️ 服务管理
nginx启动Nginxnginx -s stop快速停止nginx -s quit优雅停止nginx -s reload重新加载配置nginx -s reopen重新打开日志nginx -t测试配置文件nginx -T测试并显示配置nginx -v查看版本nginx -V查看版本和编译参数systemctl start nginxsystemctl启动systemctl stop nginxsystemctl停止systemctl restart nginxsystemctl重启systemctl reload nginxsystemctl重载systemctl status nginx查看服务状态📝 反向代理配置
proxy_pass http://upstream;反向代理proxy_set_header Host $host;设置主机头proxy_set_header X-Real-IP $remote_addr;设置真实IPproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;转发IP链proxy_set_header X-Forwarded-Proto $scheme;转发协议proxy_connect_timeout 60s;连接超时proxy_read_timeout 60s;读取超时proxy_send_timeout 60s;发送超时proxy_buffering on;开启缓冲proxy_buffer_size 4k;缓冲区大小proxy_buffers 8 4k;缓冲区数量proxy_cache zone;启用缓存⚖️ 负载均衡配置
upstream backend { ... }定义后端组server 192.168.1.1:8080;后端服务器server 192.168.1.1:8080 weight=3;权重配置server 192.168.1.1:8080 backup;备份服务器server 192.168.1.1:8080 down;标记下线server 192.168.1.1:8080 max_fails=3;最大失败次数server 192.168.1.1:8080 fail_timeout=30s;失败超时least_conn;最少连接算法ip_hash;IP哈希算法hash $request_uri;URI哈希算法keepalive 32;保持连接数keepalive_timeout 60s;保持连接超时🔄 URL重写与重定向
rewrite ^/old(.*)$ /new$1 last;URL重写rewrite ^/old(.*)$ /new$1 redirect;临时重定向(302)rewrite ^/old(.*)$ /new$1 permanent;永久重定向(301)return 301 https://$host$request_uri;HTTPS重定向return 302 https://example.com;临时重定向return 403;返回403return 404;返回404return 500 "Server Error";返回自定义内容try_files $uri $uri/ /index.html;尝试文件break;停止处理🔒 安全与限流
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;定义限流区域limit_req zone=one burst=20 nodelay;应用限流limit_conn_zone $binary_remote_addr zone=addr:10m;连接限制区域limit_conn addr 10;限制连接数deny 192.168.1.1;拒绝IPallow 192.168.1.0/24;允许IP段deny all;拒绝所有auth_basic "Restricted";基本认证auth_basic_user_file /etc/nginx/.htpasswd;密码文件add_header X-Frame-Options "SAMEORIGIN";防止点击劫持add_header X-Content-Type-Options "nosniff";防止MIME嗅探add_header X-XSS-Protection "1; mode=block";XSS防护📦 静态资源与缓存
gzip on;开启Gzip压缩gzip_types text/plain text/css application/json;压缩类型gzip_min_length 1024;最小压缩大小gzip_comp_level 6;压缩级别(1-9)expires 30d;设置缓存30天expires max;最大缓存expires -1;禁用缓存add_header Cache-Control "public, immutable";缓存控制add_header Cache-Control "no-cache";不缓存open_file_cache max=1000 inactive=20s;文件缓存sendfile on;高效文件传输tcp_nopush on;优化数据包📊 日志配置
access_log /var/log/nginx/access.log;访问日志error_log /var/log/nginx/error.log;错误日志error_log /var/log/nginx/error.log warn;警告级别日志access_log off;关闭访问日志log_format main '$remote_addr - $remote_user [$time_local] "$request" ';自定义日志格式open_log_file_cache max=1000;日志文件缓存🗄️ 数据库操作
mysql -u root -p登录MySQLmysql -u root -p -h host远程登录mysql -u root -p -P 3307指定端口登录SHOW DATABASES;显示所有数据库USE database;选择数据库SELECT DATABASE();显示当前数据库SHOW TABLES;显示所有表DESCRIBE table;查看表结构SHOW CREATE TABLE table;查看建表语句CREATE DATABASE name;创建数据库CREATE DATABASE name CHARACTER SET utf8mb4;创建指定字符集DROP DATABASE name;删除数据库SELECT VERSION();查看版本SELECT NOW();查看当前时间SELECT USER();查看当前用户📊 表操作
CREATE TABLE name (id INT PRIMARY KEY);创建表ALTER TABLE name ADD COLUMN col VARCHAR(100);添加列ALTER TABLE name DROP COLUMN col;删除列ALTER TABLE name MODIFY COLUMN col INT;修改列类型ALTER TABLE name RENAME TO new_name;重命名表ALTER TABLE name ADD INDEX idx_col (col);添加索引ALTER TABLE name ADD UNIQUE INDEX idx_col (col);添加唯一索引ALTER TABLE name DROP INDEX idx_col;删除索引DROP TABLE name;删除表TRUNCATE TABLE name;清空表SHOW INDEX FROM table;查看索引SHOW TABLE STATUS LIKE 'table';查看表状态💾 备份恢复
mysqldump -u root -p db > backup.sql备份数据库mysqldump -u root -p --all-databases > all.sql备份所有库mysqldump -u root -p db table > table.sql备份单个表mysqldump -u root -p --no-data db > schema.sql只备份结构mysqldump -u root -p --single-transaction db > backup.sql事务备份mysqldump -u root -p --quick db > backup.sql快速备份mysqldump -u root -p db | gzip > backup.sql.gz压缩备份mysql -u root -p db < backup.sql恢复数据库gunzip < backup.sql.gz | mysql -u root -p db恢复压缩备份mysqlhotcopy db /backup热备份mysqlbinlog binlog.000001 | mysql -u root -p恢复binlog👤 用户权限
CREATE USER 'user'@'host' IDENTIFIED BY 'password';创建用户GRANT ALL ON db.* TO 'user'@'host';授权GRANT SELECT, INSERT ON db.* TO 'user'@'host';部分权限GRANT ALL ON *.* TO 'user'@'host' WITH GRANT OPTION;全部权限REVOKE ALL ON db.* FROM 'user'@'host';撤销权限DROP USER 'user'@'host';删除用户SET PASSWORD FOR 'user'@'host' = PASSWORD('newpwd');修改密码ALTER USER 'user'@'host' IDENTIFIED BY 'newpwd';修改密码(新版)SHOW GRANTS FOR 'user'@'host';查看权限FLUSH PRIVILEGES;刷新权限SELECT User, Host FROM mysql.user;查看所有用户🔍 查询优化
EXPLAIN SELECT * FROM table;分析查询EXPLAIN FORMAT=JSON SELECT * FROM table;JSON格式分析SHOW STATUS LIKE 'Slow_queries';查看慢查询数SHOW VARIABLES LIKE 'slow_query%';慢查询设置SHOW VARIABLES LIKE 'long_query_time';慢查询时间SET GLOBAL slow_query_log = ON;开启慢查询日志SET GLOBAL long_query_time = 2;设置慢查询阈值ANALYZE TABLE table;分析表OPTIMIZE TABLE table;优化表CHECK TABLE table;检查表REPAIR TABLE table;修复表⚙️ 系统管理
SHOW PROCESSLIST;查看进程SHOW FULL PROCESSLIST;完整进程列表KILL process_id;终止进程KILL QUERY process_id;终止查询SHOW VARIABLES;查看所有变量SHOW VARIABLES LIKE 'max_connections';查看特定变量SET GLOBAL max_connections = 500;设置全局变量SHOW STATUS;查看状态SHOW ENGINE INNODB STATUS;InnoDB状态SHOW MASTER STATUS;主库状态SHOW SLAVE STATUS;从库状态SHOW BINARY LOGS;查看binlogPURGE BINARY LOGS BEFORE '2024-01-01';清理binlog🔴 基础操作
redis-cli连接Redisredis-cli -h host -p 6379指定地址连接redis-cli -a password密码连接redis-cli -n 1选择数据库SET key value设置键值SET key value EX 60设置键值并过期(秒)SET key value PX 60000设置键值并过期(毫秒)SETNX key value不存在才设置SETEX key 60 value设置并指定过期时间MSET key1 val1 key2 val2批量设置GET key获取值MGET key1 key2批量获取GETSET key newvalue获取并设置新值DEL key删除键DEL key1 key2删除多个键UNLINK key异步删除键EXISTS key判断键是否存在EXPIRE key seconds设置过期时间PEXPIRE key milliseconds设置过期时间(毫秒)TTL key查看剩余时间(秒)PTTL key查看剩余时间(毫秒)PERSIST key移除过期时间KEYS pattern查找键SCAN 0 MATCH prefix:* COUNT 100扫描键TYPE key查看键类型RENAME old new重命名键RENAMENX old new不存在才重命名📊 数据类型
HSET hash field value设置哈希字段HGET hash field获取哈希字段HMSET hash f1 v1 f2 v2批量设置哈希HMGET hash f1 f2批量获取哈希HGETALL hash获取所有字段HDEL hash field删除哈希字段HEXISTS hash field字段是否存在HKEYS hash获取所有字段名HVALS hash获取所有字段值HLEN hash字段数量LPUSH list value列表左侧插入RPUSH list value列表右侧插入LPOP list列表左侧弹出RPOP list列表右侧弹出LRANGE list 0 -1获取列表所有元素LLEN list列表长度LINDEX list index获取指定位置元素SADD set member添加集合成员SREM set member删除集合成员SMEMBERS set获取所有成员SISMEMBER set member判断是否成员ZADD zset score member添加有序集合ZRANGE zset 0 -1 WITHSCORES获取有序集合ZREM zset member删除有序集合成员INCR key自增DECR key自减INCRBY key 10指定增量APPEND key value追加值STRLEN key获取字符串长度🔧 运维命令
INFO查看服务器信息INFO memory查看内存信息INFO replication查看复制信息INFO stats查看统计信息DBSIZE查看键数量FLUSHDB清空当前数据库FLUSHALL清空所有数据库BGSAVE后台保存RDBSAVE同步保存RDBLASTSAVE上次保存时间BGREWRITEAOF后台重写AOFMONITOR实时监控命令SLOWLOG GET 10查看慢日志SLOWLOG LEN慢日志数量MEMORY USAGE key查看内存占用MEMORY STATS内存统计CLIENT LIST查看客户端连接CLIENT KILL ip:port断开客户端CONFIG GET *查看所有配置CONFIG GET maxmemory查看特定配置CONFIG SET maxmemory 2gb设置配置DEBUG OBJECT key调试对象OBJECT ENCODING key查看编码方式🔄 主从与集群
REPLICAOF host port设置主从REPLICAOF NO ONE取消主从ROLE查看角色CLUSTER INFO集群信息CLUSTER NODES集群节点CLUSTER MEET ip port添加节点CLUSTER FORGET node_id移除节点CLUSTER REPLICATE node_id设置为从节点CLUSTER ADDSLOTS slot分配槽CLUSTER KEYSLOT key查看键的槽SENTINEL masters查看主库SENTINEL slaves master查看从库SENTINEL get-master-addr-by-name name获取主库地址📦 事务与脚本
MULTI开始事务EXEC执行事务DISCARD取消事务WATCH key监视键UNWATCH取消监视EVAL "return KEYS[1]" 1 key执行Lua脚本EVALSHA sha1 numkeys key arg执行脚本SHASCRIPT LOAD "lua code"加载脚本SCRIPT EXISTS sha1检查脚本存在SCRIPT FLUSH清空脚本缓存🍃 基础操作
mongosh连接MongoDBmongosh "mongodb://host:port"指定连接mongosh "mongodb://user:pass@host:port/db"认证连接mongosh "mongodb+srv://cluster/db"SRV连接show dbs显示所有数据库use database切换数据库db显示当前数据库show collections显示所有集合db.createCollection("name")创建集合db.createCollection("name", {capped:true, size:10000})创建固定集合db.collection.drop()删除集合db.dropDatabase()删除数据库db.collection.renameCollection("newname")重命名集合db.collection.stats()集合统计db.collection.dataSize()数据大小db.collection.storageSize()存储大小db.collection.totalIndexSize()索引大小📝 文档操作
db.collection.insertOne({})插入单个文档db.collection.insertMany([{},{}])插入多个文档db.collection.insert({})插入文档(旧版)db.collection.find()查询所有db.collection.find({name:"value"})条件查询db.collection.find({age:{$gt:18}})大于查询db.collection.find({age:{$gte:18}})大于等于db.collection.find({age:{$lt:30}})小于查询db.collection.find({age:{$lte:30}})小于等于db.collection.find({name:{$ne:"value"}})不等于db.collection.find({age:{$in:[18,20,22]}})在数组中db.collection.find({age:{$nin:[18,20]}})不在数组中db.collection.find({$or:[{a:1},{b:2}]})或条件db.collection.find({$and:[{a:1},{b:2}]})与条件db.collection.find({name:/pattern/})正则匹配db.collection.findOne({})查询单个db.collection.find().pretty()格式化输出db.collection.find().limit(10)限制数量db.collection.find().skip(10)跳过数量db.collection.find().sort({name:1})排序(1升序-1降序)db.collection.find({},{name:1,_id:0})投影查询db.collection.countDocuments({})统计数量db.collection.estimatedDocumentCount()估算数量db.collection.distinct("field")去重查询✏️ 更新操作
db.collection.updateOne({},{$set:{}})更新单个db.collection.updateMany({},{$set:{}})更新多个db.collection.update({},{$set:{}})更新(旧版)db.collection.replaceOne({},{})替换文档db.collection.updateOne({},{$unset:{field:""}})删除字段db.collection.updateOne({},{$inc:{count:1}})字段自增db.collection.updateOne({},{$mul:{price:1.1}})字段乘法db.collection.updateOne({},{$rename:{"old":"new"}})重命名字段db.collection.updateOne({},{$push:{arr:"value"}})数组添加元素db.collection.updateOne({},{$pull:{arr:"value"}})数组删除元素db.collection.updateOne({},{$addToSet:{arr:"value"}})数组去重添加db.collection.updateOne({},{$pop:{arr:1}})删除数组首/尾db.collection.updateOne({},{$set:{"arr.0":"value"}})更新数组元素db.collection.updateOne({},{$set:{"arr.$.field":"value"}})更新匹配元素db.collection.updateOne({},{$set:{}},{upsert:true})不存在则插入🗑️ 删除操作
db.collection.deleteOne({})删除单个db.collection.deleteMany({})删除多个db.collection.remove({})删除(旧版)db.collection.remove({},true)删除单个(旧版)db.collection.deleteMany({})删除所有匹配db.collection.findAndModify({query:{},remove:true})查找并删除db.collection.findOneAndDelete({})查找并删除🔧 索引与聚合
db.collection.createIndex({name:1})创建索引db.collection.createIndex({name:1},{unique:true})唯一索引db.collection.createIndex({name:1},{sparse:true})稀疏索引db.collection.createIndex({name:1},{expireAfterSeconds:3600})TTL索引db.collection.createIndex({name:"text"})文本索引db.collection.createIndex({loc:"2dsphere"})地理索引db.collection.createIndex({a:1,b:1})复合索引db.collection.getIndexes()查看索引db.collection.dropIndex("name")删除索引db.collection.dropIndexes()删除所有索引db.collection.aggregate([{$match:{}}])聚合查询db.collection.aggregate([{$group:{_id:"$field"}}])分组db.collection.aggregate([{$group:{_id:null,total:{$sum:"$field"}}}])求和db.collection.aggregate([{$group:{_id:null,avg:{$avg:"$field"}}}])平均值db.collection.aggregate([{$sort:{field:-1}}])聚合排序db.collection.aggregate([{$project:{name:1,_id:0}}])投影db.collection.aggregate([{$limit:10}])限制db.collection.aggregate([{$skip:10}])跳过db.collection.aggregate([{$lookup:{from:"col",localField:"id",foreignField:"id",as:"data"}}])关联查询db.collection.aggregate([{$unwind:"$array"}])展开数组db.collection.aggregate([{$count:"total"}])计数📊 运维命令
db.stats()数据库统计db.collection.stats()集合统计db.serverStatus()服务器状态db.currentOp()当前操作db.currentOp({"secs_running":{$gt:5}})长时间操作db.killOp(opid)终止操作db.collection.explain().find({})执行计划db.collection.explain("executionStats").find({})详细执行计划db.collection.validate()验证集合db.collection.reIndex()重建索引db.collection.compact()压缩集合db.printReplicationInfo()复制信息db.printSlaveReplicationInfo()从库复制信息rs.status()副本集状态rs.conf()副本集配置rs.initiate()初始化副本集rs.add("host:port")添加副本成员rs.remove("host:port")移除副本成员rs.stepDown()主库降级sh.status()分片状态sh.enableSharding("db")启用分片sh.shardCollection("db.col",{key:1})分片集合💾 备份恢复
mongodump --db dbname --out /backup备份数据库mongodump --host host --port 27017 --db dbname --out /backup指定地址备份mongodump --uri "mongodb://user:pass@host/db" --out /backupURI连接备份mongodump --db dbname --collection col --out /backup备份集合mongodump --db dbname --query '{"status":"active"}'条件备份mongodump --archive > backup.archive归档备份mongodump --gzip --out /backup压缩备份mongorestore --db dbname /backup/dbname恢复数据库mongorestore --drop --db dbname /backup/dbname恢复并删除现有mongorestore --archive < backup.archive归档恢复mongorestore --gzip /backup压缩恢复mongoexport --db dbname --collection col --out file.json导出JSONmongoexport --db dbname --collection col --type=csv --fields name,age --out file.csv导出CSVmongoexport --db dbname --collection col --query '{"status":"active"}' --out file.json条件导出mongoimport --db dbname --collection col --file file.json导入JSONmongoimport --db dbname --collection col --type=csv --fields name,age --file file.csv导入CSVmongoimport --db dbname --collection col --file file.json --upsert --upsertFields name更新导入👤 用户权限
db.createUser({user:"name",pwd:"pass",roles:[]})创建用户db.createUser({user:"admin",pwd:"pass",roles:["root"]})创建管理员db.createUser({user:"name",pwd:"pass",roles:[{role:"readWrite",db:"db"}]})指定权限db.updateUser("name",{pwd:"newpass"})修改密码db.dropUser("name")删除用户db.dropAllUsers()删除所有用户db.getUsers()查看所有用户db.getUser("name")查看用户db.grantRolesToUser("name",["readWrite"])授权db.revokeRolesFromUser("name",["readWrite"])撤销权限db.createRole({role:"name",privileges:[],roles:[]})创建角色db.dropRole("name")删除角色db.getRoles()查看所有角色db.auth("user","password")认证登录db.logout()登出