MongoDB数据库的安装与部署
1、下载MongoDB安装包
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.13.tgz
2、把安装包解压至目录/opt。
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.13.tgz -C /opt # 解压
3、重命名解压后的文件夹,把文件名称改为mongodb (mv)
cd /opt
mv mongodb-linux-x86_64-rhel70-4.4.13 mongodb #重命名
4、MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到 PATH 路径中
vim /etc/profile
#加入以下内容
export MONGODB_HOME=/opt/mongodb
export PATH=$MONGODB_HOME/bin:$PATH
#保持退出后,执行以下命令,立即生效
source /etc/profile
5、使用命令mongod -v输出信息版本信息验证环境变量是否配置成功
mongod -version
6、创建数据库的目录和日志目录log,创建日志文件,修改目录权限
mkdir -p /opt/mongodb/db # 创建数据库数据目录
mkdir -p /opt/mongodb/log # 创建数据库日志目录
touch /opt/mongodb/log/mongodb.log # 创建日志文件
chmod 777 /opt/mongodb/log #设置权限
chmod 777 /opt/mongodb/db #设置权限
7、创建配置文件,添加配置项,配置文件名为mongodb.conf
vim /opt/mongodb/mongodb.conf
port= 27017 #设置端口
dbpath=/opt/mongodb/db # 指定数据库路径
logpath=/opt/mongodb/log/mongodb.log # 指定日志文件路径
logappend=true # 使用追加方式写日志
fork=true # 以守护进程的方式运行
maxConns=100 # 最大同时连接数
noauth=true # 不启用验证
journal=true # 每次写入会记录一条操作日志
storageEngine=wiredTiger # 存储引擎
bind_ip=0.0.0.0 # 服务绑定地址,表示任意地址
8、测试一下 MongoDB 是否安装成功
which mongod
显示 MongoDB的路径则表示安装成功。
9、启动MongoDB
(1)用配置文件项启动
mongod -f /opt/mongodb/mongodb.conf或
mongod --config /opt/mongodb/mongodb.conf
(2)直接用命令启动
直接用命令启动时,需将配置属性值放在启动命令后方,启动时添加 --fork守护进程,添加--dbpath指明数据库路径,添加--logpath指明日志文件路径。可以在日志路径后面添加--logappend(日志追加方式),防止日志被删除。
mongod --fork --dbpath=/opt/mongodb/db --logpath=/opt/mongodb/log/mongodb.log --logappend
10、查看进程
ps -ef | grep mongo
11、停止MongoDB
mongod -f /opt/mongodb/mongodb.conf --shutdown或
mongod --config /opt/mongodb/mongodb.conf --shutdown
mongodb数据库操作
1、进入mongodb shell命令行界面:mongo
2、MongoDB 创建数据库的语法格式如下:USE DATABASE_NAME
3、查看所有数据库,使用 show dbs 命令:>show dbs
(1)查看当前数据库使用db命令:
> db
(2)使用show collections查看数据库集合
> show collections
(3)插入文档(可以多个),同时按以上命名要求创建集合
> db.zs2768coll.insert({"name":"zhangsan","age":20,"sex":"male"})
> db.zs2768coll.insert({"_id":10,"name":"LiQiang","age":19,"sex":"female","class":"216"})
5、用find()查看文档
> db.zs2768coll.find()
{ "_id" : ObjectId("653faead6a33952eb9c278f6"), "name" : "zhangsan", "age" : 20, "sex" : "male" }
{ "_id" : 10, "name" : "LiQiang", "age" : 19, "sex" : "female", "class" : "216" }
6、用update更新字段name值为"ZhangSan",并用find()查看修改结果。
>db.zs2768coll.update({"_id":ObjectId("653faead6a33952eb9c278f6")},{$set:{"name":"ZhangSan"}})
> db.zs2768coll.find()
{ "_id" : ObjectId("653faead6a33952eb9c278f6"), "name" : "ZhangSan", "age" : 20, "sex" : "male" }
{ "_id" : 10, "name" : "LiQiang", "age" : 19, "sex" : "female", "class" : "216" }
7、用remove()删除文档,如制定主键删除,并用find()查看结果。
> db.zs2768coll.remove({"_id":10})
WriteResult({ "nRemoved" : 1 })
> db.zs2768coll.find()
{ "_id" : ObjectId("653faead6a33952eb9c278f6"), "name" : "ZhangSan", "age" : 20, "sex" : "male" }
执行删除命令:
> db.dropDatabase()
{ "dropped" : "zs2768", "ok" : 1 }
dropped提示删除成功
9、查看数据库是否删除成功:
show dbs