ubuntu安装mongodb 原文地址:http://www.gaojinbo.com/ubuntu-mongodb%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE.htm

Ubuntu MongoDB安装指南
本文详细介绍在Ubuntu系统上安装和配置MongoDB的过程,包括添加源、导入密钥、安装配置、启动验证等步骤,并提供了测试方法及PHP扩展安装教程。

ubuntu mongoDB安装配置

十月 11th, 2010 Posted in 4.数据库 | 阅读次数: 1,988 次
双线Linux服务器合租   Nginx服务器合租   Linux服务器合租64G超大内存

Author:gaojinbo
Time:2010-8-18


模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。

 

1.添加源
根据自己的ubuntu发行版进行添加
vi /etc/apt/sources.list

deb http://downloads.mongodb.org/distros/ubuntu 10.4 10gen

deb http://downloads.mongodb.org/distros/ubuntu 9.10 10gen

deb http://downloads.mongodb.org/distros/ubuntu 9.4 10gen

只需要添加一行即可

 

2.导入key
sudo apt-key adv –keyserver keyserver.ubuntu.com –recv 7F0CEB10

 

3.安装
apt-get update
apt-get install mongodb-stable

 

4.配置,修改数据存放路径
vi /etc/mongodb.conf
dbpath=/www/mongodb

vi /etc/init.d/mongodb
DATA=/www/mongodb

mkdir /www/mongodb/
chown -R mongodb:nogroup /www/mongodb/

 

5.启动mongodb
/etc/init.d/mongodb start

 

6.确认是否成功启动
netstat -antup
cat /var/log/mongodb/mongodb.log


Mongo是一个高性能,开源,模式自由(schema-free)的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值(key-value)存储方式。Mongo使用C++开发,具有以下特性:

 

面向集合的存储:适合存储对象及JSON形式的数据。

 

动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。

 

完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。

 

查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。

 

复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。

 

高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。

 

自动分片以支持云级别的伸缩性(处于早期alpha阶段):自动分片功能支持水平的数据库集群,可动态添加额外的机器。

 

7.测试
使用mongo客户端
mongo
db.foo.save({a:1})
db.foo.findOne()

 

8 以服务方式随系统启动而启动

update-rc.d mongodb defaults

 

php扩展安装
1.安装php mongo
sudo pecl install mongo

 

2.启用模块
vi /etc/php5/cli/conf.d/mongodb.ini
extension=mongo.so

 

3.确认是否成功安装
php –m

 

4.重启php-cgi





==========================================================================================================


How to install MongoDB on Ubuntu 11.10


10gen publishes MongoDB packages, here is how to install one.

Add the 10gen repo to your source list.

 $ sudo gedit /etc/apt/sources.list

/etc/apt/sources.list

 ...
    deb http://extras.ubuntu.com/ubuntu oneiric main
    deb-src http://extras.ubuntu.com/ubuntu oneiric main

    deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

Add the GPG key

 $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

Update your packakes list.

 $ sudo apt-get update

Install the MongoDB package.

 $ sudo apt-get install mongodb-10gen

Check that it is working by entering:

 $ mongo

You should now see this:

 MongoDB shell version: 2.0.2
    connecting to: test
    > 

 


