本文并非原创,觉得写得很好,于是整理发布。内容比较基础,希望可以照亮mongodb初学者的路
1.下载解压
# 1、下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.9.tgz
# 2、解压
tar -zxvf mongodb-linux-x86_64-4.0.9.tgz
# 3、改名,放到目录:/usr/local
mv mongodb-linux-x86_64-4.0.9 /usr/local/mongodb
# 4、新建必要的文件夹(依次是:数据库 日志 配置文件)
cd /usr/local/mongodb
mkdir data log etc
# 5、添加系统路径
vim /etc/profile
export PATH=$PATH:/usr/local/mongodb/bin
# 6、配置生效
source /etc/profile
# 7、查看是否添加
echo $PATH
# 或者做软链
ln -s /usr/local/mongodb/bin/mongo /usr/bin/mongo
2.配置文件
vim etc/mongodb.conf
# db存放的目录
dbpath=/usr/local/mongodb/data
# 后台启动需要配置日志输出
logpath=/usr/local/mongodb/log/mongodb.log
# 端口
port=27017
bind_ip = 127.0.0.1
# 设置成后台启动
fork=true
journal=false
3.服务启动/停止
# 启动服务
mongod --config /usr/local/mongodb/etc/mongodb.conf
# 关闭服务
mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown
# 或者
killall mongod
4.外网访问
vim etc/mongodb.conf
bind_ip = 0.0.0.0
5.添加用户
创建用户
# 本地连接
$ mongo
# 添加用户
> use admin
switched to db admin
> db.createUser({user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});
# 添加超级用户
> db.createUser({user: "root",pwd: "123456",roles: [ { role: "root", db: "admin" } ]});
# 查看已有用户
> show users
# 删除单个用户
> db.system.users.remove({user:"XXXXXX"})
# 关闭服务
> db.shutdownServer()
vim etc/mongodb.conf
# etc/mongodb.conf
# 登录验证
auth=true
#或者 :不同版本可能配置不一样
mongod -v
db version v4.0.26
# etc/mongodb.conf
# 登录验证
security:
authorization: enabled
验证登录
# 本地连接 - 连接时验证
$ mongo -u username -p password
# 远程连接 - 连接时验证
$ mongo 127.0.0.1/admin -u username -p password
# 远程连接 - 连接后验证
$ mongo 127.0.0.1/admin
> use admin
switched to db admin
> db.auth("username", "password")
1
# 修改密码
use admin
db.changeUserPassword('用户','密码')
6.设置开机启动
vim /etc/rc.d/init.d/mongod
start() {
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf
}
stop() {
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo
$"Usage: $0 {start|stop|restart}"
exit 1
esac
启动与关闭
# 更改权限
chmod +x /etc/rc.d/init.d/mongod
# 启动服务
service mongod start
# 关闭服务
service mongod stop
集群部署
[]
基础使用
1.创建一个集合
创建一个标准集合,和创建一个自定义集合
> use mydb
switched to db mydb
> db.createCollection("test")
{ "ok" : 1 }
> db.createCollection("myTbl", { capped : true, autoIndexId : true, size:6142800, max : 10000 })
{
"note" : "The autoIndexId option is deprecated and will be removed in a future release",
"ok" : 1
}
2.查看集合
> show collections
myTable
myTbl
3.删除集合
#如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false。
> db.myTbl.drop()
true
文档(内容)操作
1.文档的介绍
案例
-- myTable中添加1个文档
> db.myTable.insert({"id":1,"name":"goudan", "address":"beijing"})
WriteResult({ "nInserted" : 1 })
-- myTable中添加1个文档
> db.myTable.insertOne({"id":2,"name":"mz", "address":"beijing"})
{
"acknowledged" : true,
"insertedId" : ObjectId("62a46e194c256eb2b320f209")
}
-- myTable中添加2个文档
> db.myTable.insertMany([{"id":3,"name":"shanjige", "address":"beijing"},{"id":4,"name":"haonan", "address":"jianshazui"}])
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("62a46e644c256eb2b320f20a"),
ObjectId("62a46e644c256eb2b320f20b")
]
}
-- myTable中添加1个文档
> db.myTable.save({"id":5,"name":"renzha", "address":"tangshan"})
WriteResult({ "nInserted" : 1 })
> db.myTable.find()
{ "_id" : ObjectId("62a46dee4c256eb2b320f208"), "id" : 1, "name" : "goudan", "address" : "beijing" }
{ "_id" : ObjectId("62a46e194c256eb2b320f209"), "id" : 2, "name" : "mz", "address" : "beijing" }
{ "_id" : ObjectId("62a46e644c256eb2b320f20a"), "id" : 3, "name" : "shanjige", "address" : "beijing" }
{ "_id" : ObjectId("62a46e644c256eb2b320f20b"), "id" : 4, "name" : "haonan", "address" : "jianshazui" }
{ "_id" : ObjectId("62a46eae4c256eb2b320f20c"), "id" : 5, "name" : "renzha", "address" : "tangshan" }
4.MongoDB更新操作