关于Mongodb数据库的使用总结

之前安装的Mongodb比较老1.8.2的,该版本的mongodb数据库有个缺陷,总的数据库容量不能超过2G,倘若超出2G,再往数据库中插入数据是插不进去的。

于是更新版本到3.0

步骤:

1.官网下载mongodb安装文件

2.安装配置

Linux下Mongodb安装和启动配置

1.下载安装包
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.2.tgz
下载完成后解压缩压缩包
tar zxf mongodb-linux-i686-1.8.2.tgz
 
2. 安装准备
将mongodb移动到/usr/local/mongdb文件夹
mv mongodb-linux-i686-1.8.2 /usr/local/mongodb
 
创建数据库文件夹与日志文件
mkdir /usr/local/mongodb/data
touch /usr/local/mongodb/logs
 
======在下一步启动mongodb的时候,有可能提示要安装一些包,如果yum配置是最新最全的话,直接yum install ***(依赖包名)  安装即可! 
3. 设置开机自启动
将mongodb启动项目追加入rc.local保证mongodb在服务器开机时启动 
echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data –logpath=/usr/local/mongodb/logs –logappend  --auth –port=27017" >> /etc/rc.local
 
4. 启动mongodb
cd到mongodb目录下的bin文件夹启动mongodb
 

./mongod --dbpath=/mnt/softs/mongodb/data --fork --logpath=/mnt/softs/mongodb/logs

//下面这个是需要权限的登录方式, 用户连接需要用户名和密码
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend  --auth  --port=27017 --fork
 
 
//这个是不需要密码的
/usr/local/server/mongodb/bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs --logappend  --port=27017 --fork
3.安装好后通过robomongo连接是连接不上的,包auth fail错误
   解决方法:
最近安装了mongodb3.1.4,并启用了权限验证,在dos窗口下操作没有任何问题,为了维护方便就下载了一个客户端工具Robomongo 0.8.5,用户名、密码的等配置好点解测试,结果连接服务没有问题,权限验证没有通过,如图
使用Robomongo 连接MongoDB 3.x 报 Authorization failed 解决办法 - xinmu - 我的博客
查看日志,发现有一句:Failed to authenticate admin@admin with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document 
试了各种办法,百度查遍无一个可以解决,没办法只能问谷歌了,最终在一个国外网站发现原来还是mongodb数据库的版本问题,查询版本
使用Robomongo 连接MongoDB 3.x 报 Authorization failed 解决办法 - xinmu - 我的博客
 解决思路:在非权限验证状态下  首先,删除已有用户并;其次,修改version表的currentVersion,功能后在重新创建用户
 
操作步骤:
1、删除用户:db.dropUser("admin");
2、修改version:db.system.version.update({ "_id" : "authSchema"},{$set: {"currentVersion" : 3} })  ;
3、重新创建用户:

db.createUser({user:"admin",pwd:"admin",roles:[{"role":"userAdminAnyDatabase","db":"admin"},{"role":"readWrite","db":"test"}]})

  4、重启mongdb服务,再次测试,
使用Robomongo 连接MongoDB 3.x 报 Authorization failed 解决办法 - xinmu - 我的博客
 
      搞定收工了。
 
 
重新创建库,创建库用户!!!
   常用命令如下:
    1.权限登陆部署启动
       /data/database/mongodb3.0.0/bin/mongod --dbpath=/data/database/mongodb3.0.0/data --logpath=/data/database/mongodb3.0.0/logs --logappend  --auth  --port=27017  --fork
      2 .非权限登陆部署启动
         /data/database/mongodb3.0.0/bin/mongod --dbpath=/data/database/mongodb3.0.0/data --logpath=/data/database/mongodb3.0.0 /logs --logappend   --port=27017  fork
      3.创建admin库下的管理员用户
         db.createUser({user:"vivame",pwd:"vivame",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
      4.在创建库之后创建库用户
         db.createUser({user:”wwmdb",pwd:”wwmdb",roles:[{role:"readWrite",db:”wwmdb"}]})
        多个(用户跟着库走):
db.createUser(
 {
   user: "bao",
   pwd: "12345678",
   roles: [
      { role: "readWrite", db: "tianhe" },
      { role: "read", db: "tianhe2" }
   ]
 }
)
         
5.管理专用命令,返回Mongodb服务器的版本号和主机的操作系统。
db.runCommand({ "buildInfo" : 1 })
 
6.复制集合的命令
db.runCommand({cloneCollection:"库名.集合名",from:"ip:端口"})
 
7.创建root用户

db.createUser(

  {

    user: "root",

    pwd: "123456",

    roles: [ { role: "root", db: "admin" } ]

  }

);

 

8.更改用户密码

 

db.changeUserPassword('root','vivame');

 

 
 
 
 
 
 
 
 

猜你喜欢

转载自kevinflynn.iteye.com/blog/2266293
今日推荐