数据库.MongoDB.安装MongoDB数据库
树莓派安装方法
版本: mongodb 2.4.10
sudo apt-get install mongodb -y
安装完成后,检查命令
mongo
看到下图的内容,表示已安装并启动成功
=================================分隔线=======================================================================
CentOS6.x安装方法
安装稍复杂一些, 以3.4版本为例:
第一步, 配置系统安装包文件 (yum
).
创建配置文件 /etc/yum.repos.d/mongodb-org-3.4.repo
sudo vi /etc/yum.repos.d/mongodb-org-3.4.repo
文件内容如下
[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
注:4.2配置
/etc/yum.repos.d/mongodb-org-4.2.repo
[mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
第二步, 用yum命令开始安装
.
sudo yum install -y mongodb-org
安装完成后, 执行
mongo
看到下图
表示安装成功, 如果失败, 可以试试看是否服务没启动
/etc/init.d/mongod start
附:
- 配置使mongoDB可以被其它IP连接(默认只能用127.0.0.1连接)
vi /etc/mongod.conf
找到代码位置
net: port: 27017 bindIp: 127.0.0.1
修改为
net: port: 27017 # bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces. bindIp: 192.168.6.42
上例为本机的对外IP, 可按实际情况修改之
如果想绑定多个IP, 可以这样写,中间用英文逗号分隔:
bindIp: 192.168.6.42,127.0.0.1
- 增加开机启动
chkconfig mongod on
- 如果修改了dbpath,注意新的路径要授权给mongod这个用户
chown mongod:mongod /data/db/mongodb
给数据库添加账号密码,并授权
use mydb db.createUser( { user: "dbuser", pwd: "000000", roles: [ { role: "readWrite", db: "mydb" }, { role: "read", db: "mydb" } ] } )
本地安装方法
1.下载
注意下载的版本要与自己系统版本相兼容, 才能正常使用
https://www.mongodb.com/download-center?jmp=docs#production
2.解压安装
tar -xvzf mongodb-linux-x86_64-3.2.10.tgz mv mongodb-linux-x86_64-3.2.10 /usr/local/mongodb cd /usr/local/mongodb/
3.运行
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --auth--port=27017 --fork
升级数据库 3.2->3.6
系统:
pi@dev:/data/logs $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 9.6 (stretch) Release: 9.6 Codename: stretch
按照官方的教程
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
sudo apt-get install dirmngr
再次执行就不会把dirmngr错误
先停掉旧版本的数据库, 再安装
sudo /etc/init.d/mongod stop sudo apt-get update sudo apt-get install -y mongodb-org sudo service mongod start
最后检查版本号是否正确
mongod --version
Mongodb不加以限制的话,占用内存会持续上升到一个比较危险的地步,所以需要在设置中配置一下,比如设置为占内存上限50%
在命令行中,可以通过加一个参数解决:
--wiredTigerCacheSizeGB 0.5
如果是用配置文件方式 /etc/mongod.conf,则:
storage: dbPath: /var/lib/mongodb journal: enabled: true engine: wiredTiger wiredTiger: engineConfig: # 此值决定了 wiredTiger 与 mmapv1 的内存模型不同,它可以限制 mongod 对内存的使用量,而 mmapv1 则不能(依赖于系统级的 mmap)。默认情况下,cacheSizeGB 的值为假定当前节点只部署一个 m ongod 实例,此值的大小为物理内存的一半;如果当前节点部署了多个 mongod 进程,那么需要合理配置此值。如果 mongod 部署在虚拟容器中(比如,lxc,cgroups,Docker)等,它将不能使用整个系统的物> 理内存,则需要适当调整此值。默认值为物理内存的一半。 cacheSizeGB: 0.5
找不到链接库报错解决
yum install openssl wget https://vault.centos.org/centos/8/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-3.el8.x86_64.rpm rpm -ivh compat-openssl10-1.0.2o-3.el8.x86_64.rpm
E: Sub-process /usr/bin/dpkg returned an error code (1)错误解决
在用apt-get安装软件时出现了类似于
install-info: No dir file specified; try --help for more information.dpkg:处理 gettext (--configure)时出错: 子进程 post-installation script 返回了错误号 1 在处理时有错误发生:
findutils
E: Sub-process /usr/bin/dpkg returned an error code (1)
办法如下:
1.$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old //现将info文件夹更名
2.$ sudo mkdir /var/lib/dpkg/info //再新建一个新的info文件夹
3.$ sudo apt-get update,再$sudoapt-get -f install //不用解释了吧
4.$ sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old //执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_old文件夹下
5.$ sudo rm -rf /var/lib/dpkg/info //把自己新建的info文件夹删掉
6.$ sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info //把以前的info文件夹重新改回名字
到此问题顺利解决
参数文献:
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
http://docs.mongodb.org/manual/MongoDB-manual.pdf