MongoDB之命令行 命令

本文详细介绍了如何通过xshell登录MongoDB服务器,包括切换到`mongodb_common`目录,无密码登录、认证、创建用户、数据库并插入数据,以及查询和删除操作。还提供了多种登录方式和实例。

xshell 登录到 MongoDB电脑

进入到目录下

[root@node127 console]# cd mongodb_common/
[root@node127 mongodb_common]# ls
bin
GNU-AGPL-3.0
journal
LICENSE-Community.txt
mongodb_common-1.3.4.0.9.1-linux.rhel.7.amd64-release.tar.gz
MPL-2
README
VERSION
[root@node127 mongodb_common]# cd bin/
[root@node127 bin]# ls
bsondump         mongod       mongofiles   mongorestore  mongotop
install_compass  mongodump    mongoimport  mongos
mongo            mongoexport  mongoreplay  mongostat

登录

[root@node127 bin]# ./mongo --port 27017
MongoDB shell version v4.0.9
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("233f49fd-be88-4de1-8368-3a17b8671dde") }
MongoDB server version: 4.0.9

进入 admin 数据库,然后认证 账号 密码

mongos> use admin
switched to db admin
mongos> db.auth('admin','admin!123')
1

创建用户和数据库,然后插入数据

mongos> db.createUser({user: "apple",pwd: "111111",roles: [ { role: "dbOwner", db: "autotest" } ]} )
Successfully added user: {
    "user" : "apple",
    "roles" : [
        {
            "role" : "dbOwner",
            "db" : "autotest"
        }
    ]
}

mongos> db.auth('apple','111111')
1
mongos> use autotest
switched to db autotest
mongos> db.city.insert({city_id: NumberLong("1"),city:"beijing"})
WriteResult({ "nInserted" : 1 })
mongos> db.city.insert({city_id: NumberLong("2"),city:"shanghai"})
WriteResult({ "nInserted" : 1 })

查询数据

mongos> db.city.find()
{ "_id" : ObjectId("5e7c4a3c89da5f03d4886442"), "city_id" : NumberLong(1), "city" : "beijing" }
{ "_id" : ObjectId("5e7c4b2989da5f03d4886443"), "city_id" : NumberLong(2), "city" : "shanghai" }

删除数据

db.city.remove({});
WriteResult({ "nRemoved" : 4 })

附录

几种登录方式

1.无密码登陆本机部署的mongos路由服务 ,端口为27017
mongo --port 27017

2.使用用户名密码登陆
/mongodb_common/bin/mongo --port 27017 -uadmin -padmin12345

3.登陆远程主机
./mongo 142.16.122.71:27017/admin -uadmin -padmin12345

解析:142.16.122.71:27017为主机名(IP)、端口。admin 为登陆的数据库

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

进入bin目录

[root@node127 bin]# ls
bsondump         mongo   mongodump    mongofiles   mongoreplay   mongos     mongotop
install_compass  mongod  mongoexport  mongoimport  mongorestore  mongostat

无密码登录本机部署的mongos路由服务

[root@node127 bin]# ./mongo --port 27017
MongoDB shell version v4.0.9
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("648db192-0bb0-4737-83e4-ba6187c9971b") }
MongoDB server version: 4.0.9
mongos>

切换数据库,数据库:admin。然后输入账号密码

mongos> use admin
switched to db admin
mongos> db.auth('admin','admin!123')
1
mongos>
### MongoDB 命令行连接和登录的具体命令示例 以下是使用 MongoDB 命令行工具 `mongo` 或 `mongosh` 连接到 MongoDB 实例的详细说明以及具体的命令示例。 #### 1. 使用默认配置连接本地 MongoDB 实例 如果 MongoDB 在本地运行且未设置身份验证,可以直接通过以下命令连接: ```bash mongo ``` 此命令会尝试连接到运行在 `localhost:27017` 上的 MongoDB 默认实例[^1]。 #### 2. 指定主机名和端口连接远程 MongoDB 实例 当需要连接到远程 MongoDB 实例时,可以指定主机名和端口号: ```bash mongo --host <hostname> --port <port> ``` 例如,连接到 IP 地址为 `192.168.1.100` 的服务器上的 MongoDB,默认端口为 `27017`: ```bash mongo --host 192.168.1.100 --port 27017 ``` #### 3. 使用用户名和密码进行身份验证 如果启用了身份验证,则需要提供用户名、密码和认证数据库。可以通过以下方式完成: ```bash mongo --host <hostname> --port <port> -u <username> -p <password> --authenticationDatabase <authDb> ``` 例如,假设用户名为 `admin`,密码为 `secret`,认证数据库为 `admin`,则命令如下: ```bash mongo --host 192.168.1.100 --port 27017 -u admin -p secret --authenticationDatabase admin ``` 注意:输入 `-p` 参数后,系统会提示手动输入密码以增强安全性[^1]。 #### 4. 使用 URI 格式连接 MongoDB MongoDB 支持通过连接字符串(URI)的方式简化连接过程。通用格式如下: ```plaintext mongodb://<username>:<password>@<hostname>:<port>/<database>?options ``` 实际应用中,例如连接到远程服务器并访问 `mydb` 数据库: ```bash mongo "mongodb://admin:secret@192.168.1.100:27017/mydb?authSource=admin" ``` #### 5. 列出可用数据库 成功连接后,可使用以下命令列出所有数据库: ```javascript show databases; ``` #### 6. 切换到目标数据库 进入某个特定数据库以便执行后续操作: ```javascript use mydb; ``` --- ### 注意事项 - 如果使用的是较新的版本(如 MongoDB 5.x),推荐使用 `mongosh` 替代旧版的 `mongo` 工具。 - 对于生产环境中的敏感信息(如密码),建议采用更安全的方式来传递参数,例如环境变量或密钥文件[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值