mongodb 安装配置实践
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,首先从官网下载mongodb的安装包http://www.mongodb.org/downloads我的系统是redhat5.8所有选择相应的版本包就ok现在最新版是3.0.3解压mongodb-li
千家信息网最后更新 2025年02月02日mongodb 安装配置实践
首先从官网下载mongodb的安装包http://www.mongodb.org/downloads我的系统是redhat5.8所有选择相应的版本包就ok现在最新版是3.0.3
解压mongodb-linux-x86_64-rhel55-3.0.3.tgz
[root@mongodb ~]# tar zxvf mongodb-linux-x86_64-rhel55-3.0.3.tgz -C /opt/mongodb-linux-x86_64-rhel55-3.0.3/READMEmongodb-linux-x86_64-rhel55-3.0.3/THIRD-PARTY-NOTICESmongodb-linux-x86_64-rhel55-3.0.3/GNU-AGPL-3.0mongodb-linux-x86_64-rhel55-3.0.3/bin/mongodumpmongodb-linux-x86_64-rhel55-3.0.3/bin/mongorestoremongodb-linux-x86_64-rhel55-3.0.3/bin/mongoexportmongodb-linux-x86_64-rhel55-3.0.3/bin/mongoimportmongodb-linux-x86_64-rhel55-3.0.3/bin/mongostatmongodb-linux-x86_64-rhel55-3.0.3/bin/mongotopmongodb-linux-x86_64-rhel55-3.0.3/bin/bsondumpmongodb-linux-x86_64-rhel55-3.0.3/bin/mongofilesmongodb-linux-x86_64-rhel55-3.0.3/bin/mongooplogmongodb-linux-x86_64-rhel55-3.0.3/bin/mongoperfmongodb-linux-x86_64-rhel55-3.0.3/bin/mongodmongodb-linux-x86_64-rhel55-3.0.3/bin/mongosmongodb-linux-x86_64-rhel55-3.0.3/bin/mongo[root@mongodb opt]# ln -sv mongodb-linux-x86_64-rhel55-3.0.3/ mongodbcreate symbolic link `mongodb' to `mongodb-linux-x86_64-rhel55-3.0.3/'
3.创建mongodb用户
[root@mongodb /]# useradd mongodb
4.创建相应文件目录并修改权限
[root@mongodb /]# mkdir /data/db -p[root@mongodb /]# chown mongodb:mongodb /data/ -R[root@mongodb opt]# chown -R mongodb:mongodb /opt/*
5.添加PATH环境变量在shell下正常访问mongodb的应用工具
[root@mongodb bin]# vim /etc/profile.d/mongodb.shexport PATH=$PATH:/opt/mongodb/bin[root@mongodb bin]# source /etc/profile.d/mongodb.sh [root@mongodb bin]# echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/opt/mongodb/bin
6.创建mongodb的PID存放目录
[root@mongodb run]# mkdir /var/run/mongodb[root@mongodb run]# chown mongodb:mongodb /var/run/mongodb/ -R[root@mongodb opt]# mongod --dbpath /data/db/ --logpath /var/log/mongodb.log --logappend --port 27017 --pidfilepath /var/run/mongodb/mongodb.pid --maxConns 250 --rest --httpinterface --forkabout to fork child process, waiting until server is ready for connections.forked process: 4060child process started successfully, parent exiting--maxConns 250 :表示最大连接数是250个--rest --httpinterface : web接口,指定这项28017端口才能启用--fork :后台运行
7.安装过程中遇见的问题
装好之后连接出现以下警告
(1).[root@mongodb ~]# mongoMongoDB shell version: 3.0.3connecting to: testServer has startup warnings: 2015-06-15T20:27:49.892+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.2015-06-15T20:27:49.892+0800 I CONTROL [initandlisten]
出现这个问题就查看关于mongodb的文件权限,主要是/opt /data/db/ /var/run/mongodb/ /var/log/mongodb.log的权限因为启动初始化时以root用户的权限在运行,所以这些目录下的权限可能会变成root root
(2).[mongodb@mongodb db]$ mongod --dbpath /data/db/ --logpath /var/log/mongodb.log --logappend --port 27017 --pidfilepath /var/run/mongodb/mongodb.pid --maxConns 250 --rest --httpinterface --fork2015-06-15T17:41:25.721+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.2015-06-15T17:41:25.721+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'2015-06-15T17:41:25.721+0800 I CONTROL [initandlisten] 2015-06-15T17:41:25.721+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.2015-06-15T17:41:25.721+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
修改两个参数即可
echo "never" > /sys/kernel/mm/transparent_hugepage/enabled echo "never" > /sys/kernel/mm/transparent_hugepage/defrag
8.安装成功并登录
[root@mongodb ~]# ss -tanlp | grep mongod0 0 *:27017 *:* users:(("mongod",4095,6))0 0 *:28017 *:* users:(("mongod",4095,8)) [root@mongodb ~]# mongoMongoDB shell version: 3.0.3connecting to: test> help db.help() help on db methods db.mycoll.help() help on collection methods sh.help() sharding helpers rs.help() replica set helpers help admin administrative help help connect connecting to a db help help keys key shortcuts help misc misc things to know help mr mapreduce show dbs show database names show collections show collections in current database show users show users in current database show profile show most recent system.profile entries with time >= 1ms show logs show the accessible logger names show log [name] prints out the last segment of log in memory, 'global' is default useset current database db.foo.find() list objects in collection foo db.foo.find( { a : 1 } ) list objects in foo where a == 1 it result of the last line evaluated; use to further iterate DBQuery.shellBatchSize = x set default number of items to display on shell exit quit the mongo shell
登录web接口 28017端口
9.关闭服务器
(1).[root@mongodb ~]# mongod --shutdown killing process with pid: 3936(2).[root@mongodb ~]# killall mongod
10.给mongodb编写配置文件/etc/mongodb.conf
[root@mongodb ~]# grep -v ^# /etc/mongodb.conf logpath=/var/log/mongodb.loglogappend=truefork = truedbpath=/data/dbpidfilepath = /var/run/mongodb/mongodb.pidrest = truehttpinterface = true
启动
[root@mongodb ~]# mongod -f /etc/mongodb.conf about to fork child process, waiting until server is ready for connections.forked process: 4169child process started successfully, parent exiting[root@mongodb ~]# ss -tanlp | grep mongod0 0 *:27017 *:* users:(("mongod",4169,6))0 0 *:28017 *:* users:(("mongod",4169,8))
11.用service mongodb * 来启动mongodb
启动脚本:/etc/rc.d/init.d/mongod
#!/bin/bash# mongod - Startup script for mongod# chkconfig: 35 85 15# description: Mongo is a scalable, document-oriented database.# processname: mongod# config: /etc/mongod.conf# pidfile: /var/run/mongo/mongod.pid. /etc/rc.d/init.d/functions# things from mongod.conf get there by mongod reading itCONFIGFILE="/etc/mongodb.conf"OPTIONS=" -f $CONFIGFILE"SYSCONFIG="/etc/sysconfig/mongod"DBPATH=`awk -F= '/^dbpath=/{print $2}' "$CONFIGFILE"`PIDFILE=`awk -F= '/^dbpath\s=\s/{print $2}' "$CONFIGFILE"`mongod=${MONGOD-/opt/mongodb/bin/mongod}MONGO_USER=mongodbMONGO_GROUP=mongodbif [ -f "$SYSCONFIG" ]; then . "$SYSCONFIG"fi# Handle NUMA access to CPUs (SERVER-3574)# This verifies the existence of numactl as well as testing that the command worksNUMACTL_ARGS="--interleave=all"if which numactl >/dev/null 2>/dev/null && numactl $NUMACTL_ARGS ls / >/dev/null 2>/dev/nullthen NUMACTL="numactl $NUMACTL_ARGS"else NUMACTL=""fistart(){ echo -n $"Starting mongod: " daemon --user "$MONGO_USER" $NUMACTL $mongod $OPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/mongod}stop(){ echo -n $"Stopping mongod: " killproc -p "$PIDFILE" -d 300 /opt/mongodb/bin/mongod RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/mongod}restart () { stop start}ulimit -n 12000RETVAL=0case "$1" in start) start ;; stop) stop ;; restart|reload|force-reload) restart ;; condrestart) [ -f /var/lock/subsys/mongod ] && restart || : ;; status) status $mongod RETVAL=$? ;; *) echo "Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}" RETVAL=1esacexit $RETVAL
测试启动
[root@mongodb ~]# service mongod startStarting mongod: about to fork child process, waiting until server is ready for connections.forked process: 4426child process started successfully, parent exiting [ OK ][root@mongodb init.d]# ss -tanlp | grep mongod0 0 *:27017 *:* users:(("mongod",4426,6))0 0 *:28017 *:* users:(("mongod",4426,8)) [root@mongodb ~]# mongoMongoDB shell version: 3.0.3connecting to: test> [root@mongodb ~]# service mongod startStarting mongod: about to fork child process, waiting until server is ready for connections.forked process: 4426child process started successfully, parent exiting [ OK ][root@mongodb ~]# service mongod stopStopping mongod: [ OK ]
权限
文件
目录
接口
用户
端口
问题
登录
运行
配置
最大
成功
两个
参数
变量
后台
工具
最新版
服务器
版本
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
高德网络安全专家刘忠耀
厦门笃行网络商城软件开发
网络技术公司广告业务
河南般若网络技术有限公司起诉
悦购互联网科技有限公司
售饭系统如何恢复sql数据库
数据库预约表
疫情管控数据库
盐城网络安全领导
无纸化三级数据库
三级数据库技术大题讲解题
软件工程软件开发过程
河北餐饮软件开发视频
hpo数据库中医证候
ibm服务器升级微码
福建小兔子软件开发
苏州联合信息网络技术有限公司
大疆飞行安全数据库是什么
服务器定制厂家哪个好
服务器端ip地址
服务器能上网但是不能打开
数据库崩溃会给我们带来什么危害
商务数据库
海康串口服务器NC600系列
泰拉瑞亚手机 服务器
启动用友服务器
其他电脑无法访问web服务器
互联网推广公司推荐黔文科技
mysql创建用户和数据库
剑侠1归来手游服务器