windows下MongoDB的安装及配置
一、先登录Mongodb官网https://www.mongodb.com/download-center#community 下载 安装包。32、64位的都行。
二、安装MongoDB
下载后的安装包:
安装比较简单,类似于普通QQ软件,中间主要是选择“Custom”自定义 安装路径修改下:D:\software\MongoDB
然后不断“下一步”,安装至结束。
安装比较容易。难点在启动Mongodb的服务以及将MongoDB设置成Windows服务,加配置文件在windows的“服务”中找到。
三、先创建数据库文件的存放位置
在MongoDB下创建data,在data下再创建db:D:\software\MongoDB\data\db
因为启动mongodb服务之前需要必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功。
四、启动MongoDB服务
1.打开cmd命令行
2.进入D:\software\MongoDB\bin目录(注意:先输入d:进入d盘,然后输入cd D:\software\MongoDB\bin)
3.输入如下的命令启动mongodb服务:mongod --dbpath D:\software\MongoDB\data\db
即是在第三步创建的数据库存放文件路径下启动。
4.在浏览器输入http://localhost:27017 (27017是mongodb的端口号)查看,若显示:
则表示,连接成功。如果不成功,可以查看端口是否被占用。
但是在本地windows“服务”中,是没有配置上mongodb 服务的,可以打开“服务”看下
五、配置本地windows mongodb 服务
这样可设置为 开机自启动,可直接手动启动关闭,可通过命令行net start MongoDB 启动。该配置会大大方便。
1.先在data文件下创建一个新文件夹log(用来存放日志文件)
2.在Mongodb新建配置文件mongo.config
可能很多人都不会创建.config配置文件。那给大家介绍下简单的方法:
先创建一个mongo.txt文件,再打开,点击”另存为“,将底下的文件类型更改为”全部类型“,并更改文件名称为mongo.config。
这样就可以创建一个config的配置文件了。
2.用记事本打开mongo.config ,并输入:
dbpath=D:\software\MongoDB\data\db
logpath=D:\software\MongoDB\data\log\mongo.log
3.用管理员身份打开cmd:
可能还有很多人不会管理员身份打开cmd。这也介绍下:
在下图路径下找到cmd 的运行文件
然后右键,以管理员身份运行。打开后发现在顶端比普通打开的多了”管理员“三个字
4.配置windows服务:
cmd先跳转到 D:\software\MongoDB\bin目录下。
输入:mongod --config "D:\software\Mongodb\mongo.config" --install --serviceName "MongoDB"
mongod --config "D:\studeySoft\mongoDbStall\mongo.config" --install --serviceName "MongoDB"
即根据刚创建的mongo.config配置文件安装服务,名称为MongoDB。
完成后,再次查看本地的服务。
如果成功的话,会发现本地服务多了”MongoDB"服务。
这就大功告成了。哈哈~~~
可以通过:“开机自启动,可直接手动启动关闭,命令行net start MongoDB 启动”。
开启后,可以正常连接了。可以用pycharm等IDE连接,
六、创建mongodb的用户
一般用户在配置完毕了上诉的MongoDB后,都可以直接使用MongoDB进行学习和测试了。但是在后来的开发的时候,就需要创建一个专属的账号来和密码来连接数据库了。为了方便,所以还是建议读者能坚持把数据库的用户给配置一下,在后来的使用过程中会很有用。在创建数据库用户的时候,需要将MongoDB的进行免密登录。
1.创建root用户:
1、 首先免密方式开启数据库
$ ./mongod
2、使用admin数据库
> use admin
switch admin
3、为admin库添加 root账户
>db.createUser({
'user' : 'root',
'pwd' : '123456',
'roles':[
{role:'root',db:'admin'} #此为admin这个表的根用户,登录以后方可对所有库进行操作
]
})
4,验证用户
> db.auth('adminName','yourPassword')
-- 1 #此时已成功登录admin 的root账户,可以进行所有库的操作
5、然后退出当前数据库,在上述的mongo.config的后面加上auth=true,然后重启服务器
6、此时没有使用账号密码也能登录,但是无法进行相关操作
mongo localhost:27017/admin
7,使用密码登录 mongo localhost:27017/admin --authenticationDatabse "admin" -u root -p 123456
>show dbs
>db.getUsers()
>show dbs
2.配置windows服务:
使用root登录上后数据库后,因为是数据库的root用户。可以直接切换到自己想要的数据库中,去创建用户。
> use testdata
switched to db testdata
> db.createUser({
'user':'zhangsan', //链接数据库的账户名
'pwd':'lisi', //密码
'roles':[
{
role:'dbOwner',
db:'testdata'
}
]
})
Successfully added user: {
"user" : "zhangsan",
"roles" : [
{
"role" : "dbOwner",
"db" : "testdata"
}
]
}
> db.auth('zhangsan','lisi')
1
用户重启数据库服务后,用户就可以使用账户密码进行数据库的登录了。下面介绍一下数据库的角色和角色说明:
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 内部角色:__system
read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
相关命令:
获得数据库的所有用户权限信息: db.getUsers()
获得某个用户的权限信息: db.getUser()
创建角色: db.createRole()
更新角色: db.updateRole()
删除角色: db.dropRole()
获得某个角色信息: db.getRole()
删除用户: db.dropUser()
删除所有用户: db.dropAllUsers()
将一个角色赋予给用户: db.grantRolesToUser()
eg:db.grantRolesToUser ( "root", [ { role: "__system", db: "admin" } ] )
撤销某个用户的某个角色权限: db.revokeRolesFromUser()
更改密码: db.changeUserPassword()
直接输入指令回车,可以看到参数列表和指令的函数代码
pycharm连接mongodb,可以使用pycharm配置mongo插件连接。
介绍个博文你学习安装:
http://blog.csdn.net/heshushun/article/details/77777752
centos下使用压缩包安装方式:
https://blog.csdn.net/wangzuokun/article/details/70799976
上一篇: 新手求助php日历问题