mongodb安装、运行

Posted on 2018-09-11 15:24  panchanggui  阅读(502)  评论(1编辑  收藏

 

1.下载安装:

切换到:/usr/local/

mkdir -p mongodb

groupadd -g 800 mongodb

useradd -u 801 -g mongodb mongodb

chown -R mongodb.mongodb mongodb/

cd /usr/local/mongodb

2.下载:

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.4.tgz
3.解压:
 tar -zxvf mongodb-linux-x86_64-3.6.4.tgz
4.新建数据库目录及日志目录
 mkdir -p /usr/local/mongodb/mongodb-linux-x86_64-3.6.4/data
mkdir -p /usr/local/mongodb/mongodb-linux-x86_64-3.6.4/logs
mkdir -p /usr/local/mongodb/mongodb-linux-x86_64-3.6.4/conf
cd /usr/local/mongodb/mongodb-linux-x86_64-3.6.4/conf
 
5.新建mongod.conf文件:
vim mongod.conf
 
systemLog:
  destination: file
  logAppend: true
  path: /mnt/mongodb/mongodb-linux-x86_64-3.6.4/logs/mongod.log

  storage:

# dbPath: /var/lib/mongo

  dbPath: /mnt/mongodb/mongodb-linux-x86_64-3.6.4/data

  journal:

enabled: true

processManagement:

  fork: true  # fork and run in background

  pidFilePath: /mnt/mongodb/mongodb-linux-x86_64-3.6.4/logs/mongod.pid  # location of pidfile

  timeZoneInfo: /usr/share/zoneinfo

 

# network interfaces

net:

  port: 27017

  #bindIp: 127.0.0.1  # Listen to local interface only, comment to listen on all interfaces.

  bindIp: 0.0.0.0  # Listen to local interface only, comment to listen on all interfaces.

 

 

#security:

security:

  authorization: enabled

  javascriptEnabled: false
6.
编辑环境变量:

vim /etc/profile
export MONGODB_HOME=/usr/local/mongodb/mongodb-linux-x86_64-3.6.4/
export PATH=${MONGODB_HOME}/bin:$PATH
source /etc/profile #使之生效

7.启动mongodb:

./mongod -f /usr/local/mongodb/mongodb-linux-x86_64-3.6.4/conf/mongod.conf

8.设置开机启动:

vim /etc/init.d/mongodb
#!/bin/sh
# chkconfig:         2345 75 15
# description:       mongodb
### BEGIN INIT INFO
# Provides:     mongodb
# Required-Start:
# Required-Stop:
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description: mongodb
# Description: mongo db server
### END INIT INFO
EXE_FILE=/usr/local/mongodb/mongodb-linux-x86_64-3.6.4/bin/mongod
CONFIG_FILE=/usr/local/mongodb/mongodb-linux-x86_64-3.6.4/conf/mongodb.conf
#. /lib/lsb/init-functions
MONGOPID=`ps -ef| grep mongod| grep -v grep| awk '{print $2}'`
test -x $EXE_FILE || exit 0
case "$1" in
  start)
    ulimit -n 3000
    $EXE_FILE --config $CONFIG_FILE
    ;;
  stop)
    if [ ! -z "$MONGOPID" ]; then
        kill -15 $MONGOPID
    fi
    ;;
  status)
    ps -aux| grep mongod
    ;;
  *)
    log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}"
    exit 1
esac
exit 0
8.设置开机启动:
service mongodb start //启动mongodb服务
chkconfig mongodb on //开启开机启动
 
9.登陆mongodb及新建用户:
mongo
db
show dbs
use admin
db.auth("admin","testmongodb89")
db.system.users.find()
  
创建超级管理员
db.createUser({user:"xwgl",pwd:"testmongodb89",roles:[{ role: "dbAdmin", db: "xwgl" }]})
创建单个数据库管理员
10.登陆mongodb

 

mongo -u admin -p --authenticationDatabase admin








===========================================================================================


官网地址:https://www.mongodb.com/


在官网上选择不同的linux系统得到不同的下载地址,我们用的下载地址是:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz

 



1.mongodb的安装及连接


cd opt/


wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz    #下载


 tar zxvf mongodb-linux-x86_64-rhel62-3.4.3.tgz   #解压


cd ../


mkdir -p /usr/local/mongodb   #创建mongodb的安装目录


mv /opt/mongodb-linux-x86_64-rhel62-3.4.3 /usr/local/mongodb  #移动解压文件到安装目录


mkdir -p  /data/mongodb/data   #创建mongodb数据库存放路径


mkdir -p  /data/mongodb/log    #创建mongodb日志存放路径


touch/data/mongodb/log/mongodb.log    #创建mongodb日志文件


/usr/local/mongodb/bin/mongod –dbpath=/data/mongodb/data –logpath= /data/mongodb/log/mongodb.log –logappend –port 27017 --fork 


#启动mongodb服务


