通过作为 Windows 子系统安装的 Ubuntu Bash 在 Mongo Shell 中工作

Posted

技术标签:

【中文标题】通过作为 Windows 子系统安装的 Ubuntu Bash 在 Mongo Shell 中工作【英文标题】:Working in Mongo Shell through Ubuntu Bash installed as Windows subsystem 【发布时间】:2020-08-12 17:16:51 【问题描述】:

我在 Windows 10 上安装了 Mongo DB,然后通过 Microsoft Store 安装了 Ubuntu,并通过 Bash 安装了 Ruby。

现在我可以通过输入“mongo”命令通过命令提示符运行 Mongo shell,但是如何通过 Ubuntu Bash 运行它?

如果我在 Bash 中输入 mongo,它会显示这个错误 -

$ mongo 命令 'mongo' 未找到,但可以安装:sudo apt install mongodb-clients

我试过了:

/mnt/c/Program Files/MongoDB/Server/4.2/bin$ mongod.exe

它挂在这 -

                                                                                                                                 2020-04-29T00:22:17.649+0530 I  CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'                                                                     

2020-04-29T00:22:18.079+0530 W ASIO [main] NetworkInterface 启动期间未配置 TransportLayer 2020-04-29T00:22:18.082+0530 W ASIO [main] NetworkInterface 启动期间未配置 TransportLayer 2020-04-29T00:22:18.083+0530 I CONTROL [initandlisten] MongoDB 开始:pid=17440 端口=27017 dbpath=C:\data\db\ 64 位主机=MridusLaptop 2020-04-29T00:22:18.083+0530 I CONTROL [initandlisten] targetMinOS:Windows 7/Windows Server 2008 R2 2020-04-29T00:22:18.084+0530 I CONTROL [initandlisten] 数据库版本 v4.2.6 2020-04-29T00:22:18.085+0530 I CONTROL [initandlisten] git 版本:20364840b8f1af16917e4c23c1b5f5efd8b352f8 2020-04-29T00:22:18.085+0530 I CONTROL [initandlisten] 分配器:tcmalloc 2020-04-29T00:22:18.086+0530 I CONTROL [initandlisten] 模块:企业 2020-04-29T00:22:18.087+0530 I CONTROL [initandlisten] 构建环境: 2020-04-29T00:22:18.087+0530 我控制 [initandlisten] distmod: windows-64 2020-04-29T00:22:18.088+0530 I CONTROL [initandlisten] distarch: x86_64 2020-04-29T00:22:18.088+0530 我控制 [initandlisten] target_arch: x86_64 2020-04-29T00:22:18.091+0530 I CONTROL [initandlisten] 选项: 2020-04-29T00:22:18.097+0530 I STORAGE [initandlisten] 检测到 C:\data\db\ 中由“wiredTiger”存储引擎创建的数据文件,因此将活动存储引擎设置为“wiredTiger”。 2020-04-29T00:22:18.098+0530 I STORAGE [initandlisten]wiredtiger_open 配置:create,cache_size=3538M,cache_overflow=(file_max=0M),session_max=33000,eviction=(threads_min=4,threads_max=4),config_base =false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000,close_scan_interval=10,close_handle_minimum=250),statistics_log=(wait= 0),verbose=[recovery_progress,checkpoint_progress], 2020-04-29T00:22:18.260+0530 I STORAGE [initandlisten] WiredTiger 消息 [1588099938:259927][17440:140719013387856],txn-recover:恢复日志 2 到 3 2020-04-29T00:22:18.332+0530 I STORAGE [initandlisten] WiredTiger 消息 [1588099938:331697][17440:140719013387856],txn-recover:恢复日志 3 到 3 2020-04-29T00:22:18.405+0530 I STORAGE [initandlisten] WiredTiger 消息 [1588099938:405499][17440:140719013387856],txn-recover:主恢复循环:从 2/6144 到 3/256 2020-04-29T00:22:18.523+0530 I STORAGE [initandlisten] WiredTiger 消息 [1588099938:523244][17440:140719013387856],txn-recover:恢复日志 2 到 3 2020-04-29T00:22:18.634+0530 I STORAGE [initandlisten] WiredTiger 消息 [1588099938:634206][17440:140719013387856],txn-recover:恢复日志 3 到 3 2020-04-29T00:22:18.694+0530 I STORAGE [initandlisten] WiredTiger 消息 [1588099938:694082][17440:140719013387856],txn-recover:设置全局恢复时间戳:(0, 0) 2020-04-29T00:22:19.027+0530 我恢复 [initandlisten] WiredTiger 恢复时间戳。 Ts: 时间戳(0, 0) 2020-04-29T00:22:19.032+0530 I STORAGE [initandlisten] 时间戳监视器开始 2020-04-29T00:22:19.105+0530 我控制 [initandlisten] 2020-04-29T00:22:19.105+0530 I CONTROL [initandlisten] ** 警告:未为数据库启用访问控制。 2020-04-29T00:22:19.106+0530 I CONTROL [initandlisten] ** 对数据和配置的读写访问不受限制。 2020-04-29T00:22:19.106+0530 我控制 [initandlisten] 2020-04-29T00:22:19.107+0530 I CONTROL [initandlisten] ** 警告:此服务器绑定到 localhost。 2020-04-29T00:22:19.107+0530 I CONTROL [initandlisten] ** 远程系统将无法连接到此服务器。 2020-04-29T00:22:19.108+0530 I CONTROL [initandlisten] ** 使用 --bind_ip 启动服务器以指定哪个 IP 2020-04-29T00:22:19.109+0530 I CONTROL [initandlisten] ** 它应该提供响应的地址,或者使用 --bind_ip_all 到 2020-04-29T00:22:19.110+0530 I CONTROL [initandlisten] ** 绑定到所有接口。如果需要此行为,请启动 2020-04-29T00:22:19.110+0530 I CONTROL [initandlisten] ** 使用 --bind_ip 127.0.0.1 禁用此警告的服务器。 2020-04-29T00:22:19.111+0530 我控制 [initandlisten] 2020-04-29T00:22:19.116+0530 I SHARDING [initandlisten] 将集合 local.system.replset 标记为集合版本: 2020-04-29T00:22:19.123+0530 I STORAGE [initandlisten] 在此部署上启用了流控制。 2020-04-29T00:22:19.123+0530 I SHARDING [initandlisten] 将集合 admin.system.roles 标记为集合版本: 2020-04-29T00:22:19.124+0530 I SHARDING [initandlisten] 将集合 admin.system.version 标记为集合版本: 2020-04-29T00:22:19.129+0530 I SHARDING [initandlisten] 将集合 local.startup_log 标记为集合版本: 2020-04-29T00:22:19.742+0530 I FTDC [initandlisten] 使用目录“C:/data/db/diagnostic.data”初始化全时诊断数据捕获 2020-04-29T00:22:19.745+0530 I SHARDING [LogicalSessionCacheRefresh] 将集合 config.system.sessions 标记为集合版本: 2020-04-29T00:22:19.745+0530 I SHARDING [LogicalSessionCacheReap] 将集合 config.transactions 标记为集合版本: 2020-04-29T00:22:19.745+0530 I NETWORK [listener] 在 127.0.0.1 上收听 2020-04-29T00:22:19.746+0530 I NETWORK [listener] 等待端口 27017 上的连接 2020-04-29T00:22:20.001+0530 I SHARDING [ftdc] 将集合 local.oplog.rs 标记为集合版本:

