千家信息网

MongoDB3.0部署

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,下载二进制包:#wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.15.tgz#tar xf mongodb-linux-x
千家信息网最后更新 2026年11月02日MongoDB3.0部署

下载二进制包:
#wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.15.tgz
#tar xf mongodb-linux-x86_64-3.0.15.tgz
#cd mongodb-linux-x86_64-3.0.15
创建数据存放路径、日志存放路径、程序路径
#mkdir /data/mongodata -p
#mkdir /data/log/mongolog -p
#mkdir /data/mongo -p
将当前所有文件复制
#cp -r * /data/mongo
配置环境变量
#more /etc/profile.d/mongodb.sh
export PATH=$PATH:/data/mongo/bin
#source /etc/profile.d/mongodb.sh
配置mongodb配置文件
#cd /data/mongo/bin/
#vim mongodb.conf
#数据文件存放目录
dbpath = /data/mongodata
#日志文件存放目录
logpath = /data/log/mongolog/mongodb.log
#端口
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true
nohttpinterface = true
确定服务
#mongod --dbpath=/data/mongodata --logpath=/data/log/mongolog/mongodb.log --logappend --fork
通过配置文件启动
#mongod -f /root/mongodb/bin/mongodb.conf
测试
#mongo
MongoDB shell version: 3.0.15
connecting to: test

show dbs
local 0.078GB
quit()
WARNING: Readahead for /data/mongodata is set to 4096KB
WARNING: You are running this process as the root user, which is not recommended.
WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
We suggest setting it to 'never'
WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
We suggest setting it to 'never'
WARNING: soft rlimits too low. rlimits set to 3802 processes, 65536 files. Number of processes should be at least 32768 : 0.5 times number of files.
启动有警告,去掉

#vim /etc/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
ulimit -u 65535
#echo never > /sys/kernel/mm/transparent_hugepage/enabled
#echo never > /sys/kernel/mm/transparent_hugepage/defrag
#runlevel
#chmod +x /etc/rc.local
文件限制数调整
#vim /etc/security/limits.conf

  • soft nproc 32000
  • hard nproc 32000
    重启:
    mongo

    use admin
    switched to db admin
    db.shutdownServer();
    配置启动服务
    #vim /usr/lib/systemd/system/systemd-mongodb.service
    [Unit]
    Description=mongodb
    After=network.target

[Service]
Type=forking
PIDFile=/data/mongodata/mongod.lock
ExecStart=/data/mongo/bin/mongod -f /data/mongo/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
开启机器
#systemctl enable systemd-mongodb
进入查看数据库,只有一个local库,admin库是不存在的

show dbs
local 0.078GB
show tables;
新建账号具有grant权限,即:账号管理的授权权限
use admin
switched to db admin
db.createUser(
... {
... user:"dba",
... pwd: "dba",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
... }
... )
Successfully added user: {
"user" : "dba",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
show dbs;
admin 0.078GB
local 0.078GB
user:用户名

pwd:密码

roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。role里的角色可以选:
Built-In Roles(内置角色):

  1. 数据库用户角色:read、readWrite;
  2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
  3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  4. 备份恢复角色:backup、restore;
  5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  6. 超级用户角色:root
    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
  7. 内部角色:__system
    具体角色:
    Read:允许用户读取指定数据库
    readWrite:允许用户读写指定数据库
    dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
    userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
    clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
    readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
    readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
    userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
    dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
    root:只在admin数据库中可用。超级账号,超级权限

Mongodb中 数据库和集合的创建与删除
插数据

show dbs //查询所有的数据库
admin 0.078GB
cmz 0.078GB
local 0.078GB
show collections //查询所有的集合(表)等同于show tables
创建数据库或切换到数据库(存在就切换,不存在就创建)
use cmz
switched to db cmz
创建集合,删除集合(一般可以不用创造集合,在插入数据时自动可以创建集合):
db.createCollection('col') //创建集合
{ "ok" : 1 }
show collections
col
db.col.drop() //删除集合
true
5、备份
-h 指明数据库宿主机的IP
--port 指明数据库的端口
-u 指明数据库的用户名
-p 指明数据库的密码
-d 指明数据库的名字
-c 指明collection的名字
-o 指明到要导出的文件名
-q 指明导出数据的过滤条件
--authenticationDatabase 验证数据的名称
--gzip 备份时压缩
--oplog use oplog for taking a point-in-time snapshot
全库备份
mongodump -h 10.0.0.4 --authenticationDatabase admin -o /mnt/
备份cmz库
mongodump -h 10.0.0.4 --authenticationDatabase admin -d cmz -o /mnt1/
备份cmz库的col集合
mongodump -h 10.0.0.4 --authenticationDatabase admin -d cmz -c col -o /mnt2/

创建test库

use test
switched to db test
db.createUser(
... {
... user: "jrw",
... pwd: "jrw",
... roles: [
... { role: "readWrite", db: "test" }
... ]
... }
... )
Successfully added user: {
"user" : "jrw",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}
show users;
{
"_id" : "test.jrw",
"user" : "jrw",
"db" : "test",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}
参考文档:
https://blog.51cto.com/xiaorenwutest/2137022

数据 数据库 用户 角色 权限 文件 备份 管理 配置 账号 路径 函数 名字 密码 日志 用户名 目录 程序 端口 切换 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 互联网科技公司简介 苏州找大状互联网科技有限公司 科技互联网公司装修 金融科技还是互联网 河南真二互联网科技有限公司 互联网科技卖菜 迪茉互联网科技 科技互联网公司logo 人人互联网科技是培训 成都仁贤领冠互联网科技有限公司 互联网科技实习生岗位职责 科技互联网大厂 上海钢联属于互联网科技股吗 产业互联网科技服务公司 宇信科技在杭州互联网排第几 互联网硬科技公司 互联网科技大佬云集 东风日产互联网科技公司叫什么 互联网科技创新方面的资料 云南咖啡 华服互联网科技怎么样 湖南永感互联网科技有限公司 疫情对互联网科技公司影响 科技创新互联网企业 天下捷融互联网科技 互联网科技公司需要的职位 千方科技属于互联网企业吗 互联网5g黑科技有哪些 九思连强互联网电子科技有限公司
0