Ubuntu 18上安装和配置mongodb
# 安装
- 方式一:
curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt update
sudo apt install mongodb-org
(https://www.digitalocean.com/community/tutorials/how-to-install-mongodb-on-ubuntu-18-04-source)
-
方式二:
分别下载,然后从上到下使用dpkg -i xxx.deb依次进行安装;
# 运行
- 启动
sudo systemctl start mongod.service - 查看状态
sudo systemctl status mongod - 配置为自启
sudo systemctl enable mongod - 重启服务
sudo systemctl restart mongod - 测试
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
# mongodb配置
ubuntu18下mongodb 4.2的配置文件默认在/etc/mongod.conf
- 如果需要远程访问,修改绑定ip
- 如果需要开启数据库访问权限控制,则需要开启
修改完配置后需要使用sudo systemctl restart mongod重新启动mongod服务,以使新的配置生效
# 新增管理员用户(https://juejin.cn/post/6844903961162416135)
1、进入mongodb的shell:mongo
2、切换数据库:use admin db.createUser( { user: "admin" pwd: "admin", roles: [ { role: "root", db: "admin" } ] } )
user字段,为新用户的名字;
pwd字段,用户的密码;
cusomData字段,为任意内容,例如可以为用户全名介绍;
roles字段,指定用户的角色,可以用一个空数组给新用户设定空角色。在roles字段,可以指定内置角色和用户定义的角色。
--- --- ---
数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库 dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
# 创建库和创建授权用户(https://medium.com/mongoaudit/how-to-enable-authentication-on-mongodb-b9e8a924efac)
首先mongo命令进入shell
切换用户 db.auth("admin","admin")
use test
db.createUser(
{
user: "myTester",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "test" } ]
}
)
# 插入数据到集合(https://blog.csdn.net/claroja/article/details/100516412)(https://blog.csdn.net/zhujq_icode/article/details/81142157)
db.inventory.insertOne(
... { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } }
... )
插入方法 描述
db.collection.insertOne() Inserts a single document into a collection.
db.collection.insertMany() db.collection.insertMany() inserts multiple documents into a collection.
db.collection.insert() db.collection.insert() inserts a single document or multiple documents into a collection.
1.如果collection,不存在则创建集合,再插入
2.如果不指定_id列,会自动创建.必须保证_id唯一,否则会报错
# 创建一个开启数据压缩的集合(https://scalegrid.io/blog/enabling-data-compression-in-mongodb-3-0/)
(https://stackoverflow.com/questions/59610238/how-to-enable-data-compression-in-mongodb)
db.createCollection('collects', {storageEngine: {wiredTiger: {configString: 'block_compressor=zlib'}}})
- 点赞
- 收藏
- 关注作者
评论(0)