MongoDB 是一个开源的、文档数据库管理系统。它提供了高性能、高可扩展性和高可用性。
MongoDB 使用了一种称为 BSON 的二进制形式的 JSON 来存储数据。这使得 MongoDB 可以轻松地存储各种数据类型,包括大型对象和二进制文件。
MongoDB 的一个重要特性是它的分布式架构。它可以在多台服务器上分布数据,并可以在这些服务器之间进行自动故障转移。这使得 MongoDB 非常适合大规模的数据集,并可以提供高可用性。
MongoDB 还提供了一个强大的查询功能,可以方便地查询和处理数据。它还支持索引和聚合操作,使得对数据进行统计和分析变得更加容易。
而且MongoDB 是最像关系型数据库(MySQL)的非关系型数据库。
总的来说,MongoDB 是一个功能强大且易于使用的数据库管理系统,适用于各种应用场景, 并且可以与其他软件和技术结合使用,比如搜索引擎、消息队列、云计算平台等。
官网:https://www.mongodb.com/
中文网:https://www.mongodb.org.cn/ (可能会有点旧)
MongoDB 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它是一个面向集合的,模式自由的文档型数据库。具体特点总结如下:
安装包下载地址:https://www.mongodb.com/try/download/community
下载安装包
双击进入安装程序。
Next,下一步。
在这个页面中,你可以选择:
选择**Install MongoD as a service **,可以将MongoDB 安装为服务(安装为服务可以使用Windows服务来进行自启动,更加方便,只有选择安装为服务才可以进行下面的配置)
选择完毕后点击next。
点击install就可以开始安装了。
安装完成之后。
在data目录新建db目录(如果你有就不用了)。
在log目录下新建mongodb.log文件(如果你有就不用了)。
在安装目录新建文件mongo.config
dbpath=F:\software\mongoDB\data\db #你的数据库路径
logpath=F:\software\mongoDB\log\mongodb.log #日志输出文件路径
logappend=true #错误日志采用追加模式
journal=true #启用日志文件,默认启用
quiet=true #过滤掉无用的日志信息,若需要调试使用请设置为false
port=27017 #端口号 默认为27017
为了从命令提示符下运行 MongoDB 服务器,你必须从 MongoDB 目录的 bin 目录中执行 mongod.exe 文件。
mongod --dbpath F:\software\mongoDB\data\db #换成你的地址
浏览器打开
http://localhost:27017/
说明启动成功。
通过执行** mongod.exe**,使用** --install** 选项来安装服务,使用 **–config **选项来指定之前创建的配置文件。
mongod --config "F:\software\mongoDB\mongo.config" --install --serviceName "MongoDB"
安装包下载地址:https://www.mongodb.com/try/download/community
MongoDB提供了linux平台上32位和64位的安装包,你可以在官网下载安装包。
安装前我们需要安装 CentOs 平台依赖包。
sudo yum install libcurl openssl
这里我们选择 tgz 下载,下载完安装包,并解压 tgz(以下演示的是 64 位 Linux上的安装) ,wget如果下载得很慢的话,就选择直接下载然后上传即可。
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.14.tgz # 下载
tar -zxvf 包名 # 解压
mv 解压后的包名 /usr/local/mongodb # 将解压包拷贝到指定目录
为 MongoDB 创建数据目录。
sudo mkdir -p /usr/local/mongodb/data/db
为 MongoDB 创建日志目录。
sudo mkdir -p /usr/local/mongodb/data/log
设置可读写权限:
sudo chmod 666 db/
sudo chmod 666 log/
在 mongoDB 目录下新建配置文件 mongodb.conf, 使用以下命令创建。
sudo vim /usr/local/mongodb/mongodb.conf
将以下内容添加到文件中:
dbpath=/usr/local/mongodb/data/db #你的数据库路径
# 日志文件存放目录
logpath=/usr/local/mongodb/data/log/mongodb.log #日志输出文件路径
# 日志追加方式
logappend=true
# 端口
port=27017
# 是否认证
auth=true
# 以守护进程方式在后台运行
fork=true
# 远程连接要指定ip,否则无法连接;0.0.0.0代表不限制ip访问
bind_ip=0.0.0.0
sudo vi /etc/profile
source /etc/profile
使用以下命令创建启动配置文件
vi /lib/systemd/system/mongodb.service
复制粘贴以下内容保存,如果有些地方跟你的不同,记得改一下。
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf --shutdown
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
启动:
systemctl start mongodb.service
重启:
systemctl restart mongodb.service
停止:
systemctl stop mongodb.service
开机自启:
systemctl enable mongodb.service
查询服务状态:
systemctl status mongodb.service
访问 MongoDB 镜像库地址: 。
秉着不选最新的原则,我们就选后面一个版本就行了。
docker pull mongo:4.2.23
docker run --name mongo -p 27017:27017 -d mongo:4.2.23 --auth
参数说明:
温馨提示:端口号可以换成其他的,毕竟27017是默认端口容器被攻击.
使用以下命令添加用户和设置密码,并且尝试连接。
docker exec -it mongo mongo admin
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
db.auth('admin', '123456')