linux下安装mongodb和本地远程连接

下载地址:https://www.mongodb.com/download-center#community


1.解压缩压缩包:

tarzxvf mongodb-linux-x86_64-rhel62-3.6.2.tgz

 2. 安装准备

将mongodb移动到/root/mongo/mongodb/文件夹

mv mongodb-linux-x86_64-rhel62-3.6.2/root/mongo/mongodb

如下图:


3.创建数据库文件夹与日志文件

(1).Mkdir  /root/mongo/mongodb/data

data包下新建db文件夹

Mkdir  /root/mongo/mongodb/data/db

如下图:


(2).Mkdir  /root/mongo/mongodb/log

log包下新建logs日志文件

touch  /root/mongo/mongodb/log/logs.log

如下图:


4. 启动mongodb

cd到mongodb目录下的bin文件夹启动mongodb

//下面这个是需要权限的登录方式, 用户连接需要用户名和密码

./mongod--dbpath=/root/mongo/mongodb/data/db --logpath=/root/mongo/mongodb/log/logs--logappend --bind_ip=0.0.0.0 --auth --port=27017 –fork &

 

说明:dbpath和logpath指第3步创建数据库文件夹与日志文件路径。

bind_ip指访问ip,设置0.0.0.0就没有限制,都可以连接。

Port指端口号。

方法2:

还可以通过配置启动mongodb,

在/mongodb/bin下建立文件mongodb.conf

把相关配置写进去,启动用./mongod  –f  /root/mongo/mongodb/bin/mongodb.conf

关闭命令:pkill mongod

5. 进入数据库的CLI管理界面

cd到mongodb目录下的bin文件夹,执行命令./mongo 

运行如下:


若数据库出现如不能连上,则是一个data目录下的mongod.lock文件的问题,可以用如下的修复的命令,mongod --repair

 

--切换admin

> use admin

switched to db admin

--添加超级用户

> db.createUser({user:'root',pwd:'mongodb',roles:['root']});

>db.auth("root","mongodb");

1

--查看

>db.system.users.find();

{ "_id" : "admin.root", "user" :"root", "db" : "admin", "credentials" :{ "SCRAM-SHA-1" : { "iterationCount" : 10000,"salt" : "y70khoY0g4Z88jU07Ni4lg==", "storedKey": "grGon7B81es6Q/BVxbrOKC1fRas=", "serverKey" : "4cKN6P8tXHrPTjuac+YNIxb5H70="} }, "roles" : [ { "role" : "root","db" : "admin" } ] }

--添加test库

> use test

switched to db test

添加test库的账户

> db.createUser({user:'test',pwd:'mongodb',roles:[{role:'dbOwner', db:'test'}]});

说明:

roles的可选项有:

1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root

Successfully addeduser: {

        "user" :"test",

        "roles" : [

                {

                       "role" : "dbOwner",

                       "db" : "test"

                }

        ]

}

> exit

bye

 

如果需要用客户端工具查看就安装下面的:

使用客户端工具远程连接:

1.      下载工具robomongo-1.0.0-rc1-windows-x86_64-496f5c2.exe

安装比较简单一直下一步就好了。




如果你是湖南的 欢迎加入 湖南人在深圳-Java群:557651502

