Mongodb(Linux安装)

1、下载mongodb-linux-x86_64-2.6.0.tgz并进行解压,解压到/usr/local/wuliu/mongodb

        配置环境变量export PATH=$PATH:/usr/local/wuliu/mongodb/mongodb/bin

        查看版本信息:  mongod -version

2、启动

      cd /usr/local/wuliu/mongodb/mongodb

      mkdir data

      mkdir log

      启动:      ./mongod --dbpath=/usr/local/wuliu/mongodb/mongodb/data/ --logpath=/usr/local/wuliu/mongodmongodb/log/mongodb.log --logappend&

                     或者(需要权限的登录方式) ./mongod --dbpath=/usr/local/wuliu/mongodb/mongodb/data/ --logpath=/usr/local/wuliu/mongodmongodb/log/mongodb.log --logappend   --auth --port=27017 --fork

                     或者(不需要权限的登录方式) ./mongod --dbpath=/usr/local/wuliu/mongodb/mongodb/data/ --logpath=/usr/local/wuliu/mongodmongodb/log/mongodb.log --logappend   --port=27017 --fork

                    或者

设置开机自启动

将mongodb启动项目追加入rc.local保证mongodb在服务器开机时启动 

echo "/usr/local/server/mongodb/bin/mongod --dbpath=/usr/local/server/mongodb/data –logpath=/usr/local/server/mongodb/logs –logappend  --auth –port=27017" >> /etc/rc.local

      查看: netstat -lanp| grep 27017

     浏览: 127.0.0.1:27017 出现: 

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

 3、测试进入数据库cli管理界面

 

 

若数据库出现如不能连上,则是一个data目录下的mongod.lock文件的问题,可以用如下的修复的命令,

mongod --repair

4、用户管理

 

MongoDB增加用户认证: 增加用户、删除用户、修改用户密码、读写权限、只读权限

说明:增加用户是针对数据库进行操作

1.进入到数据库 use dbname

2.针对当前数据库添加用户 权限是针对当前数据

1.添加并验证用户

> use admin

> db.addUser("zjx","tsjianxin")

> db.auth("zjx","tsjianxin")

2.查看已存在的用户

> db.system.users.find()

3.现在来给另一个数据库51cv配置一个读写权限的-用户

> use 51cv

> db.addUser("51cvrw","51cv")

  ..."readOnly" : false...

4.配置一个只读权限的用户

> use 51cv

> db.addUser("51cvr","51cv",true)

> db.system.users.find()

   ..."readOnly" : true...

5.删除用户

> use dbname (admin or 51cv ,etc)

> db.system.users.remove({user:"haha"})

> db.system.users.find()

6.用户登录数据库测试

for:mongod dbname -u uname -p password

mongo admin -u zjx -p tsjianxin

MongoDB中帐号管理(用户名密码设置)

    默认不需要帐号密码,在/etc/mongodb.conf中设置auth = true后重启开启帐号权限功能。

    1,创建admin的超级权限:

    mongo 

    use admin;

    db.addUser('root','sa')

    增加了root帐号,这个时候执行show collections;现实没有权限,必须先执行db.auth('root','sa') ,返回1说明验证成功!返回0说明验证失败!

    直接登陆其他表时,必须先use admin;db.auth('root','sa'),再执行use keke;show collections;否则还是没有权限。

    2,如果想单独访问一个表,用独立的用户名,就需要在那个表里面建相应的user。

    mongo登陆,use admin;db.auth('root','sa');use keke;db.addUser('keke','test') ;

    这个时候可以直接用keke帐号登陆keke数据库。

    mongo

    use keke;db.auth("keke","test");show collections;正确。

 

5. 参数解释: --dbpath 数据库路径(数据文件)

--logpath 日志文件路径

--master 指定为主机器

--slave 指定为从机器

--source 指定主机器的IP地址

--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。

--logappend 日志文件末尾添加

--port 启用端口号

--fork 在后台运行

--only 指定只复制哪一个数据库

--slavedelay 指从复制检测的时间间隔

--auth 是否需要验证权限登录(用户名和密码)

 

 

-h [ --help ]             show this usage information

--version                 show version information

-f [ --config ] arg       configuration file specifying additional options

--port arg                specify port number

--bind_ip arg             local ip address to bind listener - all local ips

                           bound by default

-v [ --verbose ]          be more verbose (include multiple times for more

                           verbosity e.g. -vvvvv)

--dbpath arg (=/data/db/) directory for datafiles    指定数据存放目录

--quiet                   quieter output   静默模式

--logpath arg             file to send all output to instead of stdout   指定日志存放目录

--logappend               appnd to logpath instead of over-writing 指定日志是以追加还是以覆盖的方式写入日志文件

--fork                    fork server process   以创建子进程的方式运行

--cpu                     periodically show cpu and iowait utilization 周期性的显示cpu和io的使用情况

--noauth                  run without security 无认证模式运行

--auth                    run with security 认证模式运行

--objcheck                inspect client data for validity on receipt 检查客户端输入数据的有效性检查

--quota                   enable db quota management   开始数据库配额的管理

--quotaFiles arg          number of files allower per db, requires --quota 规定每个数据库允许的文件数

--appsrvpath arg          root directory for the babble app server 

--nocursors               diagnostic/debugging option 调试诊断选项

--nohints                 ignore query hints 忽略查询命中率

--nohttpinterface         disable http interface 关闭http接口,默认是28017

--noscripting             disable scripting engine 关闭脚本引擎

--noprealloc              disable data file preallocation 关闭数据库文件大小预分配

--smallfiles              use a smaller default file size 使用较小的默认文件大小

--nssize arg (=16)        .ns file size (in MB) for new databases 新数据库ns文件的默认大小

--diaglog arg             0=off 1=W 2=R 3=both 7=W+some reads 提供的方式,是只读,只写,还是读写都行,还是主要写+部分的读模式

--sysinfo                 print some diagnostic system information 打印系统诊断信息

--upgrade                 upgrade db if needed 如果需要就更新数据库

--repair                  run repair on all dbs 修复所有的数据库

--notablescan             do not allow table scans 不运行表扫描

--syncdelay arg (=60)     seconds between disk syncs (0 for never) 系统同步刷新磁盘的时间,默认是60s

 

Replication options:

--master              master mode 主复制模式

--slave               slave mode 从复制模式

--source arg          when slave: specify master as <server:port> 当为从时,指定主的地址和端口

--only arg            when slave: specify a single database to replicate 当为从时,指定需要从主复制的单一库

--pairwith arg        address of server to pair with

--arbiter arg         address of arbiter server 仲裁服务器,在主主中和pair中用到

--autoresync          automatically resync if slave data is stale 自动同步从的数据

--oplogSize arg       size limit (in MB) for op log 指定操作日志的大小

--opIdMem arg         size limit (in bytes) for in memory storage of op ids指定存储操作日志的内存大小

 

Sharding options:

--configsvr           declare this is a config db of a cluster 指定shard中的配置服务器

--shardsvr            declare this is a shard db of a cluster 指定shard服务器

 

 

 

 

 

     

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值