MongoDB安装与权限认证
在安装MongoDB数据库以后,需要启动MongoDB,同时建议将MongoDB配置为MongoDB服务,网上有很多配置MongoDB服务的方法。
如果安装的是解压版的MongoDB,那么大致思路为在MongoDB安装目录中创建两个文件夹,一个是.\data\db,一个是.\log,在log文件夹中创建一个log文件,该文件负责保存MongoDB运行的日志文件。这种配置方式比较复杂,容易出错。
建议直接到MongoDB官网下载安装包,直接安装后,安装包会自动将MongoDB配置为服务。这里我下载的是MongoDB 4.0.8版本,同时在MongoDB安装目录的bin文件夹下面存在一个mongod.cfg文件,该文件是MongoDB的配置文件。
直接下载的MongoDB在安装之后,是没有权限认证的(也就是不需要使用用户名和密码就可以访问MongoDB的所有数据库)。为了安全考虑,为MongoDB设置权限认定是非常必要的。
同样,设置MongoDB权限认定的方法有很多,但是真正可行的不多,因为MongoDB版本不同,环境不同都会造成不同的错误。所以,接下来的操作也仅针对MongoDB 4.0.8版本。
如果是直接通过安装包安装就比较简单。首先创建一个数据库管理角色,然后开启MongoDB的权限认定,最后使用该角色对特定数据库进行操作。
注意:在开启MongoDB权限认定时,具体操作是使用notepad打开mongod.cfg文件,然后修改配置文件。最后重启MongoDB服务。
最后附上判断MongoDB是否连接的方法(java实现)
public static boolean isConnectedServer(String ip, String port, String database,String userName, String pwd){
//获取MongoDB数据库连接
Mongo conn = null;
try {
conn = new Mongo(ip,Integer.parseInt(port));
} catch (UnknownHostException e) {
e.printStackTrace();
}
//dataBaseName相当于关系数据库里的数据库名,mongodb中若没有该
//数据库名也不会报错,默认mongodb会建立这个数据库名,为空。
DB db = conn.getDB(database);
//安全认证
if(db.authenticate(userName, pwd.toCharArray())){
return true;
} else{
return false;
}
}