当前位置:首页 » 数据仓库 » mongodb修改数据库密码
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

mongodb修改数据库密码

发布时间: 2022-10-16 13:38:27

① java对所有mongodb表进行增删改查表名怎么设置

一、MongoDB数据库参数配置

1、推荐使用mongodb.cfg.properties配置,则在构造MongoDBService对象的时候只需调用无参构造方法即可自动完成配置。

源代码:(完整项目文件下载链接:点击打开链接)

MongoDBServiceImpl.java

public class MongoDBServiceImpl implements MongoDBService {private String dbName;private String collName;private DB db;//有参构造方法,指定数据库名与集合名public MongoDBServiceImpl(String dbName, String collName) {this.dbName = dbName;this.collName = collName;try {db = getDb();} catch (Throwable e) {e.printStackTrace();}}//无参构造方法,返回配置文件配置的数据库对象引用,如果配置文件中没有设置则返回默认数据库对象引用public MongoDBServiceImpl() {getDb();}/** 获取数据库对象,3种情况(优先级从高到低):*1、构造方法指定2、配置文件指定3、默认数据库*(情况2、3在MongoDButil中设置)*/public DB getDb() {if (this.db == null) {if (this.dbName == null) {this.db = MongoDBUtil.getDB();} else {this.db = MongoDBUtil.getDBByName(this.dbName);}}return this.db;}/** 获取集合对象,3种情况(优先级从高到低):*1、构造方法指定2、配置文件指定3、默认数据库*(情况2、3在MongoDButil中设置)*/public DBCollection getCollection() {if(this.collName != null){return db.getCollection(this.collName);}else {return MongoDBUtil.getDBCollection();}}public DBObject map2Obj(Map<string, object=""> map) {DBObject obj = new BasicDBObject();if (map.containsKey("class") && map.get("class") instanceof Class)map.remove("class");obj.putAll(map);return obj;}//插入数据public void insert(DBObject obj) {getCollection().insert(obj);}//插入多条数据public void insertBatch(List<dbobject> list) {if (list == null || list.isEmpty()) {return;}List<dbobject> listDB = new ArrayList<dbobject>();for (int i = 0; i < list.size(); i++) {listDB.add(list.get(i));}getCollection().insert(listDB);}//删除数据public void delete(DBObject obj) {getCollection().remove(obj);}//删除多条数据public void deleteBatch(List<dbobject> list) {if (list == null || list.isEmpty()) {return;}for (int i = 0; i < list.size(); i++) {getCollection().remove(list.get(i));}}//获取集合中的数据数量public long getCollectionCount() {return getCollection().getCount();}//查找符合条件的数据数量public long getCount(DBObject obj) {if (obj != null)return getCollection().getCount(obj);return getCollectionCount();}//查找符合条件的数据public List<dbobject> find(DBObject obj) {DBCursor cur = getCollection().find(obj);return DBCursor2list(cur);}//查找符合条件的数据并排序@Overridepublic List<dbobject> find(DBObject query, DBObject sort) {DBCursor cur;if (query != null) {cur = getCollection().find(query);} else {cur = getCollection().find();}if (sort != null) {cur.sort(sort);}return DBCursor2list(cur);}//查找符合条件的数据并排序,规定数据个数@Overridepublic List<dbobject> find(DBObject query, DBObject sort, int start,int limit) {DBCursor cur;if (query != null) {cur = getCollection().find(query);} else {cur = getCollection().find();}if (sort != null) {cur.sort(sort);}if (start == 0) {cur.batchSize(limit);} else {cur.skip(start).limit(limit);}return DBCursor2list(cur);}//将DBCursor转化为list<dbobject>private List<dbobject> DBCursor2list(DBCursor cur) {List<dbobject> list = new ArrayList<dbobject>();if (cur != null) {list = cur.toArray();}return list;}//更新数据public void update(DBObject setFields, DBObject whereFields) {getCollection().updateMulti(whereFields, setFields);}//查询集合中所有数据public List<dbobject> findAll() {DBCursor cur = getCollection().find();List<dbobject> list = new ArrayList<dbobject>();if (cur != null) {list = cur.toArray();}return list;}//由ID获取数据public DBObject getById(String id) {DBObject obj = new BasicDBObject();obj.put("_id", new ObjectId(id));DBObject result = getCollection().findOne(obj);return result;}public String getDbName() {return dbName;}public void setDbName(String dbName) {this.dbName = dbName;this.db = MongoDBUtil.getDBByName(this.dbName);}public String getCollName() {return collName;}public void setCollName(String collName) {this.collName = collName;}@Overridepublic void printListDBObj(List<dbobject> list) {// TODO Auto-generated method stubfor(DBObject dbObject: list){System.out.println(dbObject);}}}</dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></string,>

MongoDBUtil.java

public class MongoDBUtil {// 定义默认配置,1、IP地址 2、端口号 3、用户名 4、密码 5、配置文件位置名 6、数据库名private static final String MONGODB_ADDRESS = "127.0.0.1";private static final int MONGODB_PORT = 27017;private static final String MONGODB_USERNAME = "root";private static final String MONGODB_PASSWORD = "";private static final String MONGODB_RESOURCE_FILE = "mongodb.cfg.properties";private static final String MONGODB_DBNAME = "test";private static final String MONGODB_COLLECTIONNAME = "test";// 定义静态变量,1、Mongo对象(代表数据库连接)2、DB对象(代表数据库)3、集合名4、数据库相关配置映射集合5、已获取的数据库连接private static Mongo mongo;private static DB db;private static DBCollection collection;private static Map<string, string=""> cfgMap = new HashMap<string, string="">();private static Hashtable<string, db=""> mongoDBs = new Hashtable<string, db="">();/*** 初始化Mongo的数据库*/static {init();}/*** 获取配置文件中配置的DB对象*/public static DB getDB() {return db;}/*** 获取配置文件中配置的DBCollection对象*/public static DBCollection getDBCollection() {return collection;}/*** 根据数据库名称,得到数据库 如果不存在,则创建一个该名称的数据库,并设置用户名和密码为配置文件中的参数值** @param dbName* @return DB*/@SuppressWarnings("deprecation")public static DB getDBByName(String dbName) {DB db = mongo.getDB(dbName);if (!mongoDBs.contains(db)) {System.out.println("add");db.addUser(cfgMap.get("mongo.db.username"),cfgMap.get("mongo.db.password").toCharArray());mongoDBs.put(dbName, db);}return db;}// ————————————————————————————————————初始化过程————————————————————————————————————/*** 获取配置文件mongedb.cfg.properties的文件对象*/public static File getConfigFile() {String path = MongoDBUtil.class.getResource("/").getPath();String fileName = path + MONGODB_RESOURCE_FILE;System.out.println(fileName);File file = new File(fileName);if (file.exists()) {return file;}return null;}/*** 通过mongedb.cfg.properties配置文件初始化配置映射集合,如果没有编写配置文件,则加载程序指定的默认配置*/@SuppressWarnings("unchecked")private static void initCfgMap() {File file = getConfigFile();if (file != null) {Properties p = new Properties();try {p.load(new FileInputStream(file));for (Enumeration enu = p.propertyNames(); enu.hasMoreElements();) {String key = (String) enu.nextElement();String value = (String) p.getProperty(key);cfgMap.put(key, value);}} catch (IOException e) {System.out.println("加载Mongo配置文件失败!");e.printStackTrace();}} else { // 如果没有编写配置文件,则加载默认配置cfgMap.put("mongo.db.address", MONGODB_ADDRESS);cfgMap.put("mongo.db.port", String.valueOf(MONGODB_PORT));cfgMap.put("mongo.db.username", MONGODB_USERNAME);cfgMap.put("mongo.db.password", MONGODB_PASSWORD);cfgMap.put("mongo.db.dbname", MONGODB_DBNAME);cfgMap.put("mongo.db.collectionname", MONGODB_COLLECTIONNAME);}}/*** 初始化Mongo的数据库(将db指向相应对象引用,将collection指向相应对象引用,通过mongoDBs记录现有数据库对象)*/@SuppressWarnings("deprecation")private static void init() {initCfgMap();try {String address = cfgMap.get("mongo.db.address");int port = Integer.parseInt(cfgMap.get("mongo.db.port").toString());String dbName = cfgMap.get("mongo.db.dbname");String username = cfgMap.get("mongo.db.username");String password = cfgMap.get("mongo.db.password");String collectionName = cfgMap.get("mongo.db.collectionname");mongo = new Mongo(address, port);if (dbName != null && !"".equals(dbName)) {db = mongo.getDB(dbName);if (username != null && !"".equals(username)) {db.addUser(username, password.toCharArray());if (collectionName != null && !"".equals(collectionName)) {collection = db.getCollection(collectionName);}}mongoDBs.put(dbName, db);}} catch (Exception e) {e.printStackTrace();}}}

② python中mongodb怎么连接其他服务器的数据库

对于mongo的操作,先安装mongodb的python扩展,在你的命令行窗口上输入:pip install pymongo,下面是例子,按需要修改

from pymongo import MongoClientimport timemongo_uri_auth = 'mongodb://user:password@localhost:27017/'#mongo有要验证的话请自行替换user和passwordmongo_uri_no_auth = 'mongodb://localhost:27017/' #mongo没有账号密码验证的时候用这个database_name = 'request_db' # 你要连接的数据库名,自行替换你需要的库名table_name = 'request_tb' #你要查询的表名,请自行替换你需要的表名client = MongoClient(mongo_uri_no_auth)#创建了与mongodb的连接db = client[database_name]table = db[table_name] #获取数据库中表的游标#你要插入的数据insert_data = {"name": "Mike", "grade": "two", "age": 12, "sex": "man"}table..insert_one(insert_data ) #插入一条数据#查询数据name为Mike的记录record = table.find_one({"name": "Mike"})print record

③ 如何给mongodb管理员权限

1.用户权限说明

A.MongoDB是没有默认管理员账号,所以要先添加管理员账号,再开启权限认证。

B.切换到admin数据库,添加的账号才是管理员账号。

C.用户只能在创建用户对应的数据库中完成认证,包括管理员账号。

D.管理员可以管理所有数据库,但是不能直接管理其他数据库,要先在admin数据库认证后才可以。

2.MongoDB数据库角色

A.数据库用户角色:read、readWrite;

B.数据库管理角色:dbAdmin、dbOwner、userAdmin;

C.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;

D.备份恢复角色:backup、restore;

E.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

F.超级用户角色:root

角色说明:

Read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库

dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

root:只在admin数据库中可用。超级账号,超级权限

3.添加管理员账号及完成认证

db.createUser({user:’root’,pwd:’zuchezaixian’,roles:[{role:’root’,db:’admin’}]})

注:所有数据库下的用户都在admin的users集合中可以查询到:db.system.users.find()

配置文件指定启用身份认证,重启MongoDB服务。

重启后执行show dbs会提示未认证,我们需要切换到admin数据库下完成管理员账号认证:

完成认证后,就可以成功执行show dbs了。

4.Spring配置用户认证

mongodb.properties中指定管理员账号及对应的数据库名。

在spring-data-mongodb 1.7版本后需要在mongo-client

中设置credentials属性来指定管理员信息,credentials的配置形式是:“用户名:密码@默认数据库”,如:credentials="${mongo.user}:${mongo.pwd}@${mongo.defaultDbName}"

④ mongodb创建的数据库默认用户名密码多少

方法如下: 创建数据库 use tt 这样就创建了一个数据库,如果什么都不操作离开的话,这个库就会被系统删除.所以还要执行下面的命令: db.usr.insert({'name':'tompig'}); db.usr.insert({'name':'tompig1','id':1});

⑤ mongodb3.0没有admin数据库了,怎么添加超级管理员

修改 /etc/mongod.conf 文件。mongoDB默认情况下任何客户端都可以连接27017端口,且没有认证,默认情况下没有管理员帐户。通过修改这个配置文件可以更改为登陆时进行权限认证。
mongoDB中如果想要给某个数据库创建一个用户,需要首先进入该数据库,然后使用addUser命令。在这里也可以将用户设置为只读(db.addUser("jack","jack",true),第三个参数表示是否时“只读用户”)。

要使用超级管理员,需要先连接admin数据库并登陆管理员帐户,然后连接其他数据库就可以行使管理员权限。

用户信息保存及认证过程

类似Mysql将系统用户信息保存在mysql.user表。MongoDB也将系统用户的username、pwd保存在admin.system.users集合中。其中pwd = md5(username + “:mongo:” + real_password)。这本身并没有什么问题。username和:mongo:相当于对原密码加了一个salt值,即使攻击者获取了数据库中保存的md5 hash,也没法简单的从彩虹表中查出原始密码。

权限管理常用命令

1. #进入数据库admin

use admin

2. #增加或修改用户密码

db.addUser('name','pwd')

3. #查看用户列表

db.system.users.find()

4. #用户认证

db.auth('name','pwd')
这一个返回1就认证成功了,只有认证成功才能对数据库进行操作

5. #删除用户

db.removeUser('name')

6. #查看所有用户

show users

7. #查看所有数据库

show dbs

8. #查看所有的collection

show collections

9. #查看各collection的状态

db.printCollectionStats()

10. #查看主从复制状态

db.printReplicationInfo()

⑥ mongodb怎么查密码复杂度策略

咨询记录 · 回答于2021-10-27

⑦ mongodb spring用户名密码怎么配置

方法如下:
创建数据库
use
tt
这样就创建了一个数据库,如果什么都不操作离开的话,这个库就会被系统删除.所以还要执行下面的命令:
db.usr.insert({'name':'tompig'});
db.usr.insert({'name':'tompig1','id':1});
随便整了2个表,这个无所谓的,反...

⑧ 如何建立一个含有用户名和密码的mongodb的数据库

方法如下:
创建数据库
use tt
这样就创建了一个数据库,如果什么都不操作离开的话,这个库就会被系统删除.所以还要执行下面的命令:
db.usr.insert({'name':'tompig'});
db.usr.insert({'name':'tompig1','id':1});
随便整了2个表,这个无所谓的,反正要导入表的话就删除掉这2个就可以了,目前只是想让数据库保持住.
然后使用命令查看是否有保存tt这个数据库:
show dbs
3.配置用户
use tt
db.addUser('mongodb','123456');
mongodb是用户名,123456是密码.
好了,这样一个数据库和对这个数据库配置用户就完成了.
mongodb常用命令:
1、Help查看命令提示
help
db.help();
db.yourColl.help();
db.youColl.find().help();
rs.help();
2、切换/创建数据库
use yourDB; 当创建一个集合(table)的时候会自动创建当前数据库
3、查询所有数据库
show dbs;
4、删除当前使用数据库
db.dropDatabase();
5、从指定主机上克隆数据库
db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库
6、从指定的机器上复制指定数据库数据到某个数据库
db.Database("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中
7、修复当前数据库
db.repairDatabase();
8、查看当前使用的数据库
db.getName();
db; db和getName方法是一样的效果,都可以查询当前使用的数据库
9、显示当前db状态
db.stats();
10、当前db版本
db.version();
11、查看当前db的链接机器地址
db.getMongo();
Collection聚集集合
1、创建一个聚集集合(table)
db.createCollection(“collName”, {size: 20, capped: 5, max: 100});
2、得到指定名称的聚集集合(table)
db.getCollection("account");
3、得到当前db的所有聚集集合
db.getCollectionNames();
4、显示当前db所有聚集索引的状态
db.printCollectionStats();
用户相关
1、添加一个用户
db.addUser("name");
db.addUser("userName", "pwd123", true); 添加用户、设置密码、是否只读
2、数据库认证、安全模式
db.auth("userName", "123123");
3、显示当前所有用户
show users;
4、删除用户
db.removeUser("userName");
其他
1、查询之前的错误信息
db.getPrevError();
2、清除错误记录
db.resetError();

⑨ linux怎么修改mongodb的用户名和密码

不知道你用什么语言连接mongodb,以下是用mongo的shell打开数据库:#创建一个库:
use mytest
#添加一个用户account,pwd
db.addUser("wangming","1234")
#查看当前库中的用户
db.system.users.find()
#连接时候通过auth命令进行连接(account,pwd)
db.auth("wangming","1234")
如果是用pymongo连接mongo,如下
#连接mongodb服务
con = MongoClient(host,port)
#选择数据库
db = con[dbname]
#用用户名登陆
db.authenticate(account, pwd)
mongodb还是挺好用的,祝你快速上手。

⑩ mongodb在java中怎么做修改操作

java 操作mongodb插入、读取、修改以及删除基础

本文主要讲述如何使用Java操作MongoDB以及了解MongoDB如何进行日常的数据库操作。文章内容如下:第一步:安装MongoDB无需太多的繁杂步骤,你只要在MongoDB官方网站查看安装说明,根据自己的操作系统进行选择适应的版本即可。第二步:启动MongoDB服务器这一步也很简单。运行mongod.exe文件里的bin文件夹(我使用的是Windows OS系统),并启动MongoDB服务器。在默认的情况下服务器将启动端口27017,你需要在安装过程中创建将数据存储在/data/db目录里。第三步:启动MongoDB shell指令你可以通过运行mongo.exe文件来启动MongoBD shell。第四步:利用MongoDB创建数据库利用MongoDB在MongoDB shell中输入以下内容建立一个名为“company”的数据库。use company 记住,除非你在MangoDB里保存了一些东西,否则它不会自动为你保存。使用下面的命令帮你查看可用的数据库,它会显示“company”尚未被创建。show dbs; 第五步:在MongoDB中保存数据使用下面的命令来保存employee 数据代表一个collection,将其命名为employees。employee = {name : "A", no : 1} db.employees.save(employee) 通过使用下面的命令来查看collection里的数据。db.users.find(); 如何使用Java操作MongoDB?下面是是一段简单的Java代码,你可以在这里获得mongo-java驱动。很简单,只需要使用下面的代码,重复上面的操作即可。package com.eviac.blog.mongo; import java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.Mongo; import com.mongodb.MongoException; public class MongoDBClient { public static void main(String[] args) { try { Mongo mongo = new Mongo("localhost", 27017); DB db = mongo.getDB("company"); DBCollection collection = db.getCollection("employees"); BasicDBObject employee = new BasicDBObject(); employee.put("name", "Hannah"); employee.put("no", 2); collection.insert(employee); BasicDBObject searchEmployee = new BasicDBObject(); searchEmployee.put("no", 2); DBCursor cursor = collection.find(searchEmployee); while (cursor.hasNext()) { System.out.println(cursor.next()); } System.out.println("The Search Query has Executed!"); } catch (UnknownHostException e) { e.printStackTrace(); } catch (MongoException e) { e.printStackTrace(); } } } 结果如下:{ "_id" : { "$oid" : "4fec74dc907cbe9445fd2d70"} , "name" : "Hannah" , "no" : 2} The Search Query has Executed! 小结:随着互联网Web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展也非常迅速。本文浅显的谈及了如何使用Java操作MongoDB以及了解MongoDB如何进行日常的数据库操作的问题。如果您是这方面的专家不妨与我们分享下。本文为CSDN编译整理,未经允许不得转载。