一, 创建 MongoDB 的安装路径
在 / usr/local/ 创建文件夹 mongoDB
mkdir mongoDB
二, 上传文件到 Linux 上的 / usr/local/source 目录下
1. 我首先在 mongoDB 下载路径下载 mongoDB 下载对应的版本.
2. 通过 FTP 工具将安装包上传到 linux 机器上面.
三, 解压文件
1. 进入到 / usr/local/source 目录:
cd /usr/local/source
2. 运行如下命令: tar -zxvf mongodb-linux-i686-3.2.13-rc0.gz -C /usr/local/mongoDB
2. 重命名
四, 创建配置文件
1. 创建数据库文件夹
- cd /usr/local/mongoDB/mongodbserver
- mkdir data
2. 创建日志文件夹
- cd /usr/local/mongoDB/mongodbserver
- mkdir log
3. 创建配置文件夹与配置文件
3.1 创建配置文件夹 etc
- cd /usr/local/mongoDB/mongodbserver
- mkdir etc
3.2 创建配置文件 mongodb.conf
- cd /usr/local/mongoDB/mongodbserver/etc
- vim mongodb.conf
- dbpath=/usr/local/mongoDB/mongodbserver/data
- logpath=/usr/local/mongoDB/mongodbserver/logs/mongodb.log
- port=27017
- fork=true
- journal=false
- storageEngine=mmapv1
五, 启动 MongoDB
1. mongodb 安装好后第一次进入是不需要密码的, 也没有任何用户, 通过 shell 命令可直接进入, cd 到 mongodb 目录下的 bin 文件夹, 执行命令./mongo 即可, 如下所示:
./mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf
启动成功后, 访问 http://npfdev1:27017/ , 可以看到:
2, 添加管理用户 (mongoDB 没有无敌用户 root, 只有能管理用户的用户 userAdminAnyDatabase)
利用 mongo 命令连接 mongoDB 服务器端:
- > use admin
- switched to db admin
- > db.createUser( {user: "pfnieadmin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});
成功后, 你将会看到:
注: 添加完用户后可以使用 show users 或 db.system.users.find() 查看已有用户.
3, 添加完管理用户后, 关闭 MongoDB, 并使用权限方式再次开启 MongoDB, 这里注意不要使用 kill 直接去杀掉 mongodb 进程,(如果这样做了, 请去 data/db 目录下删除 mongo.lock 文件), 可以使用 db.shutdownServer() 关闭.
4, 使用权限方式启动 MongoDB
在配置文件中添加: auth=true , 然后启动:
5, 进入 mongo shell, 使用 admin 数据库并进行验证, 如果不验证, 是做不了任何操作的.
- > use admin
- > db.auth("pfnieadmin","123456") #认证, 返回 1 表示成功
六, 将 mongod 路径添加到系统路径中, 方便随处执行 mongod 命令
1. 在 / etc/profile 文件中, 添加 export PATH=$PATH:/usr/local/mongoDB/mongodbserver/bin
2. 执行 source /etc/profile, 使系统环境变量立即生效
七, 将 mongo 路径软链到 / usr/bin 路径下, 方便随处执行 mongo 命令
1. 执行命令: ln -s /usr/local/mongoDB/mongodbserver/bin/mongo /usr/bin/mongo
八, 测试是否方便随处执行 mongo 命令
1. 回到任意路径下, 执行 mongo 命令, 连接 mongod 服务
2. 关闭 mongod 服务, 执行 db.shutdownServer()
- 2017-04-20T18:32:26.865+0800 E QUERY [thread1] Error: shutdownServer failed: {
- "ok" : 0,
- "errmsg" : "not authorized on admin to execute command { shutdown: 1.0 }",
- "code" : 13
- } :
- _getErrorWithCode@src/mongo/shell/utils.js:25:13
- DB.prototype.shutdownServer@src/mongo/shell/db.js:302:1
- @(shell):1:1
解决办法, 执行下面的语句, 添加权限:
- db.updateUser(
- "pfnieadmin",
- {
- roles : [
- {"role" : "userAdminAnyDatabase","db" : "admin"},
- {"role" : "dbOwner","db" : "admin"},
- {"role" : "clusterAdmin", "db": "admin"}
- ]
- }
- )
然后在执行 db.shutdownServer().
或者执行下面的命令关闭:
killall mongod
3. 启动 mongod 服务
mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf
九, MongoDB 设置为系统服务并且设置开机启动
1. 通过上面简单的操作, 我们已经将 MongoDB 配置文件配置完成, 那么接下里我们将为 MongoDB 设置系统服务.
2. 首先添加 MongoDB 系统服务, 命令如下: vim /etc/rc.d/init.d/mongod
3. 打开编辑器后, 我们将下面的配置粘贴进去, 然后保存
- start() {
- /usr/local/mongoDB/mongodbserver/bin/mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf
- }
- stop() {
- /usr/local/mongoDB/mongodbserver/bin/mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf --shutdown
- }
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- stop
- start
- ;;
- *)
- echo
- $"Usage: $0 {start|stop|restart}"
- exit 1
- esac
4. 保存完成之后, 添加脚本执行权限, 命令如下: chmod +x /etc/rc.d/init.d/mongod
5. 启动 MongoDB,service mongod start 如下图所示, 则说明启动成功:
6. 可以使用命令 service mongod stop 关闭 MongoDB 服务.
7. 验证 mongoDB 是否启动, 输入命令 lsof -i :27017, 监测端口已经在使用中, 所以说启动已经完成.
来源: http://www.linuxidc.com/Linux/2018-08/153637.htm