一、mongodb安装
1、下载并解压
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.0.tgz tar zxvf mongodb-linux-x86_64-rhel62-3.2.0.tgz
2、移动到指定目录下
mv mongodb-linux-x86_64-rhel62-3.2.0 /usr/local/mongodb
3、添加到PATH中
vim /etc/profile export PATH=/usr/local/mongodb/bin:$PATH source /etc/profile
二、mongodb配置启动
1、创建数据目录和日志目录及更改配置文件
默认下,mongodb的数据目录在/data/db,如果放到其他目录启动时需要指定--dbpath参数
mkdir -p /data/db mkdir -p /data/log touch /data/log/mongodb.log
1、vi mongodb.conf
内容如下:
port=27017
dbpath=/data/db
logpath=/data/logs/mongodb.log
fork=true
nohttpinterface=true
bind_ip=0.0.0.0
auth=true
2、启动mongod服务
[root@node1 log]# mongod --dbpath=/data/db --fork --logpath=/data/log/mongodb.log #默认启动27017端口 about to fork child process, waiting until server is ready for connections. forked process: 45134 child process started successfully, parent exiting
参数说明
--dbpath #数据文件存储路径 --fork #用子进程在后台启动,否则一直占有终端,用该参数时,必须指定logpath参数 --logpath #日志文件的存储路径 --httpinterface #网页管理mongodb接口,之前版本默认是开启的,由于安全性,本版本默认是关闭的,如需要加上该参数启动
3、连接到mongodb
[root@node1 ~]# mongo MongoDB shell version: 3.2.0 connecting to: test Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user Server has startup warnings: 2015-11-29T11:04:05.002+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 2015-11-29T11:04:05.002+0800 I CONTROL [initandlisten] 2015-11-29T11:04:05.002+0800 I CONTROL [initandlisten] 2015-11-29T11:04:05.003+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2015-11-29T11:04:05.003+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2015-11-29T11:04:05.003+0800 I CONTROL [initandlisten] 2015-11-29T11:04:05.003+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 2015-11-29T11:04:05.003+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2015-11-29T11:04:05.003+0800 I CONTROL [initandlisten] > 2+3
4、关闭mongod服务
mongod --dbpath=/data/db --fork --logpath=/data/log/mongodb.log --shutdown
5、一些基本操作
[root@localhost bin]# ./mongo 127.0.0.1 #查看数据库列表 show dbs #当前db版本 db.version();
6、注意
注意,开启守护进程模式 fork 的时候,一定要设置log日志; 设置log日志要注意,logpath的路径一定要是文件路径,而不是文件夹路径 测试启动 进入bin目录,输入命令 ./mongod -f ./mongodb.conf 这时候会显示数据库启动成功 在服务器本地测试一下,使用命令 1../mongo 127.0.0.1 2.MongoDB shell version: 2.6.4 3.connecting to: 127.0.0.1/test 这标识数据库启动成功 在局域网内的其它机器使用工具连接测试一下。 有的小伙伴可能会发现无法连接,通常这都是防火墙的端口没有打开造成的 使用命令打开端口 1.开启端口 2.firewall-cmd --zone=public --add-port=27017/tcp --permanent 3.查看端口 4.firewall-cmd --permanent --query-port=27017/tcp 5.重启防火墙 6.firewall-cmd --reload 注意事项: a,要加上 --permanent 才能保证重启后也能打开 b,这里最好重启一下防火墙,有时候开启端口并不能立即生效,什么原因我也不清楚 好了,现在局域网内其它机器也可以连接到数据库了 注册到系统开机启动 centos 7的开机启动跟之前版本的centos有很大不同。现在用 systemctl命令代替了之前的chkconfig 和 service 命令 注册到开机启动的方法如下: vi /etc/rc.d/rc.local /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf
7、设置系统启动
在系统服务目录下新建mongodb的启动服务,并给与754的权限 1.cd /lib/systemd/system 2.vi mongodb.service 1.chmod 754 mongodb.service 1.vi mongodb.service 1.[Unit] 2. 3.Description=mongodb 4.After=network.target remote-fs.target nss-lookup.target 5. 6.[Service] 7.Type=forking 8.ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongodb.conf 9.ExecReload=/bin/kill -s HUP $MAINPID 10.ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/bin/mongodb.conf 11.PrivateTmp=true 12. 13.[Install] WantedBy=multi-user.target 路径必须要写绝对路径 1.启动 2.systemctl start mongodb.service 3.关闭 4.systemctl stop mongodb.service 5.注册到开机启动 6.systemctl enable mongodb.service 重启机器验证 reboot