MongoDB3.0的安装和部署
admin
2023-01-24 03:00:45
0

这篇文章给大家分享的是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"
}
]
}

看完这篇文章,你们学会MongoDB3.0的安装和部署方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读。

上一篇:VLAN概述与配置

下一篇:k8s args和command

相关内容

热门资讯

台军战备水一瓶预算新台币120... 海峡导报综合报道 国民党民代马文君表示,台防务主管部门原先将战备饮用水每瓶预算编列120元(新台币,...
外国人拥入,“中国人活在205... 作者 | 贺一 编辑 | 张来国内正式入伏,入境游也在持续升温。最近,“外国游客来中国避暑”的说法在...
BMS的留白,诺诚健华的窗口 文|锦缎 7月15日,诺诚健华宣布,其自主研发的新一代高选择性口服TYK2抑制剂Soficitin...
全球首款AI智能体手机努比亚N... IT之家 7 月 22 日消息,博主 @熊猫很禿然 今日曝光了全球首款 AI 智能体手机努比亚 Na...
格美粉末取得带自清洗功能搅拌罐... 国家知识产权局信息显示,厦门格美粉末涂料有限公司取得一项名为“一种带自清洗功能的搅拌罐”的专利,授权...
农行员工被指长期从事“冲贷”集... 近日,重庆多位市民向国家金融监督管理总局重庆监管局递交实名举报材料,反映中国农业银行重庆合川支行在职...
中美高层在东盟外长会上的互动,... 中美高层在东盟会议场边举行会晤,本次互动释放了怎样的信号?凤凰卫视连线台湾政治评论员赖岳谦进行点评解...
“毒油”事件愈演愈烈,台高官还... 【环球网报道 记者 徐思琦】据中时新闻网、联合新闻网等台媒报道,国民党台北市议员李明贤22日发文爆料...
云南再添一颗“太空之眼”! 北京时间2026年7月22日10时54分,搭载“彩云高光谱01星”的引力一号遥四运载火箭在我国东海海...
科技兴农 共享经验一一缅甸研修... 近日,由农业农村部对外经济合作中心承办的缅甸气候智慧农业发展与合作研修班全体学员,赴安徽省合肥市肥东...