Centos7 yum 安装Mongodb

1,643 阅读2分钟

参考链接:docs.mongodb.com/manual/tuto…

安装

1.配置包管理系统

创建一个/etc/yum.repos.d/mongodb-org-5.0.repo文件,以便您可以使用以下命令直接安装 MongoDB

[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc

2.安装 MongoDB 包。

sudo yum install -y mongodb-org

yum安装时,当有更新的版本可用时会升级软件包。为防止意外升级,请固定包。要固定包,请将以下exclude指令添加到您的/etc/yum.conf文件中:

exclude=mongodb-org,mongodb-org-database,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools

3.改配置文件:

修改配置文件的 bind_ip, 默认是 127.0.0.1 只限于本机连接

vim /etc/mongod.conf

net:
  port: 27017
  # 修改为0.0.0.0 否则远程无法连接
  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses
  bindIp: 0.0.0.0      

目录路径

  • /var/lib/mongo (数据目录)
  • /var/log/mongodb (日志目录)

运行

  1. 运行 sudo systemctl start mongodsudo service mongod start
  2. 验证 sudo systemctl status mongod
  3. 重启 sudo systemctl restart mongodsudo service mongod restart
  4. 停止 sudo systemctl stop mongodsudo service mongod stop
  5. 设置开机启动 systemctl ennable mongod
  6. 使用
[rootlocalhost ~]# mongo
## 查看数据库
> show dbs;
## 查看数据库版本
> db.version();
## 常用命令帮助
> db.help();

卸载

要从系统中完全删除 MongoDB,您必须删除 MongoDB 应用程序本身、配置文件以及任何包含数据和日志的目录。以下部分将指导您完成必要的步骤。

  1. 停止 MongoDB
sudo service mongod stop
  1. 删除之前安装的任何 MongoDB 包
sudo yum erase $(rpm -qa | grep mongodb-org)
  1. 删除数据目录
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo

创建数据库管理员

官方文档(包含新增/删除/查看账户): docs.mongodb.com/manual/refe…

参考文章: mongoing.com/archives/do…

通过使用createUser方法在MongoDB中创建用户管理员

db.createUser(
  {
    user: "root",
    pwd: '123456',
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ],
  }
)

代码说明:

  1. 第一步是指定需要创建的“username”和“password”。
  2. 第二步是为用户分配角色。由于它需要是数据库管理员,在这种情况下,我们已分配给“ userAdminAnyDatabase”角色。该角色允许用户对MongoDB中的所有数据库具有管理特权。
  3. db参数指定admin数据库,它是MongoDB中一个特殊的元数据库,其中包含该用户的信息。

为单个数据库创建用户

db.createUser(
  {
    user: "Employeeadmin",
    pwd: '123456',
    roles: [ { role: "userAdmin", db: "Employee" } ],
  }
)

代码说明:

  1. 第一步是指定需要创建的“username” 和 “password”。
  2. 第二步是为用户分配一个角色,在这种情况下,由于需要成为数据库管理员,因此将其分配给“ userAdmin”角色。该角色允许用户仅对db选项中指定的数据库具有管理特权。
  3. db参数指定用户应对其具有管理特权的数据库。
  4. 结果显示创建了一个名为“ Employeeadmin”的用户,并且该用户仅对“ Employee”数据库具有权限。

终端登录:mongosh进入数据库;use admin 切换至admin;db.auth("账号","密码")登录

robo3T 连接远程服务器的mongodb数据库

连接服务器ip+mongo端口,输入数据库用户名密码。 save

image.png

image.png

Node.js利用mongoose连接mongodb数据库

#第一步 定义mongodb连接的url
const db_url = 'mongodb://username:password@l27.0.0.1:27017/testDB'

#第二步 引用mongoose
const mongoose = require('mongoose');

#第三步 mongoose连接mongodb
mongoose.connect(connectionStr, { useNewUrlParser: true,useUnifiedTopology: true }, () => console.log('MongoDB 连接成功了!'));
#监听连接失败后的报错
mongoose.connection.on('error', console.error);

第一步解析:const db_url = 'mongodb://username:password@l27.0.0.1:27017/testDB'

  1. username = mongodb数据库用户名
  2. password = mongodb数据库密码
  3. l27.0.0.1 = ip地址(或远程服务器ip地址)
  4. :27017 = mongodb的服务启动端口
  5. testDB = 要连接的数据库名称