页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

(本文档仅供参考)

问题

         在Linux环境或者docker环境中部署了smartbi,要如何连接mongodb数据库? 在Windows、Linux环境或者docker等环境中部署了smartbi,要如何连接mongodb数据库?

解决方案        

        说明:

         1、若是mongodb数据库本身是没有启用安全校验,这样话,在连接过程如果显示【未指定错误:com/mongodb/MongoClient】,请参考此文档添加对应的 _JDBC_mongo-java-driver-3.4.2.jar 解决:8.0及以上版本连接MongoDB数据库时显示未指定错误:com/mongodb/MongoClient 

...

代码块
linenumberstrue
设置用户认证登录
1、添加管理员账号
# 在本机终端下使用命令进入MongoDB Shell
# 默认数据端口绑定为:38028
root@meteors:~# cd /data/mongodb-linux-x86_64-ubuntu1604-3.4.10/bin
root@meteors:~# ./mongo --host 127.0.0.1:27017

# 以下操作将会在mongo shell 中进行操作
# 切换到admin库
> use admin
switched to db admin
# 添加admin库的用户(账号为root,密码为123456)
> db.createUser({user:"root",pwd:"123456",roles:[{"role":"root","db":"admin"}]})
Successfully added user: {
        "user" : "root",
        "roles" : [
                {
                        "role" : "root",
                        "db" : "admin"
                }
        ]
}
 
创建其他用户认证登录
# 切换到test库
> use test
switched to db admin
# 添加test库的用户(账号为test,密码为123456)
> db.createUser({user:"test",pwd:"123456",roles:[{"role":"dbOwner","db":"test"}]})
Successfully added user: {
        "user" : "test",
        "roles" : [
                {
                        "role" : "dbOwner",
                        "db" : "test"
                }
        ]
}


        详细步骤:

         1、首先先按照正常方式连接mongodb 数据,具体可参考文档:NoSQL数据源-连接Mongodb数据库

...

         4、对于非Windows环境部署smartbi ( PS : Windows环境的smartbi可以自动创建对应的mongodb客户端执行程序),这是非常重要的一个步骤,在mongodb数据库启用安全校验的情况下,对于安全校验的执行验证是必须要通过mongodb数据库的mongo Windows环境的smartbi(V97及以前的版本)可以自动创建对应的mongodb客户端执行程序,因为可能存在安全漏洞,V10及更新版本产品已经移除需要手动添加),这是非常重要的一个步骤,在mongodb数据库启用安全校验的情况下,对于安全校验的执行验证是必须要通过mongodb数据库的mongo 客户端程序进行的,但因不同环境版本mongodb数据库的mongo客户端程序文件也是不一样的,就是说mongo客户端程序文件必须和执行环境系统相符合,对于如何获取到符合smartbi所部署的操作系统的mongo客户端执行程序文件,具体请看如下操作:

...

           (2)确定smartbi所部署环境的系统信息后,登录到mongodb数据库的官网:https://www.mongodb.com/   进入Products–>MongoDB Server或MongoDB Shell

mongoDB4.0之后的版本,下载客户端示意:

Image Removed

mongoDB4.0之前的版本,也可以下载server的mongodb安装包,找到集成的客户端:Shell或MongoDB Server

             (3)window操作系统的可以直接使用下载解压mongodb-win客户端.rar,目前暂时是兼容所有版本,后续如果出现无法支持的情况需要去官网下载对应的客户端包

下载客户端说明:

信息

mongoDB5之前的版本,MongoDB 客户端执行程序文件是与MongoDB Server集成在一起的,客户端名称为mongo (Linux)、mongo.exe(window),目前mongo已经在新版将客户端执行程序抽离单独在MongoDB Shell下载,而且较新版本的客户端名称为mongosh (Linux)、mongosh.exe(window),新版的客户端名称后多了sh,下载后的文件需要重命名为mongo、mongo.exe ,详细下一步说明

Image Added

mongoDB5及之前的版本,下载server的mongodb Server安装包,找到里面的客户端:

            

          

         

        (3)依据smartbi所在的操作系统下载好的shell客户端或mongodb安装包后,解压,找到mongo客户端程序文件。

信息

mongoDB 4及之前的版本,MongoDB 客户端执行程序文件是与MongoDB Server集成在一起的,客户端名称为mongosh (Linux)、mongosh.exe(window),之后的较新版本是单独在MongoDB Shell下载,而且较新版本的客户端名称为mongosh 5之前的版本,MongoDB 客户端执行程序文件名称为mongo (Linux)、mongo.exe(window),MongoDB Shell下载的客户端名称为mongosh (Linux)、mongosh.exe(window),新版的客户端名称后多了sh。下载后需要重命名为mongo、mongo.exe exe 。


新版的shell客户端需要先重命名mongomongo客户端执行程序文件
Image Removed
旧版的mongo也可在解压mongodb安装包,找到mongo客户端程序文件

window操作系统:

Image Added
linux操作系统改名:
Image Added

旧版的mongo在解压mongodb安装包,找到mongo客户端程序文件

          

        (4)需要在exts-smartbi同层目录级别下手动创建mongo-smartbi (文件名和应用名一致,如果是smartbi,就是mongo-smartbi,如果是spreadsheet,就是mongo-spreadsheet),然后再在这个文件夹同时加载上一步骤获取到的Mongo客户端程序文件,然后重启smartbi服务。

...