1、下载MongoDB (https://www.mongodb.com/try/download/community)
从官网上选择版本后复制 tgz 地址,输入指令下载
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-5.0.3.tgz
2、解压
tar zxvf mongodb-linux-x86_64-ubuntu2004-5.0.3.tgz
3、将解压过后的包移动到指定目录
mv mongodb-linux-x86_64-ubuntu2004-5.0.3/ /usr/local/mongodb
4、创建数据文件夹和日志文件
mkdir -p /usr/local/mongodb/data
touch /usr/local/mongodb/mongod.log
touch /usr/local/mongodb/mongodb.conf
5、配置文件加入如下代码
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/mongod.log
logappend = true
port = 27017
fork = true
auth = true
journal = true
bind_ip = 192.168.6.236
保存退出::wq
6、进入 bin 目录下执行启动配置文件
cd /usr/local/mongodb/bin
./mongod --config /usr/local/mongodb/mongodb.conf
7、执行 ./mongo 连接服务后,需要创建管理员用户
mongos> use admin
switched to db admin
mongos> db.createUser({user:"admin",pwd:"0000",roles:["root"]})
Successfully added user: { "user" : "admin", "roles" : [ "root" ] }
mongo>db.auth('admin','0000')
mongo>show dbs
admin 0.000GB
local 0.000GB
8、基本操作指令
show dbs # 查看所有数据库
use hjminimally(数据库名)
show tables # 查看hjminimally库下的所有表
db.表.find().pretty() # 查看此表中所有数据,pretty()可以格式化数据
db.表.insert({username:'admin', password:'0000'}) # 此表中插入一条数据
db.表.drop() # 清空此表
9、数据库备份与恢复
备份数据库(无需用户名密码验证)
./mongodump -h dbhost -d dbname -o dbdirectory
-h MongoDB 所在服务器地址,例如 127.0.0.1 或 127.0.0.1:27017
-d 需要备份的数据库实例,例如 test
-o 备份的数据存放位置,例如 D:\data,在备份完成后,系统自动在 data 目录下建立一个 test 目录,这个目录里面存放该数据库下的所有数据
示例:mongodump -h 127.0.0.1 -d test -o D:\data
备份数据库(使用用户名密码验证)
./mongodump -h dbhost -u admin -p 0000 --authenticationDatabase admin -d dbname -o dbdirectory
-h MongoDB 所在服务器地址,例如 127.0.0.1 或 127.0.0.1:27017
-u 用户名
-p 密码
--authenticationDatabase 认证数据库
-d 需要备份的数据库实例,例如 hjminimally
-o 备份的数据存放位置,例如 D:\hjminimally,在备份完成后,系统自动在 data 目录下建立一个 hjminimally 目录,这个目录里面存放该数据库下的所有数据
示例:./mongodump -h 127.0.0.1 -u admin -p 0000 --authenticationDatabase admin -d hjminimally -o D:\hjminimally
恢复数据库(无需用户名密码验证)
./mongorestore -h dbhost -d dbname --dir dbdirectory
-h MongoDB 所在服务器地址,例如 127.0.0.1 或 127.0.0.1:27017
-d 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
--dir 备份数据所在位置,例如:D:\data\test
--drop 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!
示例:mongorestore -h 192.168.6.236 -d test --dir D:\data\test
恢复数据库(使用用户名密码验证)
./mongorestore -h dbhost -u admin -p 0000 --authenticationDatabase admin -d dbname --dir dbdirectory
-h MongoDB 所在服务器地址,例如 127.0.0.1 或 127.0.0.1:27017
-u 用户名
-p 密码
--authenticationDatabase 认证数据库
-d 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
--dir 备份数据所在位置,例如:D:\hjminimally
示例:./mongorestore -h 127.0.0.1 -u admin -p 0000 --authenticationDatabase admin -d hjminimally --dir D:\hjminimally
10、表备份与恢复
备份表(无需用户名密码验证)
mongoexport -d dbname -c tablename -o file --type json/csv -f field
-d 数据库名
-c 表名或 collection 名
-o 导出的文件路径
--type 输出的格式,默认 json
-f 输出的字段,如果 --type 为 csv,则需要加上 -f '字段名'
示例:mongoexport -d hjminimally -c projects --file D:\data\projects.json --type json
备份表(使用用户名密码验证)
./mongoexport -h dbhost -u admin -p 0000 --authenticationDatabase admin -d dbname -c tablename -o /home/website/projects.json --type json
-h MongoDB 所在服务器地址,例如 127.0.0.1 或 127.0.0.1:27017
-u 用户名
-p 密码
--authenticationDatabase 认证数据库
-d 数据库名
-c 表名
-o 导出的文件路径
--type 导出的格式,默认json
示例:./mongoexport -h 192.168.X.XX -u admin -p 0000 --authenticationDatabase admin -d hjminimally -c projects -o /home/website/projects.json --type json
导入表(无需用户名密码验证)
mongoimport -d dbname -c tablename --file filename --headerline --type json/csv -f field
-d 数据库名
-c 表名或 collection 名
--file 导入的文件
--type 导入的格式,默认 json
-f 导入的字段名
--headerline 如果导入的格式是 csv,则可以使用第一行的标题作为导入的字段
示例:mongoimport -d hjminimally -c projects --file D:\data\projects.json --type json
导入表(使用用户名密码验证)
./mongoimport -h dbhost -u admin -p 0000 --authenticationDatabase admin -c dbname -c tablename --file /home/website/projects.json --type json
-h MongoDB 所在服务器地址,例如 127.0.0.1 或 127.0.0.1:27017
-u 用户名
-p 密码
--authenticationDatabase 认证数据库
-d 数据库名
-c 表名
--file 导入的文件
--type 导入的格式,默认json
示例:./mongoimport -h 192.168.X.XX -u admin -p 0000 --authenticationDatabase admin -d hjminimally -c projects --file /home/website/projects.json --type json