下载linux版本压缩包:
https://www.mongodb.com/dr/fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.1.tgz/download
以下为linux操作:
【1】在linux下创建安装包目录 resources(本示例完整目录:/usr/local/resources) ,通过ftp 将安装包上传至 /usr/local/resources,
【2】进入到 /usr/local/resources,将安装包 mongodb-linux-x86_64-4.0.1.tgz 解压到指定目录,命令如下:
tar -zxvf mongodb-linux-x86_64-4.0.1.tgz -C /usr/local 红色字体为目标目录
【3】进入第 二步解压的目标目录 /usr/local,重命名 mongodb-linux-x86_64-4.0.1 为 mongodb ,命令如下:
mv mongodb-linux-x86_64-4.0.1 mongodb, 红色字体为重命名之后的目录名
【4】创建mongo相关文件夹, 进入上一步 mongodb 目录,在 mongodb目录下创建 数据库数据保存目录、日志目录、配置文件目录,命令如下:
mkdir data 数据库数据保存目录
mkdir log 日志目录
mkdir etc 配置文件目录 (该目录非必须,命令行启动mongo数据库的时候,基本分两种情况:(1)通过该配置文件启动,(2)直接在命令行指定上述创建的数据库数据目录和日志目录启动)本文档以配置文件启动为例。
【5】编辑 配置文件,进入etc 目录,执行如下命令,mongodb.conf会自动创建;
vim mongodb.conf
配置文件内容如下:
dbpath=/usr/local/mongodb/data 数据保存目录
logpath=/usr/local/mongodb/log/mongodb.log 日志目录
fork=true 以守护进程的方式运行(别称后台运行)
journal=false
具体的配置有很多,本示例只做了简要配置 。文章结尾推荐了一篇博客,配置说明比较详细,可供参考。
【6】保存配置文件,启动mongo数据库。
进入到数据库安装目录的 bin 目录下:
执行命令:./mongod --config /usr/local/mongodb/etc/mongodb.conf
启动成功标志如下:
或者通过命令查看进程是否存在:
命令:ps -ef|grep mongo
【7】启动成功,连接mongo
由于此时并未配置系统环境变量,所以连接mongo 的命令需定位到安装目录的 bin 目录下,示例如下:
【7-1】首先进入安装目录,
cd /usr/local/mongodb , 用户请进入到自己的mongodb数据库安装路经。
【7-2】接着执行:./bin/mongo ,结果如下,则连接成功。
【7-3】创建mongodb管理用户;mongodb初始化默认没有用户信息,为了安全,我们需要给mongodb 添加管理用户;
在7-2,我们已经连接到 mongodb ,在当前命令行执行添加用户操作,命令如下:
角色为 userAdminAnyDatabase 的管理用户只在admin库中可用, 所以先切换到 admin 库,
1、use admin;
2、db.createUser({user:"admin",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]});
添加 成功之后我们可以通过命令查看当前用户信息:
3、命令如下:show users;
4、添加完管理用户之后,关闭mongodb 服务,
命令 : db.shutdownServer();
5、ctrl+c退出命令行;
6、查看mongodb是否关闭:
ps -ef|grep mongo
mongodb服务已不存在
7、启动mongodb;注意:在哪个库创建 的用户需要在哪个库下进行验证。
由于之前我们是在admin 库下创建的用户,所以首先需要去 admin 库进行验证。
切换到 admin 数据库,use admin ;
验证用户信息: db.auth("admin","password"); 返回1,则说明验证成功;
退出连接,然后重新连接 mongodb。
步骤简要概括:
第一步: 对于新的库,我们需要先切换到 admin ,在 admin 库认证过之后
第二步:切换到新库,在新库下创建当前库的用户。
第三步:创建完用户信息后需要断开mongo再重新连接,切换到用户自定义的数据库,进行验证,验证通过,就可以进行操作了;
【8】查看 全局用户信息
切换到 admin 库,命令: use admin;
认证 admin 库用户信息;db.auth("admin","password");
执行命令:db.system.users.find(),pretty();
【9】因为 admin 数据库添加了权限验证,所以要想停止服务,需要先进行验证,但是有可能 验证通过,db.shutdownServer()命令还是报错,如下所示,此时我们需要查看该用户是否具有 hostManager 角色,因为hostManager 具有停止服务的权限,若用户没有该角色,需要 修改用户角色信息,将 hostManager 角色添加上,
修改用户角色信息;
db.updateUser("admin",{roles:[{role:"userAdminAnyDatabase",db:"admin"},{role:"hostManager",db:"admin"}]});
无需重启,便可通过命令行停止服务;
【10、通用操作】若是不想在连接数据库的时候关闭mongodb ,可通过以下通用的命令关闭mongodb服务命令:
因为我配置了系统环境变量:所以在任意目录下都可以执行该命令:mongod --shutdown --dbpath /usr/local/mongodb/data/
若是还未配置系统变量,请进入到 安装目录的 bin 目录下执行 该命令。
也可以通过kill 命令关闭mongodb服务,不建议使用。
【附】以下是博主所搜的关于mongo的一些资料,转自第三方。仅供参考
该篇文章对于配置有详细说明:http://www.cnblogs.com/zlslch/p/6935377.html
关于mongodb数据库用户权限控制的说明: https://www.cnblogs.com/zhoujinyi/p/4610050.html