1.将下载好的安装包上传lniux服务器上,或者curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz 2.tar -zxvf mongodb-linux-x86_64-3.0.6.tgz 3.mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb # 将解压包拷贝到指定目录 4.在指定目录下创建相应的文件夹,用来存储数据和mongoDB的日志文件,例如:在/usr/local/mongodb 目录下创建 /usr/local/mongodb/data,用来存储数据,创建/usr/local/mongodb/logs来存储日志、 5.执行/usr/local/mongodb/bin/mongod --port 27017 --fork --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/logs/mongodb.log --logappend 命令出现下面文字为成功, about to fork child process, waiting until server is ready for connections. forked process: 8533 可以执行:ps aux |grep mongodb 或者pstree -p | grep mongod
或者 执行netstat -lanp | grep "27017"
出现这个情况为成功
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 8533/mongod unix 2
[ ACC ] STREAM LISTENING 75204 8533/mongod /tmp/mongodb-27017.sock
也可以在logs查看日志文件 执行 ./mongo 进入控制台后出现 MongoDB shell version: 3.0.6 connecting to: test
6.停止mongodb命令 db.shutdownServer() 先use admin 用户后方可用此命令
7. ./mongod --dbpath=/usr/local/mongodb/data/db --rest命令 可以在虚拟机上的浏览器输入 http://localhost:28017 出现界面服务
启动参数说明
启动命令常用参数选项说明: --dbpath 指定数据库的目录 --port 指定数据库的端口,默认是27017 --bind_ip 绑定IP --logpath 指定日志存放目录 --logappend 指定日志生成方式(追加/覆盖) --pidfilepath 指定进程文件路径,如果不指定,将不产生进程文件 --keyFile 集群模式授权验证的私有key --journal 启用日志 --nssize 指定.ns文件的大小,单位MB,默认是16M,最大是2G --maxConns 最大的并非连接数 --notablescan 不允许进行表扫描 --noprealloc 关闭数据文件的预分配功能 --fork 以后台Daemon形式运行服务 更多的参数选项利用mongod --help 进行查看
启动时候回回显示在日志里4Waring:
** WARNING: Readahead for /usr/local/mongodb is set to 4096KB We suggest setting it to 256KB (512 sectors) or less http://dochub.mongodb.org/core/readahead ** 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‘
① 参考官网提示: 保证对用来存储数据文件的块设备的预读设置是合适的。对于随机访问模式,设置低的预读值。一个预读值为32(16kb)通常工作的很好。 对于标准块设备,可以运行 sudo blockdev --report 得到预读值设置,运行 sudo blockdev --setra <value> <value> 改变预读值设置。 参考你的具体操作系统手册来了解更多信息。 其实运行了 blockdev --report 之后展示了几行信息,排除非4096的,但这样是不能确定哪个是用来存储数据文件的块设备。 用 df -h 查看文件系统信息,可以看到容量最大的就是我们的硬盘,就用它来存储数据文件吧。 运行 blockdev --setra 256 你的盘符名(如:/dev/sda2)。 ② 第二个完全可以忽略。 ③④ 按照建议设置,设置方式参考: https://docs.mongodb.org/manual/tutorial/transparent-huge-pages/ https://oracle-base.com/articles/linux/configuring-huge-pages-for-oracle-on-linux-64#disabling-transparent-hugepages 我这里就直接把下面的加到rc.local的末尾,开机设置并自启:
如果当前手工改动后,验证是否由 [always] madvise never 变为 always madvise [never]
cat /sys/kernel/mm/transparent_hugepage/enabled
具体操作: 一、关闭SElinux、配置防火墙 1、vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq! #保存退出 setenforce 0 #使配置立即生效 2、vi /etc/sysconfig/iptables #编辑 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT #允许27017端口通过防火墙 :wq! #保存退出 /etc/init.d/iptables restart #重启防火墙使配置生效 二、安装MongoDB MongoDB下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz #目前最新版 上传mongodb-linux-x86_64-3.0.6.tgz到/usr/local/src目录 cd /usr/local/src #进入软件存放目录 tar zxvf mongodb-linux-x86_64-3.0.6.tgz #解压 mv mongodb-linux-x86_64-3.0.6 /usr/local/mongodb #移动解压文件夹到MongoDB安装目录 mkdir -p /data/mongodb/mongodb_data/ #创建MongoDB数据库存放路径 mkdir -p /data/mongodb/mongodb_log/ #创建MongoDB数据库日志存放路径 #启动MongoDB /usr/local/mongodb/bin/mongod --port 27017 --fork --dbpath=/data/mongodb/mongodb_data/ --logpath=/data/mongodb/mongodb_log/mongodb.log --logappend netstat -lanp | grep "27017" #查看MongoDB是否启动 cd /usr/local/mongodb/bin/ ./mongo #进入MongoDB数据库控制台 use admin #进入admin数据库 db.shutdownServer() #关闭MongoDB数据库 exit #退出 三、设置MongoDB数据库 1、cd /usr/local/mongodb/ #进入MongoDB安装目录 vi /usr/local/mongodb/mongodb.conf #编辑 port=27017 #端口号 dbpath=/data/mongodb/mongodb_data/ #数据库路径 logpath=/data/mongodb/mongodb_log/mongodb.log #日志输出文件路径 pidfilepath=/usr/local/mongodb/mongo.pid fork=true #设置后台运行 logappend=true #日志输出方式 shardsvr=true #auth=true #开启认证 :wq! #保存退出 2、cd /usr/local/mongodb/bin/ /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf #启动MongoDB /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()" #关闭MongoDB vi /etc/rc.d/init.d/mongod #设置开机启动MongoDB ulimit -SHn 655350 #!/bin/sh # chkconfig: - 64 36 # description:mongod case $1 in start) /usr/local/mongodb/bin/mongod --maxConns 20000 --config /usr/local/mongodb/mongodb.conf ;; stop) /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()" ;; status) /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()" ;; esac :wq! #保存退出 chmod +x /etc/rc.d/init.d/mongod #添加脚本执行权限 chkconfig mongod on #设置开机启动 service mongod start #启动MongoDB 注意:如果设置了管理员账户密码,请使用以下命令 账户:root 密码:123456 /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.auth(‘root‘, ‘123456‘);db.shutdownServer()" /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.auth(‘root‘, ‘123456‘);db.stats()" 3、vi /etc/profile #添加环境变量,编辑,在最后一行添加下面的代码 export PATH=$PATH:/usr/local/mongodb/bin :wq! #保存退出 source /etc/profile #使配置立即生效 mongo #进入MongoDB控制台 show dbs #查看默认数据库 use admin #切换到admin数据库 exit #退出MongoDB控制台 至此,MongoDB数据库安装配置完成。