MongoDB 环境安装
MongoDB 下载
可以在MongoDB官网下载该安装包,地址为: http://www.mongodb.org/downloadsMonggoDB支持以下平台:
- OS X 32-bit
- OS X 64-bit
- Linux 32-bit
- Linux 64-bit
- Windows 32-bit
- Windows 64-bit
- Solaris i86pc
- Solaris 64
MongoDB GUI可视化工具
Robomongo 0.9.0-RC4
百度云链接:http://pan.baidu.com/s/1c1Vj6nQ 密码:gijn
安装MongoDB
https://docs.mongodb.com/getting-started/shell/installation/
安装 MongoDB Linux 社区版本
https://docs.mongodb.com/getting-started/shell/tutorial/install-on-linux/
1. 使用包管理系统导入公钥:
Ubuntu软件包管理工具(即dpkg和apt)通过要求分销商签订包GPG密钥确保方案的一致性和真实性。使用以下命令来导入MongoDB公共GPG密钥:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
2. 创建MongoDB清单文件:
Ubuntu 12.04
echo "deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Ubuntu 14.04
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Ubuntu 16.04
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
3. 重新加载本地包数据库
- 使用以下命令来重新加载本地包数据库:
sudo apt-get update
执行结果部分截图:
Ign http://repo.mongodb.org trusty/mongodb-org/3.2 InRelease
Get:1 http://repo.mongodb.org trusty/mongodb-org/3.2 Release.gpg [801 B]
Get:2 http://repo.mongodb.org trusty/mongodb-org/3.2 Release [3,462 B]
Get:3 http://repo.mongodb.org trusty/mongodb-org/3.2/multiverse amd64 Packages [7,908 B]
Get:4 http://repo.mongodb.org trusty/mongodb-org/3.2/multiverse i386 Packages [29 B]
Ign http://repo.mongodb.org trusty/mongodb-org/3.2/multiverse Translation-en_US
Ign http://repo.mongodb.org trusty/mongodb-org/3.2/multiverse Translation-en
安装时可以安装MongoDB的最新稳定版本或者一个指定的MongoDB版本。
- 安装最新的MongoDB稳定的版本,使用以下命令:
sudo apt-get install -y mongodb-org
- 指定MongoDB版本,分别指定每个组件包的包名和版本号,如下例所示,安装MongoDB的3.0.4版本:
sudo apt-get install -y mongodb-org=3.0.4 mongodb-org-server=3.0.4 mongodb-org-shell=3.0.4 mongodb-org-mongos=3.0.4 mongodb-org-tools=3.0.4
虽然可以指定任何可用的MongoDB企业版本的,但是当有新版本发布时apt-get将升级到新版本的程序包。为了防止意外升级,要锁定程序包。
锁定MongoDB的当前安装版本,使用以下命令:
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
针对不支持Ubuntu16.04的Mongo Service
The first thing is to create a systemd unit file which defines a unit in this case our MongoDB service. Systemd unit configuration files are stored in /etc/systemd/system directory and we shall create the mongodb.service file under it, use your editor of choice as follows:
sudo vi /lib/systemd/system/mongod.service
Then add the following line into that file:
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
说明:
--quiet
mongod运行在安静模式,限制输出量
查看配置文件:
vi /etc/mongod.conf
MongoDB实例默认:
将其数据文件存储在/var/lib/mongodb
目录;
其日志文件在/var/log/mongodb
目录,并使用当前用户运行mongod;
如果你改变用户运行MongoDB进程,您必须修改/var/lib/mongodb
和/var/log/mongodb
目录的访问控制权限
sudo chown -R mongodb:mongodb /var/lib/mongodb/
sudo chown -R mongodb:mongodb /var/log/mongodb/
现在可以开始我们的mongod的服务,运行下面的命令:
sudo systemctl start mongod
或者
sudo service mongod start
python@ubuntu:~$ sudo service mongod start
Warning: mongod.service changed on disk. Run 'systemctl daemon-reload' to reload units.
python@ubuntu:~$ systemctl daemon-reload
要检查服务的状态,执行以下命令:
sudo systemctl status mongod
Warning: mongod.service changed on disk. Run 'systemctl daemon-reload' to reload units.
python@ubuntu:~$ systemctl daemon-reload
设置开机启动
sudo systemctl enable mongod
取消开机启动
sudo systemctl disable mongod
日常MongoDB管理
启动MongoDB:
可以使用以下命令启动mongod进程:
sudo service mongod start
验证MongoDB启动成功:
可以通过检查日志文件/var/log/mongodb/mongod.log
的内容来验证是否成功启动。
[initandlisten] waiting for connections on port <port>
配置在/etc/mongod.conf
默认端口号 27017【考点】 Mysql呢?3306
停止MongoDB
在需要时,使用以下命令停止mongod进程:
sudo service mongod stop
重启MongoDB:
可以通过以下命令重启mongod进程:
sudo service mongod restart
以通过观察输出在/var/log/mongo/mongod.log
日志中的错误和重要信息信息判断进程状态。
通过shell连接MongoDB服务
要使用MongoDB 运行以下命令
mongo
这将会连接到运行的 mongod 实例。
MongoDB 帮助
要获得 MongoDB客户端的命令列表,需要输入命令db.help()
。这会列出命令如下列表所示:
MongoDB 统计信息
要获得关于MongoDB的服务器统计,需要在MongoDB客户端键入命令db.stats()
。这将显示数据库名称,收集和数据库中的文档信息。输出的命令如下所示
下面来介绍一下各个参数
"db" : "test" ,表示当前是针对"test"这个数据库的描述。想要查看其他数据库,可以先运行$ use datbasename
"collections" : 3,表示当前数据库有多少个collections.可以通过运行show collections查看当前数据库具体有哪些collection.
"objects" : 267,表示当前数据库所有collection总共有多少行数据。显示的数据是一个估计值,并不是非常精确。
"avgObjSize" : 623.2322097378277,表示每行数据是大小,也是估计值,单位是bytes
"dataSize" : 16640,表示当前数据库所有数据的总大小,不是指占有磁盘大小。单位是bytes
"storageSize" : 110592,表示当前数据库占有磁盘大小,单位是bytes,因为mongodb有预分配空间机制,为了防止当有大量数据插入时对磁盘的压力,因此会事先多分配磁盘空间。
"numExtents" : 0,没有什么真实意义
"indexes" : 2 ,表示system.indexes表数据行数。
"indexSize" : 53248,表示索引占有磁盘大小。单位是bytes