CentOS安装mongodb并进行基础配置

564 阅读4分钟

MongoDB官网下载地址

Platform 选择 RedHat / CentOS 7.0

下载后上传到服务器,也可以复制旁边的 Copy link 后到服务器上使用 wget 命令进行下载

1. 下载后先解压

[root@localhost software]# tar -zxvf mongodb-linux-x86_64-enterprise-rhel70-4.4.4.tgz

2. 将解压后的文件夹移动到 /usr/local 目录,并重命名为mongodb(重命名随意)

[root@localhost software]# mv mongodb-linux-x86_64-enterprise-rhel70-4.4.4 /usr/local/mongodb

3. 复制到 bin 文件夹的路径,然后修改环境变量

/usr/local/mongodb/bin

修改环境变量

[root@localhost bin]# vim /etc/profile

# 在文件最后面添加如下配置:
export PATH=/usr/local/mongodb/bin:$PATH

保存并退出,然后进行刷新

[root@localhost bin]# source /etc/profile

使用 mongo -version 命令测试是否配置成功

[root@localhost bin]# mongo -version
MongoDB shell version v4.4.4
Build Info: {
    "version": "4.4.4",
    "gitVersion": "8db30a63db1a9d84bdcad0c83369623f708e0397",
    "openSSLVersion": "OpenSSL 1.0.1e-fips 11 Feb 2013",
    "modules": [
        "enterprise"
    ],
    "allocator": "tcmalloc",
    "environment": {
        "distmod": "rhel70",
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}
[root@localhost bin]# 

4. 创建数据和日志存储目录

mongodb 目录使用命令 mkdir data/db -p 创建数据存储目录

[root@localhost mongodb]# pwd
/usr/local/mongodb
[root@localhost mongodb]# mkdir data/db -p
[root@localhost mongodb]# ll
总用量 120
drwxr-xr-x. 2 root root   147 219 17:01 bin
drwxr-xr-x. 3 root root    16 219 17:16 data
-rw-r--r--. 1 root root 17699 212 05:57 LICENSE-Enterprise.txt
-rw-r--r--. 1 root root 16726 212 05:57 MPL-2
-rw-r--r--. 1 root root  1977 212 05:57 README
drwxr-xr-x. 2 root root   131 219 17:01 snmp
-rw-r--r--. 1 root root 75685 212 05:57 THIRD-PARTY-NOTICES
[root@localhost mongodb]# 

进入到 data 目录再创建一个 logs 日志目录

[root@localhost mongodb]# cd data/
[root@localhost data]# ll
总用量 0
drwxr-xr-x. 2 root root 6 219 17:16 db
[root@localhost data]# mkdir logs
[root@localhost data]# ll
总用量 0
drwxr-xr-x. 2 root root 6 219 17:16 db
drwxr-xr-x. 2 root root 6 219 17:18 logs
[root@localhost data]# 

再进入到 logs 目录,创建一个日志文件 mongodb.log

[root@localhost data]# cd logs/
[root@localhost logs]# touch mongodb.log
[root@localhost logs]# ll
总用量 0
-rw-r--r--. 1 root root 0 219 17:19 mongodb.log
[root@localhost logs]# 

5. 配置mongodb核心配置文件

返回到 mongodb 根目录,使用 vim 命令创建并开始编辑 mongodb.conf 文件

[root@localhost mongodb]# vim mongodb.conf

mongodb.conf 文件配置如下

# 端口号
port=27017
# 数据库文件位置
dbpath=/usr/local/mongodb/data/db
# 日志文件位置
logpath=/usr/local/mongodb/data/logs/mongodb.log
# 以追加日志的形式记录
logappend=true
# 过滤掉无用日志信息,如果需要调试则改成false
quiet=true
# 以后台方式运行
fork=true
# 最大同时连接数
maxConns=100
# 不启用验证权限
# noauth=true
# 启用用户账号权限
auth=true
# 开启日志,默认true
journal=true
# 提供外网访问,不对ip进行绑定
bind_ip=0.0.0.0

6. 启动mongodb

使用命令 mongod -f mongodb.conf 启动mongodb

[root@localhost mongodb]# mongod -f mongodb.conf 

如果启动报错:

mongod: error while loading shared libraries: libnetsnmpmibs.so.31: cannot open shared object file: No such file or directory

则需要先安装一下 net-snmp

使用 yum 命令进行安装

yum install -y net-snmp

安装完成之后再进行启动

[root@localhost mongodb]# mongod -f mongodb.conf 
about to fork child process, waiting until server is ready for connections.
forked process: 45693
child process started successfully, parent exiting
[root@localhost mongodb]# 

启动成功。

关闭 mongodb

[root@localhost mongodb]# ps -ef | grep mongodb
root      45693      1  1 17:34 ?        00:00:01 mongod -f mongodb.conf
root      47814   5502  0 17:36 pts/0    00:00:00 grep --color=auto mongodb
[root@localhost mongodb]# kill -9 45693

7. 创建用户账号

[root@localhost mongodb]# mongo
MongoDB shell version v4.4.4
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("82489266-3976-4e0b-a87c-3d6238548825") }
MongoDB server version: 4.4.4
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
        https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
        https://community.mongodb.com
MongoDB Enterprise > use admin
switched to db admin
MongoDB Enterprise > db.createUser({"user":"root","pwd":"root",roles:["root"]})
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
MongoDB Enterprise > db.auth("root","root")
1
MongoDB Enterprise > show users
{
        "_id" : "admin.root",
        "userId" : UUID("3559dfaa-9ac2-46d2-a017-aa2102c35b48"),
        "user" : "root",
        "db" : "admin",
        "roles" : [
                {
                        "role" : "root",
                        "db" : "admin"
                }
        ],
        "mechanisms" : [
                "SCRAM-SHA-1",
                "SCRAM-SHA-256"
        ]
}
MongoDB Enterprise > 

使用命令

db.createUser({"user":"root","pwd":"root",roles:["root"]})

创建了一个 用户名为 root,密码为 root, 角色权限为 root 的账号。

Navicat连接