(注:mongodb默认不需要输入用户名和密码,出于安全考虑,我们可以设置用户名和密码,详见mongodb用户权限管理


./usr/local/mongodb/bin/mongo   #进入mongodb数据库控制台


show dbs#将显示默认数据admin和local


db.shutdownServer()   #关闭mongodb服务


exit#退出控制台  


 


2.参数解释


启动服务时用到的如下:


--dbpath 数据库路径


--logpath 日志文件路径


--logappend 日志在日志文件末尾追加


--port 启用的端口号【可不写,默认是27017】


--fork 让mongodb服务在后台运行


 


3.创建配置文件及脚本文件


为了更方便的配置及启动数据库,我们可以创建配置文件及脚本文件


touch /usr/local/mongodb/mongodb.conf  #创建配置文件


vi /usr/local/mongodb/mongodb.conf   #编辑



#端口


port=27017


#数据文件存放目录


dbpath= /data/mongodb/data


#日志文件路径


logpath=/data/mongodb/log/mongodb.log


#使用追加的方式写日志


logappend=true


#以守护程序的方式启用,即在后台运行


fork=true


#最大同时连接数 默认2000


maxConns=5000


#允许所有IP访问,如果要限制访问,可指定以逗号分隔的ip地址


bind_ip=0.0.0.0


#是否启用身份认证


auth=false


nohttpinterface=true


rest=false


Esc + :wq!  #保存并退出


 


touch start.sh  #创建启动脚本文件


vi start.sh #编辑



#!/bin/sh


bin/mongod -f mongodb.conf


Esc + :wq!  #保存并退出


chmod u+x start.sh  #赋予权限


./start.sh  #执行脚本启动服务


 


4.非root用户安装mongodb【出于安全考虑】


日常操作中为了避免一些误操作,更加安全的管理系统,通过使用的用户身份都为普通用户,而非root。当需要执行一些管理员命令操作时,再切换成root用户身份去执行。


 


linux切换用户知识补充:


A.su - (su为switch user,即切换用户的缩写),格式:su -l username(-l为login,即登录的缩写),-l可以将l省略掉,所以此命令常写为su - username。


如果不指定username(用户名),默认即为root,所以切换到root身份的命令即为:su - root 或是直接su -。


通过命令exit或者logout或者ctrl+d返回原用户身份。


B.通过su切换用户还可以直接使用命令su username,与su - username的不同之处如下:


su - username切换用户后,同时切换到新用户的工作环境中。


su username切换用户后,不改变原用户的工作目录及其他环境变量目录。


 


创建mongo用户:


useradd mongo


passwd mongo


 


一.从root切换到mongo身份,执行:su - mongo,然后执行以上mongodb的安装流程即可。


二.现在root用户下执行以上mongodb的安装流程,然后给mongodb的安装目录和数据库目录指定mongo用户,再切换到mongo用户,执行数据库连接即可。


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


     chown -R mongo:mongo /data/mongodb/


     如果mongodb服务启动失败,则我们可以查看/data/mongodb/log/mongodb.log日志信息,以找到错误原因来解决问题。


 


5.远程连接mongodb失败


远程连接失败可能有两个原因:


A.mongodb的配置文件中的bind_ip默认为127.0.0.1,默认只有本机可以连接。解决方案:将bind_ip配置为0.0.0.0,表示接受任何ip的连接;如果要限制访问,可以指定以逗号分隔的多个ip地址。


B.防火墙阻止了27017端口。解决方案:


 vi /etc/sysconfig/iptables         // 将27017端口加入防火墙 


service iptables restart     // 重启防火墙


或者:


Linux关闭防火墙命令

1) 永久性生效,重启后不会复原

开启:chkconfig iptables on

关闭:chkconfig iptables off

2) 即时生效,重启后复原

开启:service iptables start

关闭:service iptables stop


 


6.设置开机启动mongodb


A.添加mongodb系统服务:vim etc/rc.d/init.d/mongod


B.输入以下内容:


ulimit -SHn 655350


#!/bin/sh


# chkconfig: - 64 36


# description:mongod


case $1 in


start)


/usr/local/mongodb/bin/mongod  --config /usr/local/mongodb/mongodb.conf


;;


  


stop)


/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.auth('root','123456');db.shutdownServer()"


;;


#db.auth('root','123456');当数据库进行了用户认证时,才需要加这一句,root和123456为用户名和密码


status)


/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()"


;;


 


esac


C.保存完之后,添加脚本执行权限:chmod +x /etc/rc.d/init.d/mongod


D.启动mongodb服务:service mongod start


E.关闭mongodb服务:service mongod stop


F.将此服务设置为开机启动:chkconfig mongod on,然后重新启动机器进行测试。


G.验证mongodb是否启动:lsof -i :27017,检测端口是否在使用中。


 


7.mongodb添加到环境变量


vi etc/profile  #编辑环境变量文件


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


Esc + :wq!  #保存并退出


source /etc/profile  #使配置立即生效


mongo#现在在任何目录下执行mongo都可以进入控制台



posts - 633, comments - 19, trackbacks - 0, articles - 0

Copyright © 2020 panchanggui
Powered by .NET 5.0.0-rc.2.20475.5 on Kubernetes