Linux CentOS 7 安装MongoDB

一、安装mongodb-3.6.4版本

执行命令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,此时就不会出现警告信息,进入客户端,进行用户验证。

每次须要到安装目录执行,挺麻烦的。

二、能够注册为全局shell命令

vi /etc/profile

复制代码

在最后追加:

export MONGODB_HOME=/opt/mongodb
export PATH=$MONGODB_HOME/bin:$PATH

复制代码

保存使其生效:

source /etc/profiile

复制代码

这样就不用每次进入到/opt/mongodb, 直接输入mongo就能够进入到mongo的shell环境。

三、Robo 3T 远程链接服务器

以前咱们启动./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啦;

四、开启权限 auth

默认是没有权限的,咱们须要新建权限:

[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 命令查看数据,就须要先验证权限了。

相关文章
相关标签/搜索