执行命令linux
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.6.4.tgz
复制代码
下载完成后,进行解压mongodb
tar -zxvf mongodb-linux-x86_64-rhel62-3.6.4.tgz
复制代码
重命名shell
mv mongodb-linux-x86_64-rhel62-3.6.4 mongodb
复制代码
进入到mongodb目录下安全
cd mongodb 复制代码
建立db和日志目录bash
mkdir data
mkdir -p data/db
mkdir -p data/logs
复制代码
在logs目录下建立mongodb.log文件服务器
touch mongodb.log
复制代码
在data目录下建立mongodb.conf文件markdown
cd mongodb/data 复制代码
vi mongodb.conf
复制代码
port=27017 dbpath=/opt/mongodb/data/db logpath=/opt/mongodb/data/logs/mongodb.log fork=true logappend=true 复制代码
启动app
在mongodb目录下执行:tcp
./bin/mongod --config /opt/mongodb/data/mongodb.conf
复制代码
提示:oop
[root@10 mongodb]# ./bin/mongod --config /opt/mongodb/data/mongodb.conf about to fork child process, waiting until server is ready for connections. forked process: 25096 child process started successfully, parent exiting 复制代码
说明配置成功啦
进入到mongodb进行操做
./bin/mongo
复制代码
这时候,应该能够看到
[root@10 mongodb]# ./bin/mongo MongoDB shell version v3.6.4 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.6.4 Server has startup warnings: 2019-05-25T19:39:11.895+0800 I STORAGE [initandlisten] 2019-05-25T19:39:11.895+0800 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine 2019-05-25T19:39:11.895+0800 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem 2019-05-25T19:39:12.860+0800 I CONTROL [initandlisten] 2019-05-25T19:39:12.860+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2019-05-25T19:39:12.860+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2019-05-25T19:39:12.860+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 2019-05-25T19:39:12.860+0800 I CONTROL [initandlisten] 2019-05-25T19:39:12.861+0800 I CONTROL [initandlisten] ** WARNING: This server is bound to localhost. 2019-05-25T19:39:12.861+0800 I CONTROL [initandlisten] ** Remote systems will be unable to connect to this server. 2019-05-25T19:39:12.861+0800 I CONTROL [initandlisten] ** Start the server with --bind_ip <address> to specify which IP 2019-05-25T19:39:12.861+0800 I CONTROL [initandlisten] ** addresses it should serve responses from, or with --bind_ip_all to 2019-05-25T19:39:12.861+0800 I CONTROL [initandlisten] ** bind to all interfaces. If this behavior is desired, start the 2019-05-25T19:39:12.861+0800 I CONTROL [initandlisten] ** server with --bind_ip 127.0.0.1 to disable this warning. 2019-05-25T19:39:12.861+0800 I CONTROL [initandlisten] 2019-05-25T19:39:12.861+0800 I CONTROL [initandlisten] 2019-05-25T19:39:12.861+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2019-05-25T19:39:12.861+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2019-05-25T19:39:12.861+0800 I CONTROL [initandlisten] > db test > 复制代码
能够看到有不少警告信息,没有关系,由于接下来要建立用户,mongodb默认状况下没有用户,须要建立,受权。
> use admin
switched to db admin
复制代码
> db.system.users.find();
复制代码
db.createUser( ... { ... user:"root", ... pwd:"123456", ... roles:[{role:"root",db:"admin"}] ... } ...) 复制代码
退出mongodb客户端,从新编辑配置文件vi data/mongodb.conf
加入一行auth=true
,保存退出,再次启动mongodb,此时就不会出现警告信息,进入客户端,进行用户验证。
每次须要到安装目录执行,挺麻烦的。
vi /etc/profile
复制代码
在最后追加:
export MONGODB_HOME=/opt/mongodb export PATH=$MONGODB_HOME/bin:$PATH 复制代码
保存使其生效:
source /etc/profiile 复制代码
这样就不用每次进入到/opt/mongodb
, 直接输入mongo就能够进入到mongo的shell环境。
以前咱们启动./bin/mongod
的时候,这项服务一直运行在service
里面:
检查全部service命令:
service --status-all
复制代码
输出:
....
mongod (pid 25096) is running...
....
复制代码
这时候咱们须要终止 mongod
服务:
service mongod stop
复制代码
重启服务:
mongod --bind_ip_all --config /opt/mongodb/data/mongodb.conf
复制代码
这里为何加上--bind_ip_all
?
mongoDB 默认绑定到 127.0.0.1
,为了安全不容许远程了解,咱们设置--bind_ip_all
,容许全部远程机器链接;
若是你的机子再不能链接请查看防火墙是否增长 27017 端口:
查看防火墙:
vi /etc/sysconfig/iptables
复制代码
在后面追加:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 27017 -j ACCEPT
复制代码
防火墙重启:
service iptables restart
复制代码
这时候,应该一切OK啦;
默认是没有权限的,咱们须要新建权限:
[root@10 bin]# mongo MongoDB shell version v3.6.4 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.6.4 > db admin > db.createUser( { user: "root", pwd: "****", roles:[ { role: "root", db: "admin" } ] } ); > db.auth('root', '****') > show users { "_id" : "admin.root", "user" : "root", "db" : "admin", "roles" : [ { "role" : "root", "db" : "admin" } ] } 复制代码
重启服务:
mongod --bind_ip_all --auth --config /opt/mongodb/data/mongodb.conf
复制代码
若是咱们回到服务器,手动启动 mongo 命令查看数据,就须要先验证权限了。