debian,ubuntu 安装mongodb 允许外网访问,修改端口,设置用户和密码

使用apt安装mongodb:

apt update && apt install mongodb

查看运行状态:

systemctl status mongodb.service

结果如下:

● mongodb.service - An object/document-oriented database
   Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-03-21 23:07:31 CST; 5 days ago
     Docs: man:mongod(1)
 Main PID: 15815 (mongod)
    Tasks: 23 (limit: 1055)
   CGroup: /system.slice/mongodb.service
           └─15815 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

Mar 21 23:07:31 ubuntu systemd[1]: Started An object/document-oriented database.

可以看到mongodb的配置文件在/etc/mongodb.conf:

nano /etc/mongodb.conf

修改是外网可以访问:

bind_ip = 0.0.0.0

修改端口使别人猜不到:

port=32705

设置需要登录权限:

auth=true

重启mongodb:

systemctl restart mongodb.service

进入mongo,输入如下命令设置管理员账号密码:

-> # mongo --port 32705
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
> use admin;
switched to db admin
> db.createUser(
      {
        user: "myUserAdmin",
        pwd: "cCazQkeVRyhHYf",
        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
      }
    )

修改密码的命令如下:

db.changeUserPassword('myUserAdmin','tUDfqjDWHR4hSIXs')

重启mongodb服务:

systemctl restart mongodb.service

注意:userAdministrator用户仅具有创建和管理数据库用户的权限。如果您尝试使用userAdministrator用户在数据库中读取或写入,则MongoDB将返回错误。因此,我们需要创建具有角色的其他用户来读取和写入数据库。


连接数据库,并创建用户:

-> # mongo --port 32705 -u "myUserAdmin" -p "cCazQkeVRyhHYf" --authenticationDatabase "admin"
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017/
MongoDB server version: 3.6.3
> use bili
switched to db bili
> db.createUser(
      {
        user: "bilibili",
        pwd: "bilibiliforever",
        roles: [ { role: "readWrite", db: "bili" } ]
      }
    )

以test用户连接即可操作数据库bili:

-> # mongo --port 32705 -u "bilibili" -p "bilibiliforever" --authenticationDatabase "bili"
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017/
MongoDB server version: 3.6.3
> use bili
switched to db bili
> db.bili.insert({"name":"bili"})
WriteResult({ "nInserted" : 1 })


我的数据库系列文章:

  • debian,ubuntu下安装MariaDB,并设置密码,修改端口,允许外网访问
  • python操作MariaDB
  • debian,ubuntu 安装mongodb 允许外网访问,修改端口,设置用户和密码
  • python操作mongodb进行读写
  • ubuntu, debian 安装redis,设置开机自动启动和密码,允许外网访问
  • redis设置主从复制-slave Replication–解决报错:(error) READONLY You can’t write against a read only slave.

你可能感兴趣的:(sql,mongodb)