1、数据导出:mongoexport
Mongdb中的mongoexport 工具可以将collection 导出成JSON格式或者CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
语法:
mongoexport -d dbname -c collectionname -o fiepath --type json/csv -f field
参数说明:
-d: 数据库名
-c: collection名
-o: 输出文件路径
--type: 输出的格式。默认为json
-f: 输出的字段,如果type为CSV,则需要加上 -f "字段名"
实例:
mongoexport -d wcx2020 -c articles -o D:\mongodbBackup\mongosql.json --type json
2、数据导入
语法:
mongoexport -d dbname -c collectionname --file filepath -type json/csv -f field
参数说明:
-d: 数据库名
-c: collection名
--file: 导入文件路径
--type: 输出的格式。默认为json
-f: 导入的字段名
实例:
mongoimport -d wcx2020 -c articles -file D:\mongodbBackup\mongosql.json --type json
3、数据备份(导出所有数据)
语法:
mongodump -h connection -d dbname -o filepath
参数说明:
-h: 连接IP和端口号(默认127.0.0.1:27017
-d: 数据库名
-o: 导出文件路径
实例:
mongodump -h 127.0.0.1 -d wcx2020 -o D:\mongodbBackup\
4、数据恢复
语法:
mongorestore -h connection -d dbname --dir filepath
参数说明:
-h: 连接IP和端口号(默认127.0.0.1:27017)
-d: 数据库名
--dir: 备份的数据库的路径
实例:
mongorestore -h 127.0.0.1 -d wcx2020 --dir D:\mongodbBackup
注意事项:
恢复的时候可以加--drop 覆盖原来的数据库(慎用),最好提前备份好当前数据库;同时要更改数据库名,不然恢复会失败。
作者:李牧敲代码
链接:https://www.jianshu.com/p/64105f498201
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
5、恢复所有库
mongorestore /root/sql
https://www.cnblogs.com/my-blogs-for-everone/articles/9749842.html
6、删库
use db
db.dropDatabase()
https://www.runoob.com/mongodb/mongodb-create-database.html
7、mongodb导入json文件
MongoDB导入json格式的文件命令为:mongoimport
在下面的这个例子中,使用mongoimport命令将文件contacts.json中的内容导入user数据库的contacts的数据表中。
mongoimport --db users --collection contacts --file contacts.json
演示过程:
1、切换到MongoDB安装的bin目录,启动服务
./mongod --dbpath /home/test/ --logpath /home/test/log/xushuai.log --fork
2、切换到bin目录下,启动客户端
./mongo
3、开始导入json格式的文件:注意是在bin目录下, 而不是在客户端shell运行mongoimport命令。
./mongoimport --db taobao --collection dress --file /home/test/taobao.json
8、mongo创建用户
use admin
db.createUser({user: 'admin', pwd: '123456', roles:[{role: 'root',db: 'admin' }]})
use.admin
db.createUser({
user: 'admin', // 用户名
pwd: '123456', // 密码
roles:[{
role: 'root', // 角色
db: 'admin' // 数据库
}]
})
show users;
vim /etc/mongo.conf
security:
authorization: enabled
systemctl restart mongod
// 方式一
mongo
use admin
db.auth('admin', '123456')
// 方式二
mongo admin -u admin -p 123456
use rcpay // 跳转到需要添加用户的数据库
db.createUser({
user: 'ty', // 用户名
pwd: 'abcefg', // 密码
roles:[{
role: 'readWrite', // 角色
db: 'ty' // 数据库名
}]
})
show users // 查看当前库下的用户
db.dropUser('testadmin') // 删除用户
db.updateUser('admin', {pwd: '654321'}) // 修改用户密码
db.auth('admin', '654321') // 密码认证
数据库用户角色:read、readWrite
数据库管理角色:dbAdmin、dbOwner、userAdmin
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
备份恢复角色:backup、restore
所有数据库角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、
dbAdminAnyDatabase
超级用户角色:root
9、mongo备份单个集合
mongoexport -h dbhost -d dbname -c collectionname -f collectionKey -o dbdirectory
例:mongoexport -h dbhost -d ABC -c future -o future
-h: MongoDB所在服务器地址
-d: 需要恢复的数据库实例
-c: 需要恢复的集合
-f: 需要导出的字段(省略为所有字段)
-o: 表示导出的文件名
10、单个集合恢复
mongoimport -d dbhost -c collectionname –type csv –headerline –file
-type: 指明要导入的文件格式
-headerline: 批明不导入第一行,因为第一行是列名
-file: 指明要导入的文件路径