Centos7安装MondoDB7
一、安装 MongoDB Server
1.1、下载安装包并解压
cd /usr/local/
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-7.0.18.tgz
tar -xzvf mongodb-linux-x86_64-rhel70-7.0.18.tgz
mv mongodb-linux-x86_64-rhel70-7.0.18 mongodb
2、创建 MongoDB 的配置、数据和日志目录
# 创建三个文件夹
mkdir data data/db data/log
# 设置可读写权限
sudo chmod 666 data/db data/log/
3、在 mongodb 目录下新建配置文件 mongodb.conf(可选,但建议配置),打开文件输入以下内容。
systemLog:
destination: file
path: "/usr/local/mongodb/log/mongod.log"
logAppend: true
storage:
dbPath: "/usr/local/mongodb/data"
processManagement:
fork: true
pidFilePath: "/usr/local/mongodb/mongod.pid"
net:
bindIp: 0.0.0.0
port: 27017
4、配置环境变量,使用 sudo vi /etc/profile 命令打开系统文件,最后使用 source /etc/profile 命令重启系统配置。
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
5、完成以上步骤即可启动 Mongo 服务。
[root@localhost mongodb]# mongod -f /usr/local/mongodb/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 95517
child process started successfully, parent exiting
[root@localhost mongodb]# ps aux | grep mongo
root 95517 1.7 1.0 598464 86472 ? Sl 10:24 0:00 mongod -f /usr/local/mongodb/mongodb.conf
root 97715 0.0 0.0 110396 912 pts/0 S+ 10:25 0:00 grep --color=auto mongo
5、开机自启动
使用 vi /lib/systemd/system/mongodb.service 命令新建开机启动配置文件,输入以下内容保存。
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf --shutdown
PrivateTmp=true
[Install]
WantedBy=multi-user.target
6、启动、停止、状态查看命令
systemctl start mongodb.service
systemctl restart mongodb.service
systemctl stop mongodb.service
systemctl enable mongodb.service
[root@localhost mongodb]# systemctl status mongodb
● mongodb.service - mongodb
Loaded: loaded (/usr/lib/systemd/system/mongodb.service; disabled; vendor preset: disabled)
Active: active (running) since 五 2025-11-14 10:27:06 CST; 17s ago
Process: 103074 ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf (code=exited, status=0/SUCCESS)
Main PID: 103076 (mongod)
Tasks: 33
Memory: 186.0M
CGroup: /system.slice/mongodb.service
└─103076 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf
11月 14 10:27:05 localhost.localdomain systemd[1]: Starting mongodb...
11月 14 10:27:05 localhost.localdomain mongod[103074]: about to fork child process, waiting until server is ready for connections.
11月 14 10:27:05 localhost.localdomain mongod[103074]: forked process: 103076
11月 14 10:27:06 localhost.localdomain mongod[103074]: child process started successfully, parent exiting
11月 14 10:27:06 localhost.localdomain systemd[1]: Started mongodb.
[root@localhost mongodb]# systemctl stop mongodb
[root@localhost mongodb]# systemctl status mongodb
● mongodb.service - mongodb
Loaded: loaded (/usr/lib/systemd/system/mongodb.service; disabled; vendor preset: disabled)
Active: inactive (dead)
11月 14 10:27:05 localhost.localdomain systemd[1]: Starting mongodb...
11月 14 10:27:05 localhost.localdomain mongod[103074]: about to fork child process, waiting until server is ready for connections.
11月 14 10:27:05 localhost.localdomain mongod[103074]: forked process: 103076
11月 14 10:27:06 localhost.localdomain mongod[103074]: child process started successfully, parent exiting
11月 14 10:27:06 localhost.localdomain systemd[1]: Started mongodb.
11月 14 10:27:30 localhost.localdomain systemd[1]: Stopping mongodb...
11月 14 10:27:30 localhost.localdomain mongod[104464]: Killing process with pid: 103076
11月 14 10:27:31 localhost.localdomain systemd[1]: Stopped mongodb.
[root@localhost bin]# systemctl enable mongodb
Created symlink from /etc/systemd/system/multi-user.target.wants/mongodb.service to /usr/lib/systemd/system/mongodb.service.
二、安装 MongoDB Shell 客户端
1、下载安装包并解压
wget https://downloads.mongodb.com/compass/mongosh-2.4.2-linux-x64.tgz
tar -xzvf mongosh-2.4.2-linux-x64.tgz
mv mongosh-2.4.2-linux-x64 mongodb/mongosh
2、修改环境变量文件
vim /etc/profile.d/mongodb.sh
export PATH=/usr/local/mongodb/bin:/usr/local/mongodb/mongosh/bin:$PATH
#使环境变量生效
source /etc/profile.d/mongodb.sh
3、连接测试
mongosh
三、创建 MongoDB 管理员用户
MongoDB 默认是没有管理员账号的,所以要先添加管理员账号,再开启权限认证;MongoDB 添加账号需要使用 use admin 切换到 admin 数据库,在 admin 数据库添加的账号才是管理员账号;
1、使用 MongoDB Shell 客户端工具连接到 MongoDB Server
mongosh
2、查看数据库
test> show dbs;
admin 40.00 KiB
config 12.00 KiB
local 72.00 KiB
3、切换到 admin 数据库
test> use admin;
switched to db admin
4、创建管理员用户
#查看用户
admin> show users;
[]
#可以看到是没有用户的,接下来创建一个管理员用户
admin> db.createUser({user: "admin", pwd: "123456", roles: [{ role: "userAdminAnyDatabase", db: "admin"}]});
{ ok: 1 }
#再次查看用户,可以看到新的用户了
admin> show users;
[
{
_id: 'admin.admin',
userId: UUID('0748450a-812f-4114-aa1a-bb4fe10c9f96'),
user: 'admin',
db: 'admin',
roles: [ { role: 'userAdminAnyDatabase', db: 'admin' } ],
mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
}
]
#修改密码,注意先use admin到相应的库
admin> db.changeUserPassword("admin", "a123456");
{ ok: 1 }
四、开启 MongoDB Server 的登录认证
1、修改 mongod.conf 文件
vim /usr/local/mongodb/etc/mongod.conf
#在最后面添加以下内容:
security:
authorization: enabled
2、重启 MongoDB 服务
systemctl restart mongodb
3、连接测试
mongosh -u admin -p 123456
五、创建库及普通用户
1、使用管理员用户登录数据库
mongosh -u admin -p 123456
2、创建库与用户
#创建一个数据库mydb
use mydb;
#创建mydb数据库的用户(读写权限)
db.createUser({ user: "myuser", pwd: "m123456", roles: [{ role: "readWrite", db: "mydb"}]});
#查看用户
mydb> show users;
[
{
_id: 'mydb.myuser',
userId: UUID('ca9ca4de-472f-48fb-942b-051ddf91ff83'),
user: 'myuser',
db: 'mydb',
roles: [ { role: 'readWrite', db: 'mydb' } ],
mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
}
]
#校验库的用户
mydb> db.auth("myuser", "m123456")
{ ok: 1 }
#获取当前连接的用户
mydb> db.runCommand({connectionStatus: 1})
{
authInfo: {
authenticatedUsers: [ { user: 'myuser', db: 'mydb' } ],
authenticatedUserRoles: [ { role: 'readWrite', db: 'mydb' } ]
},
ok: 1
}
3、创建一个表并插入一条数据
#创建一个表并插入测试数据,不然连接后使用show dbs不显示库名
mydb> db.test_collection.insertOne({ name: "init" });
{
acknowledged: true,
insertedId: ObjectId('67e60c3e159f20f3876b140b')
}
#查看表
mydb> show tables;
test_collection
#查看库
mydb> show dbs;
mydb 8.00 KiB

浙公网安备 33010602011771号