root@jinjia:/usr/local# sudo apt update 命中:1 http://mirrors.tuna.tsinghua.edu.cn/debian trixie InRelease 命中:2 http://mirrors.tuna.tsinghua.edu.cn/debian trixie-updates InRelease 命中:3 http://security.debian.org/debian-security trixie-security InRelease 命中:4 http://deb.debian.org/debian bookworm InRelease 命中:5 http://repo.mongodb.org/apt/debian bullseye/mongodb-org/6.0 InRelease 命中:6 http://repo.mysql.com/apt/debian bookworm InRelease 命中:7 http://repo.mongodb.org/apt/debian bookworm/mongodb-org/8.0 InRelease 命中:8 https://ppa2.rabbitmq.com/rabbitmq/rabbitmq-erlang/deb/ubuntu noble InRelease 命中:9 https://ppa2.rabbitmq.com/rabbitmq/rabbitmq-server/deb/ubuntu noble InRelease 命中:10 https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-erlang/deb/ubuntu noble InRelease 命中:11 https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-server/deb/ubuntu noble InRelease 忽略:12 https://repo.mongodb.org/apt/ubuntu trixie/mongodb-org/5.0 InRelease 错误:13 https://repo.mongodb.org/apt/ubuntu trixie/mongodb-org/5.0 Release 404 Not Found [IP: 2600:9000:2146:4400:0:bd83:86c0:93a1 443] 警告: http://repo.mongodb.org/apt/debian/dists/bullseye/mongodb-org/6.0/InRelease: Policy will reject signature within a year, see --audit for details 错误: 仓库 “https://repo.mongodb.org/apt/ubuntu trixie/mongodb-org/5.0 Release” 没有 Release 文件。 注意: 无法安全地用该源进行更新,所以默认禁用该源。 注意: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。 帮我移除mongodb6.0,5.0,8.0
08-27
<think>我们正在使用Debian系统,并且遇到了MongoDB仓库的问题。错误信息显示,尝试从`https://repo.mongodb.org/apt/ubuntu`获取`trixie/mongodb-org/5.0`时出现404错误。同时,系统已经安装了多个MongoDB版本的仓库(6.0、8.0等),其中一些仓库的签名即将过期。 用户要求移除MongoDB的6.0、5.0和8.0版本仓库。注意,在Debian中,我们通过管理`/etc/apt/sources.list.d/`目录下的源文件来添加或移除仓库。 根据提供的`apt update`输出,我们有以下相关的MongoDB仓库: - `http://repo.mongodb.org/apt/debian bullseye/mongodb-org/6.0 InRelease` - `http://repo.mongodb.org/apt/debian bookworm/mongodb-org/8.0 InRelease` - 以及尝试访问但失败的`https://repo.mongodb.org/apt/ubuntu trixie/mongodb-org/5.0`(这个仓库被禁用了) 因此,我们需要移除这些仓库的源文件。通常,这些源文件位于`/etc/apt/sources.list.d/`目录中,文件名可能包含“mongodb”字样。 步骤: 1. 进入`/etc/apt/sources.list.d/`目录。 2. 查找与MongoDB相关的源文件(可能以.list结尾)。 3. 移除包含以下字符串的源文件: - "bullseye/mongodb-org/6.0" - "bookworm/mongodb-org/8.0" - 以及可能存在的"trixie/mongodb-org/5.0"(虽然它已经报错,但最好也移除) 但是,请注意,在输出中还有两个RabbitMQ的仓库,它们与MongoDB无关,不要移除。 另外,注意到错误信息中还有一个仓库是`http://repo.mongodb.org/apt/debian/dists/bullseye/mongodb-org/6.0/InRelease`,这可能是由`mongodb-org-6.0.list`这样的文件提供的。 因此,我们可以通过以下命令移除这些文件: ```bash sudo rm /etc/apt/sources.list.d/mongodb-org-*.list ``` 但是,请注意,这个命令会删除所有以`mongodb-org-`开头的.list文件,这可能会删除所有版本的MongoDB仓库,包括5.0、6.0、8.0。如果用户只想删除5.0、6.0和8.0,而保留其他版本(如果有的话),那么我们需要更精确地删除。 然而,根据用户要求,是移除6.0,5.0,8.0,所以我们可以删除包含这些版本的所有文件。但通常,一个文件只包含一个版本的仓库,所以我们可以通过查看文件内容来确定。 但是,为了简单且安全地移除,我们可以先列出所有相关的文件,然后根据内容删除。但用户明确要求移除这三个版本,我们可以先尝试查找这些版本对应的文件。 不过,在实际中,MongoDB官方安装指南中,每个版本通常对应一个单独的源文件,文件名如`mongodb-org-<version>.list`。因此,我们可以直接删除这些版本对应的文件。 但是,在输出中我们并没有看到5.0的仓库文件被成功添加(因为它是ubuntu的源,而我们是debian,可能是错误添加),所以可能文件名并不规范。 因此,我们可以采用以下步骤: 1. 列出`/etc/apt/sources.list.d/`目录下所有与mongodb相关的文件。 2. 检查这些文件的内容,如果包含`mongodb-org/5.0`、`mongodb-org/6.0`、`mongodb-org/8.0`,则删除。 或者,我们可以直接删除所有mongodb的源文件,因为用户没有要求保留其他版本(比如4.4等)。如果用户以后需要,可以重新添加。 考虑到用户要求移除6.0,5.0,8.0,并且这些版本在更新时都出现了(5.0虽然报错,但也是要移除的),所以我们可以删除所有mongodb的源文件,因为用户可能没有其他版本。 执行命令: ```bash # 删除所有mongodb的源文件 sudo rm /etc/apt/sources.list.d/*mongodb*.list ``` 注意:这个命令会删除所有包含"mongodb"的.list文件。根据上面的输出,我们的仓库URL中都有"mongodb",所以是安全的。 但是,注意RabbitMQ的仓库中也有`rabbitmq`字样,不会被匹配到。 删除后,运行`sudo apt update`来更新软件源列表。 另外,如果这些仓库是通过添加GPG密钥的方式安装的,我们可能还需要移除GPG密钥,但用户没有要求,而且通常不移除GPG密钥也不会影响系统,所以可以不做。 如果用户需要移除GPG密钥,可以再询问。 因此,完整的步骤是: ```bash # 移除MongoDB的源文件 sudo rm /etc/apt/sources.list.d/*mongodb*.list # 更新软件包列表 sudo apt update ``` 这样,那些错误的仓库和需要移除的仓库都会被删除。 注意:如果系统中没有其他问题,`apt update`应该会成功执行。 现在,我们按照这个方案执行。</think>根据你的需求,我将指导你安全移除 MongoDB 的旧版本仓库。以下是详细步骤和解释: ### 解决方案: 1. **定位 MongoDB 源文件**: ```bash sudo ls /etc/apt/sources.list.d | grep -i mongo ``` 这个命令会列出所有 MongoDB 相关的源文件,通常文件名类似 `mongodb-org-*.list` 2. **移除指定版本的源文件**: ```bash # 移除 5.0/6.0/8.0 版本的源文件 sudo rm /etc/apt/sources.list.d/mongodb-org-5.0.list \ /etc/apt/sources.list.d/mongodb-org-6.0.list \ /etc/apt/sources.list.d/mongodb-org-8.0.list 2>/dev/null # 安全移除(防止文件不存在时报错) sudo rm -f /etc/apt/sources.list.d/*mongodb*.list 2>/dev/null ``` 3. **更新 APT 缓存**: ```bash sudo apt update ``` ### 完整操作流程: ```bash # 1. 列出所有 MongoDB 源文件 echo "当前 MongoDB 源文件:" sudo ls /etc/apt/sources.list.d | grep -i mongo # 2. 移除指定版本源 sudo rm -f /etc/apt/sources.list.d/mongodb-org-{5.0,6.0,8.0}.list 2>/dev/null # 3. 清理残留(包含ubuntu的异常源) sudo sed -i &#39;/mongodb.org\/apt\/ubuntu/d&#39; /etc/apt/sources.list 2>/dev/null # 4. 更新APT echo "执行更新:" sudo apt update ``` ### 关键解释: 1. `rm -f ... 2>/dev/null`:强制删除且隐藏错误(文件不存在时不报错) 2. `{5.0,6.0,8.0}`:Bash 的花括号扩展,等效于三个文件名 3. `sed -i &#39;/pattern/d&#39;`:从文件中删除包含特定模式的行 4. 操作重点移除了: - Ubuntu 源的错误配置(`trixie/mongodb-org/5.0`) - 即将过期的 Bullseye 源(`bullseye/mongodb-org/6.0`) - 版本冲突的 Bookworm 源(`bookworm/mongodb-org/8.0`) 执行后系统将只保留有效的 RabbitMQ 源,MongoDB 相关错误会完全消失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值