<think>我们有两个任务: 1. 在Linux安装MongoDB客户端(这里指的是mongo shell,但注意新版本中已经用mongosh替代了旧的mongo shell) 2. 测试与MongoDB服务器的连接 根据引用[1]中的内容,我们可以通过下载mongosh(MongoDB Shell)的二进制包来安装客户端。另外,引用[2]中提到了通过APT存储库安装,但那是安装整个MongoDB服务端。我们这里只需要客户端,所以可以选择只安装mongosh。 步骤: 1. 安装MongoDB客户端(mongosh) 2. 使用mongosh测试连接 详细步骤: ### 步骤1:安装MongoDB客户端(mongosh) 根据引用[1]中的方法,我们可以从GitHub下载mongosh的二进制包。 1. 访问mongosh的GitHub发布页面:https://github.com/mongodb-js/mongosh/releases 找到适合你Linux系统的版本(例如:mongosh-2.1.4-linux-x64.tgz) 2. 下载并解压: ```bash wget https://github.com/mongodb-js/mongosh/releases/download/v2.1.4/mongosh-2.1.4-linux-x64.tgz tar -zxvf mongosh-2.1.4-linux-x64.tgz ``` 3. 将解压后的目录移动到合适的位置(例如/usr/local/mongosh)并设置环境变量: ```bash mv mongosh-2.1.4-linux-x64 /usr/local/mongosh ``` 4. 添加环境变量: 编辑`/etc/profile`文件,在末尾添加: ```bash export PATH=/usr/local/mongosh/bin:$PATH ``` 然后使环境变量生效: ```bash source /etc/profile ``` 5. 验证安装: ```bash mongosh --version ``` 另外,也可以使用包管理器安装(如果系统支持): 例如在Ubuntu上,可以按照引用[2]中的方法添加MongoDB的APT存储库,然后安装`mongodb-mongosh`包(注意:存储库中可能包含的是旧版本,但方法类似)。 添加存储库(以Ubuntu 20.04为例): ```bash wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list sudo apt update sudo apt install mongodb-mongosh ``` ### 步骤2:测试与MongoDB服务器的连接 假设你已经有一个MongoDB服务器在运行,并且知道它的IP地址端口(默认27017)。如果服务器在本地,则IP为127.0.0.1。 1. 使用mongosh连接: ```bash mongosh "mongodb://<服务器IP>:27017" ``` 如果服务器需要认证,可以指定用户名密码: ```bash mongosh "mongodb://<用户名>:<密码>@<服务器IP>:27017/<数据库>?authSource=admin" ``` 2. 连接成功后,会进入mongosh的交互界面。可以执行简单的命令测试: ```javascript db.runCommand({ ping: 1 }) ``` 如果返回`{ ok: 1 }`,则表示连接正常。 3. 退出mongosh:输入`exit`或按Ctrl+D。 ### 其他测试方法 如果只是测试端口连通性,可以使用telnet: ```bash telnet <服务器IP> 27017 ``` 如果连接成功,会看到类似这样的输出: ``` Trying <IP>... Connected to <IP>. Escape character is '^]'. ``` 然后按Ctrl+]并输入quit退出。 注意:如果服务器启用了TLS/SSL,则需要使用不同的连接方式。 ### 问题排查 - 如果连接失败,请检查: - MongoDB服务器是否正在运行(在服务器上执行`systemctl status mongod`) - 防火墙设置(确保27017端口开放) - MongoDB的配置文件(通常为/etc/mongod.conf)中`bindIp`是否允许客户端的IP访问(如果是本地测试,可以是127.0.0.1;远程连接可能需要0.0.0.0,但注意安全风险) - 如果开启了认证,确保用户名密码正确 根据引用[1]引用[2]中的内容,我们提供了安装测试的方法。其中引用[1]提供了二进制包安装mongosh的方法,引用[2]提供了APT存储库的添加方法。 现在,我们按照要求生成相关问题。</think>### 在Linux安装MongoDB客户端并测试连接 #### 1. 安装MongoDB客户端 (mongosh) ```bash # 下载最新版MongoDB Shell (mongosh) wget https://downloads.mongodb.com/compass/mongosh-2.1.4-linux-x64.tgz # 解压并安装 tar -zxvf mongosh-2.1.4-linux-x64.tgz sudo mv mongosh-2.1.4-linux-x64 /usr/local/mongosh # 设置环境变量 echo 'export PATH=/usr/local/mongosh/bin:$PATH' | sudo tee -a /etc/profile source /etc/profile # 验证安装 (应显示版本号) mongosh --version ``` #### 2. 测试MongoDB服务器连接 ```bash # 基本连接测试(无认证) mongosh "mongodb://服务器IP:27017" # 带认证的连接(如果启用了认证) mongosh "mongodb://用户名:密码@服务器IP:27017/数据库名?authSource=admin" ``` #### 3. 连接后的健康检查 在mongosh交互界面执行: ```javascript // 测试基本连接 > db.runCommand({ping:1}) // 成功返回:{ ok: 1 } // 查看数据库列表 > show dbs // 检查服务器状态 > db.serverStatus().connections // 查看当前连接数 ``` #### 4. 替代测试方法 **A. Telnet测试端口连通性** ```bash telnet 服务器IP 27017 # 成功连接会显示:Connected to [IP] ``` **B. 使用curl测试HTTP接口** ```bash # 适用于REST API启用的实例 curl http://服务器IP:28017/ ``` **C. 编程测试(Python示例)** ```python from pymongo import MongoClient try: client = MongoClient("mongodb://用户名:密码@服务器IP:27017/") print("✅ 连接成功!服务器版本:", client.server_info()["version"]) print("✅ 数据库列表:", client.list_database_names()) except Exception as e: print("❌ 连接失败:", str(e)) ``` #### 5. 常见连接问题排查 | 问题现象 | 解决方案 | |---------|---------| | 连接超时 | 检查防火墙:`sudo ufw allow 27017` | | 认证失败 | 确认用户名/密码,检查`authSource`参数 | | 拒绝连接 | 检查MongoDB服务状态:`systemctl status mongod` | | 协议错误 | 确认客户端/服务器版本兼容性 | | TLS错误 | 检查`net.tls`配置或添加`?tls=false`参数 | > **重要提示**:生产环境务必启用访问控制,使用`db.createUser()`创建用户[^1],并通过`net.bindIp`限制访问IP[^2]。 --- ### 相关问题 1. 如何为MongoDB创建带权限的用户账户? 2. 如何在MongoDB中配置TLS/SSL加密连接? 3. 使用WireShark如何分析MongoDB的网络流量? 4. MongoDB连接数达到上限时如何紧急处理? 5. 如何监控MongoDB的实时性能指标? 6. 在Docker容器中运行MongoDB有哪些注意事项?
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值