mongodb-linux-x86_64-4.0.1.tgz部署_2018_lcf

下载地址链接: https://pan.baidu.com/s/1cR8qbBAqeY6KSTeg_0gMMA 密码: xutp

一、安装部署

注:#auth=true这个先注释再运行,等授权完了再开重启服务

1.安装(解压就可以直接使用),创建配置文件。

[root@bakserver /]# tar -xf mongodb-linux-x86_64-4.0.1.tgz
[root@bakserver /]# mv mongodb-linux-x86_64-4.0.1 /usr/local/mongodb
[root@bakserver /]# vim /usr/local/mongodb/bin/mongodb.conf
dbpath=/data/mongodb_data/db
logpath=/data/mongodb_data/logs/mongodb.log
port=27868
logappend=true
fork=true
bind_ip=0.0.0.0
#auth=true
maxConns = 800
directoryperdb=on

2.根据配置文件创建对应的存放目录和文件

[root@bakserver /]# mkdir -p /data/mongodb_data/db /data/mongodb_data/logs
[root@bakserver /]# touch /data/mongodb_data/logs/mongodb.log

3.添加命令运行环境变量
[root@bakserver /]# vim /etc/profile   //在文件最后面添加下面两行
....
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
[root@bakserver /]# source /etc/profile

4.启动服务
[root@bakserver /]# mongod --config /usr/local/mongodb/bin/mongodb.conf 
about to fork child process, waiting until server is ready for connections.
forked process: 10064
child process started successfully, parent exiting

二、连接mongodb授权账户

[root@bakserver /]# mongo -port 27868    //因为没开启账户验证,会提示一些警告信息,不用理会
MongoDB shell version v4.0.1
connecting to: mongodb://127.0.0.1:27868/
MongoDB server version: 4.0.1
Welcome to the MongoDB shell.
.....
> show dbs           //看是否连接正常,能显示出数据库就表示成功了
admin   0.000GB
config  0.000GB
local   0.000GB

> use admin         //创建总管理账户root,先要进入admin这个库里
switched to db admin
> db.createUser({user:"root",pwd:"jkyroot",roles:["root"]})     //开始创建
Successfully added user: { "user" : "root", "roles" : [ "root" ] }

> use fitcome      //设置单库管理账号
switched to db fitcome
> db.createUser({user:"fittt",pwd:"fit54",roles:[{role:"dbAdmin",db:"fitcome"},{role:"userAdmin",db:"fitcome"},{role:"readWrite",db:"fitcome"}]})    //设置单库权限账号
Successfully added user: {
	"user" : "fittt",
	"roles" : [
		{
			"role" : "dbAdmin",
			"db" : "fitcome"
		},
		{
			"role" : "userAdmin",
			"db" : "fitcome"
		},
		{
			"role" : "readWrite",
			"db" : "fitcome"
		}
	]
}

> db.test.save({name:"zjc",age:18,sex:"boy"},{x:1,y:2})  //创建个临时表,生效这个库可查询到
WriteResult({ "nInserted" : 1 })
> show dbs
admin    0.000GB
config   0.000GB
fitcome  0.000GB
local    0.000GB
> exit      //设置完成退出

三、重启服务让账号生效

--找到mongodb进程并杀掉
[root@bakserver ~]# ps aux | grep mongod
root     10064  0.2  0.1 988292 50768 ?        SLl  05:47   2:18 mongod --config /usr/local/mongodb/bin/mongodb.conf
root     10513  0.0  0.0 112660   968 pts/0    S+   21:51   0:00 grep --color=auto mongod
[root@bakserver ~]# kill 10064

--去掉mongodb.conf中#auth=true的#号,就是去掉注释启用这一行
[root@bakserver ~]# vim /usr/local/mongodb/bin/mongodb.conf 
....
auth=true                        //找到这行把之前的注释去掉保存退出
....

--重启mongodb服务,让账号生效
[root@bakserver ~]# mongod --config /usr/local/mongodb/bin/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 10587
child process started successfully, parent exiting

--测试用账号连接
[root@bakserver ~]# mongo --port 27868 -u "root" -p "jkyrot2018" --authenticationDatabase "admin"
...
> show dbs
admin    0.000GB
config   0.000GB
fitcome  0.000GB
local    0.000GB
> exit
bye

[root@bakserver ~]# mongo --port 27868 -u "fittt" -p "fit54" --authenticationDatabase "fitcome"
...
> show dbs
fitcome  0.000GB
> exit
bye


测试都可以登陆,部署完成!

-----------------------------------------------------------------文档摘要

一,windows10 安装 MongoDB :

1,下载MongoDB:

 地址:https://www.mongodb.com/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-4.0.0-signed.msi/download

2,安装 Mongodb

 
  1. 1,安装位置 :D:\Program Files\MongoDB\Server\4.0 (选择next,Custom(自定义))

  2.  
  3. 2,文件夹配置:D:\Program Files\MongoDB\Server\4.0

  4. 我自定义安装D 盘下,进入到MongoDB\Server\4.0 下创建DATA文件夹(一般是有了,不要创建),

  5. 文件夹内创建DB,DB内创建mongo.log。

  6.  
  7. 复制路径1 D:\Program Files\MongoDB\Server\4.0\data\db\

  8.  
  9. 复制路径2 D:\Program Files\MongoDB\Server\4.0\data\db\logs\mongo.log # 备用

  10.  
  11. 3,shift + 右击打开cmd 或者win+r 切换路径到

  12. d:

  13.  
  14. cd D:\Program Files\MongoDB\Server\4.0\bin\ # 这里切换到,输入 mongod,可以使用了

  15.  
  16. 4,开始配置文件:mongod --dbpath D:\Program Files\MongoDB\Server\4.0\data\db\

  17.  
  18. port=27017 和 http://localhost:27017/ :

  19.  
  20. 安装配置成功,运行http://localhost:27017/ 显示:

  21. It looks like you are trying to access MongoDB over HTTP on the native driver port.

  22.  
  23. 5,注意 cmd 打开的窗口不要关闭

