- 安装指南:
linux : https://docs.mongodb.com/manual/administration/install-on-linux/
windows: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/ - 配置用户名密码: https://docs.mongodb.com/manual/tutorial/enable-authentication/
1, 配置yum源
cat > /etc/yum.repos.d/mongo.repo <<EOF
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
EOF
2, 安装mongodb
a, 无密码登陆
yum -y install mongodb-org
#验证安装
[root@eadage ~]# rpm -qa |grep mongo
mongodb-org-mongos-3.6.13-1.el6.x86_64
mongodb-org-shell-3.6.13-1.el6.x86_64
mongodb-org-3.6.13-1.el6.x86_64
mongodb-org-tools-3.6.13-1.el6.x86_64
mongodb-org-server-3.6.13-1.el6.x86_64
# 启动服务
service mongod start
#连接mongodb
[root@eadage ~]# mongo
MongoDB shell version v3.6.13
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("79c73716-7e36-4ca5-be58-9bf8ab2d8f3c") }
MongoDB server version: 3.6.13
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
b, 有密码登陆:用户管理,增删
#创建admin用户
use admin
db.createUser(
{
user: "root",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
exit
service mongod stop;
#修改启动参数, cent7: /usr/lib/systemd/system/mongod.service
# cent6: /etc/init.d/mongod
#--> mongod --auth -f /etc/mongod.conf
#登陆
mongo -u root -p 123456
show dbs
#-----------------------------
#创建普通用户--test数据库
use test
db.createUser(
{
user: "test",
pwd: "123456",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)
# 通用户登陆
mongo -u "test" -p 123456 --authenticationDatabase "test"
############# 删除 用户
#列出某个数据库下的所有用户
> use admin
switched to db admin
> db.system.users.find()
{ "_id" : "spark.spark", "userId" : UUID("67840e26-ba03-476c-abb7-6dbbbdebc440"), "user" : "spark", "db" : "spark", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "9VvGH3VUlzxqEhzF2v4ZJQ==", "storedKey" : "0wU05eXGHAeOG+Pami1aiSJq4hY=", "serverKey" : "ZT6p1bo/YA4acdT9RGu8VypeXBA=" } }, "roles" : [ { "role" : "readWrite", "db" : "spark" } ] }
# 删除该库下的某个用户
> db.dropUser("spark")
true
# 删除当前库的所有用户
>db.dropAllUser()
true
3, 表数据管理
#############使用test数据库(不存在,则会新建数据库),创建表t1,插入数据, 查询数据
> use test
switched to db test
> db.t1.insert({x:1})
WriteResult({ "nInserted" : 1 })
> db.t1.find()
{ "_id" : ObjectId("5d2fe5483610d7985d500163"), "x" : 1 }
############# 删除表数据
> db.t1.remove({"x":1})
WriteResult({ "nRemoved" : 2 })
> db.t1.count()
0
############# 清空表数据
> db.t1.remove({})
WriteResult({ "nRemoved" : 3})
> db.t1.count()
0
############# 删除表
> show tables
t1
> db.t1.drop()
true
> show tables
4, 数据导入导出
参考:https://www.cnblogs.com/mengyu/p/7718311.html
mongodump -u 用户名 -p 密码 --authenticationDatabase=授权库 -d 数据库 -c 表 -o 文件备份路径
mongorestore -u 用户名 -p 密码 --authenticationDatabase=授权库 -d 数据库 --drop 文件恢复路径
#--------------
mongoexport -u 用户名 -p 密码 --authenticationDatabase=授权库 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件导出路径
mongoimport -u 用户名 -p 密码 --authenticationDatabase=授权库 -d 数据库 -c 表名 --upsert --drop 文件导入路径