centos安装使用单机mongodb

下载适合的安装包

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-4.0.2.tgz

或者手动去官网下载 Version: RHEL 6 Linux 64-bit x64 版本的tar包

解压tar包

tar -zxvf mongodb-linux-x86_64-rhel62-4.0.2.tgz

mv mongodb-linux-x86_64-rhel62-4.0.2/ /usr/local/mongodb

进入mongdb安装目录

cd /usr/local/mongodb

新建数据文件存储目录 (默认mongdb会在根目录下建data文件)

mkdir -p data/db mkdir -p data/backup mkdir -p data/logs touch data/logs/mongodb.log

设置环境变量

pwd=$(pwd)

export PATH=$pwd/bin:$PATH

vi /etc/profile

1
export PATH=/usr/local/mongodb/bin:$PATH

source /etc/profile

启动mongod程序

./bin/mongod –dbpath=data/db –bind_ip 127.0.0.1 –port 27017 –logpath data/logs/mongodb.log –logappend &

或者

cd bin/

./mongod –dbpath=/usr/local/mongodb/data/db –bind_ip 127.0.0.1 –port 27017 –logpath /usr/local/mongodb/data/logs/mongodb.log –logappend –fork

image

关闭数据

mongod –shutdown –dbpath=/usr/local/mongodb/data/db –bind_ip 127.0.0.1 –port 27017 –logpath /usr/local/mongodb/data/logs/mongodb.log –logappend –fork

或者使用kill命令

kill -2 PID

  原理:-2表示向mongod进程发送SIGINT信号。 或

kill -4 PID

  原理:-4表示向mognod进程发送SIGTERM信号。   

使用mongo shell连接数据库

./mongo –host 127.0.0.1

或者指定用户连接

mongo 10.0.0.152/admin

关闭数据库

use admin ; db.shutdownServer()

  

新建用户

use admin

新建管理员用户

db.createUser({ user: ‘root’, pwd: ‘123456’, roles: [ { role: “userAdminAnyDatabase”, db: “admin” } ] });

use test;

db.createUser({user:“testuser”,pwd:“testpass”,roles:[“readWrite”]});

db.auth(“testuser”,“testpass”)

mongodb web界面启动方式

./mongod –dbpath=/data/db –rest

使用配置文件方式管理数据库

cd /usr/local/mongodb/

mkdir -p conf

vi conf/mongod.conf

推荐使用

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
systemLog:
    destination: file
    path: "/usr/local/mongodb/data/logs/mongodb.log"
    logAppend: true
storage:
    journal:
      enabled: true
    dbPath: "/usr/local/mongodb/data/db"
processManagement:
    fork: true
    pidFilePath: /usr/local/mongodb/mongod.pid 
    timeZoneInfo: /usr/share/zoneinfo
net:
    port: 27017
    bindIp: 0.0.0.0 

或者

1
2
3
4
5
dbpath=/usr/local/mongodb/data/db
logpath=/usr/local/mongodb/data/logs/mongodb.log
port=27017
logappend=1
fork=1

启动mongdb

mongod -f mongod.conf

关闭

mongod -f mongod.conf –shutdown

配置mongdb服务

  1. 先添加用户

groupadd -g 800 mongod

useradd -u 801 -g mongod mongod

设置密码

echo 123456 |passwd –stdin mongod

设置主目录权限

chown -R mongod:mongod /usr/local/mongodb

cd /etc/init.d/

touch mongod

chmod 777 mongod

vi mongod

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/bin/bash
#chkconfig: 2345 80 90
#description: mongodb
#by maotiski
#site:http:matosiki.site
MONGODIR=/usr/local/mongodb
MONGOD=$MONGODIR/bin/mongod
MONGOCONF=$MONGODIR/conf/mongod.conf
InfoFile=/tmp/start.mongo
. /etc/init.d/functions 
status(){
   PID=`awk 'NR==2{print $NF}' $InfoFile`
   Run_Num=`ps -p $PID|wc -l`
   if [ $Run_Num -eq 2 ]; then
     echo "MongoDB is running"
   else 
     echo "MongoDB is shutdown"
     return 3
   fi
}
start() {
   status &>/dev/null
   if [ $? -ne 3 ];then 
     action "start mongdb,service running..."  /bin/false 
     exit 2
   fi
   sudo su - mongod -c "$MONGOD -f $MONGOCONF" >$InfoFile 2>/dev/null 
   if [ $? -eq 0 ];then 
     action "start mongdb"  /bin/true
   else
     action "start mongdb"  /bin/false
   fi
}
stop() {
  sudo su - mongod -c "$MONGOD -f $MONGOCONF --shutdown"  &>/dev/null
  if [ $? -eq 0 ];then
    action "stop mongdb"  /bin/true
  else 
    action "stop mongdb"  /bin/false
  fi 
}
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    sleep 2
    start
    ;;
  status)
    status
    ;;
   *)
echo $"Usage: $0 {start|stop|restart|status}"
 exit 1
esac

chkconfig –add mongod

chkconfig mongod on

service mongod start

错误案例

./etc/init.d/functions: Permission denied

注意这行代码 . /etc/init.d/functions 点与斜杠有个空格

或者是权限不够更改权限

chmod a+x /etc/init.d/functions