*************************************************** 最终效果图 **********************************************************************************

---- end  出现上述的,表示成功

3,每次命令行模式启动太麻烦,有没有更简洁的方法呢?

 
  1. 管理员模式启动cmd:

  2.  
  3. 切换默认路径到 D:\Program Files\MongoDB\Server\4.0\bin>

  4.  
  5. 把下面的指令输入/copy后回车,

  6.  
  7. mongod --bind_ip 0.0.0.0 --logpath D:\Program Files\MongoDB\Server\4.0\data\db\logs\mongo.log --logappend --dbpath D:\Program Files\MongoDB\Server\4.0\data\db --port 27017 --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install

  8.  
  9. ****注释:

  10. --bind_ip 0.0.0.0 任意ip,log环境变量配置 -logappend log追加方式写入

  11. ,mongoDB的环境变量配置,端口、服务名、安装配置,然后回车

  12.  
  13. *****************************************************************

  14.  
  15. 接下来到WIndows系统服务里查看mongoDB服务是否启动,未启动就启动它,到浏览器输入http://localhost:27017/ 回车,查看启动成功没

  16.  
  17. 指令模式太繁琐,试试Robomongo,下载地址见上面,下载后正常安装就好,配合python、redis可以浪了

*******************************************************   (windows10) end  ********************************************************************] 

---------------------------常用命令等

2.4 内建角色

Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
db.test.find({id:10})          返回test数据集ID=10的数据集  
db.test.find({id:10}).count()  返回test数据集ID=10的数据总数  
db.test.find({id:10}).limit(2) 返回test数据集ID=10的数据集从第二条开始的数据集  
db.test.find({id:10}).skip(8)  返回test数据集ID=10的数据集从0到第八条的数据集  
db.test.find({id:10}).limit(2).skip(8)  返回test数据集ID=1=的数据集从第二条到第八条的数据  
db.test.find({id:10}).sort()   返回test数据集ID=10的排序数据集  
db.test.findOne([query])       返回符合条件的一条数据  
db.test.getDB()                返回此数据集所属的数据库名称  
db.test.getIndexes()           返回些数据集的索引信息  
db.test.group({key:...,initial:...,reduce:...[,cond:...]})    返回分组信息  
db.test.mapReduce(mayFunction,reduceFunction,<optional params>)  这个有点像存储过程  
db.test.remove(query)                      在数据集中删除一条数据  
db.test.renameCollection(newName)          重命名些数据集名称  
db.test.save(obj)                          往数据集中插入一条数据  
db.test.stats()                            返回此数据集的状态  
db.test.storageSize()                      返回此数据集的存储大小  
db.test.totalIndexSize()                   返回此数据集的索引文件大小  
db.test.totalSize()                        返回些数据集的总大小  
db.test.update(query,object[,upsert_bool]) 在此数据集中更新一条数据  
db.test.validate()                         验证此数据集  
db.test.getShardVersion()                  返回数据集共享版本号  
db.AddUser(username,password[, readOnly=false])  添加用户  
db.auth(usrename,password)     设置数据库连接验证  
db.cloneDataBase(fromhost)     从目标服务器克隆一个数据库  
db.commandHelp(name)           returns the help for the command  
db.copyDatabase(fromdb,todb,fromhost)  复制数据库fromdb---源数据库名称,todb---目标数据库名称,fromhost---源数据库服务器地址  
db.createCollection(name,{size:3333,capped:333,max:88888})  创建一个数据集,相当于一个表  
db.currentOp()                 取消当前库的当前操作  
db.dropDataBase()              删除当前数据库  
db.eval(func,args)             run code server-side  
db.getCollection(cname)        取得一个数据集合,同用法:db['cname'] or  
db.getCollenctionNames()       取得所有数据集合的名称列表  
db.getLastError()              返回最后一个错误的提示消息  
db.getLastErrorObj()           返回最后一个错误的对象  
db.getMongo()                  取得当前服务器的连接对象get the server  
db.getMondo().setSlaveOk()     allow this connection to read from then nonmaster membr of a replica pair  
db.getName()                   返回当操作数据库的名称  
db.getPrevError()              返回上一个错误对象  
db.getProfilingLevel()         获取profile level  
db.getReplicationInfo()        获得重复的数据  
db.getSisterDB(name)           get the db at the same server as this onew  
db.killOp()                    停止(杀死)在当前库的当前操作  
db.printCollectionStats()      返回当前库的数据集状态  
db.printReplicationInfo()        打印主数据库的复制状态信息  
db.printSlaveReplicationInfo()        打印从数据库的复制状态信息  
db.printShardingStatus()       返回当前数据库是否为共享数据库  
db.removeUser(username)        删除用户  
db.repairDatabase()            修复当前数据库  
db.resetError()  
db.runCommand(cmdObj)          run a database command. if cmdObj is a string, turns it into {cmdObj:1}  
db.setProfilingLevel(level)    设置profile level 0=off,1=slow,2=all  
db.shutdownServer()            关闭当前服务程序  
db.stats()                       返回当前数据库的状态信息
db.version()                   返回当前程序的版本信息

猜你喜欢

转载自blog.csdn.net/cbuy888/article/details/82225058