目录
1. 常用操作
1.1 修改密码
- 首先用原账号密码登录。
- 在通过db.changeUserPassword修改密码。
[root@localhost ~]# docker exec -it mongodb /bin/bash
root@93d0002a2f65:/# mongosh
Current Mongosh Log ID: 64b4909af6f5b1620fdc058d
Connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.10.1
Using MongoDB: 6.0.8
Using Mongosh: 1.10.1
For mongosh info see: https://docs.mongodb.com/mongodb-shell/
test> use admin
switched to db admin
admin> db.changeUserPassword('xxxx','123456')
MongoServerError: command updateUser requires authentication
admin> db.auth("xxxx","dba.123456")
{
ok: 1 }
admin> db.changeUserPassword('xxxx','123456')
{
ok: 1 }
admin>
1.2 删除数据库
- windows下mongDB通过下面命令行进入
D:\mongodb\mongodb-win32-x86_64-2008plus-ssl-3.6.23-8-gc2609ed3ed\bin>mongod.exe --dbpath D:\mongodb\mongodb-win32-x86_64-2008plus-ssl-3.6.23-8-gc2609ed3ed\data\db
- 上面命令行的窗口不关,通过cmd重启一个窗口输入mongo
- 删除操作, 没删除成功,admin数据库好像不能删除
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
mongdb_test 0.000GB
> use admin
switched to db admin
> db.dropDatabase()
{
"ok" : 0,
"errmsg" : "Dropping the 'admin' database is prohibited.",
"code" : 20,
"codeName" : "IllegalOperation"
}
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
mongdb_test 0.000GB
但是可以删除其它的
D:\mongodb\mongodb-win32-x86_64-2008plus-ssl-3.6.23-8-gc2609ed3ed\bin>mongo 192.168.3.13:27017
MongoDB shell version v3.6.23-8-gc2609ed3ed
connecting to: mongodb://192.168.3.13:27017/test?gssapiServiceName=mongodb
Implicit session: session {
"id" : UUID("4d847aa7-6b6b-4dfb-ac6e-7fd9fcacb95b") }
MongoDB server version: 3.6.23-8-gc2609ed3ed
Server has startup warnings:
2023-07-09T16:47:02.248+0800 I CONTROL [initandlisten]
2023-07-09T16:47:02.248+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2023-07-09T16:47:02.248+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2023-07-09T16:47:02.248+0800 I CONTROL [initandlisten]
> show dbs
admin 0.000GB
local 0.000GB
mongdb_test 0.000GB
> use local
switched to db local
> db.dropDatabase()
{
"dropped" : "local", "ok" : 1 }
>
1.3 启动
- 在mongoDB的安装目录-bin目录下,以管理员身份启动cmd,在其中输入“net start net start MongoDB”
2. 问题集
2.1 如何远程访问mongDB数据库
- 服务器A ip: 192.168.3.13。 已装有MongoDB。数据在这台上面
服务器B ip: 192.168.3.5。 - 核心在下面的的“–bind_ip”
.\mongod.exe --bind_ip 192.168.3.13 --port 27017 --config D:\mongodb\mongodb-win32-x86_64-2008plus-ssl-3.6.23-8-gc2609ed3ed\etc\mongodb.conf --dbpath=D:\mongodb\mongodb-win32-x86_64-2008plus-ssl-3.6.23-8-gc2609ed3ed\data\db"
- 在开一个cmd输入mongo 192.168.3.13:27017,即可访问mongoDB
D:\mongodb\mongodb-win32-x86_64-2008plus-ssl-3.6.23-8-gc2609ed3ed\bin>mongo 192.168.3.13:27017
MongoDB shell version v3.6.23-8-gc2609ed3ed
connecting to: mongodb://192.168.3.13:27017/test?gssapiServiceName=mongodb
Implicit session: session {
"id" : UUID("ab5c7e95-4b79-437d-9f9a-ea0ba12f0b78") }
MongoDB server version: 3.6.23-8-gc2609ed3ed
Server has startup warnings:
2023-07-09T16:47:02.248+0800 I CONTROL [initandlisten]
2023-07-09T16:47:02.248+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2023-07-09T16:47:02.248+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2023-07-09T16:47:02.248+0800 I CONTROL [initandlisten]
>
2.2 由于widows安全策略,linux访问不到windows的mongDB
- 首先在“控制面板\系统和安全\Windows Defender 防火墙-高级设置-新建规则-端口-tcp-特定本地端口号选择27017”
- 在linux使用telnet 192.168.3.13 27017,其中192.168.3.13是我win的IP显示如下表示可以访问。