请帮忙。我需要在 Windows 的 Bash 中运行 mongo shell。

【问题讨论】:

该输出看起来运行成功。您无法连接到它吗? Yes Jordanm 在我运行 mongo.exe 后跟目录中的连接字符串后,它连接了。 【参考方案1】:

mongod 是服务器,如果你想要 shell,你需要运行 mongo

我想在 Ubuntu 中使用 mongo,您需要在 Linux 子系统中安装它,遵循 these instructions 的一些变体。

【讨论】:

感谢 Oleg,它在运行 mongo.exe 后运行,除了 'mongo' 之外它不会

以上是关于通过作为 Windows 子系统安装的 Ubuntu Bash 在 Mongo Shell 中工作的主要内容,如果未能解决你的问题,请参考以下文章

win10上安装ubunt18双系统过程中出现mmx64.efi not found问题

通过作为 Windows 子系统安装的 Ubuntu Bash 在 Mongo Shell 中工作

通过作为 Windows 子系统安装的 Ubuntu Bash 在 Mongo Shell 中工作

在mac,ubunt上安装minikube作为开发折腾这些环境确实比较累,而且收益不高,但是相关的技术也要学习,使用minikube创建kubernate集群,使用dashboard操作

ubunt14.04进不了桌面(登录界面循环,密码正确)

在mac,ubunt上安装minikube作为开发折腾这些环境确实比较累,而且收益不高,但是相关的技术也要学习,使用minikube创建kubernate集群,使用dashboard操作