1 安装
本文假设大家已经安装好了docker并能正常使用,所以不讲解如何安装docker了。用docker安装MongoDB最新版本如下:
# 从repository查找mongo的相关镜像,结果很多,其中第一条为官方的镜像 $ docker search mongo # 下载官方镜像的最新版本 $ docker pull mongo:latest # 完成后,检查是否下载成功 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos 7 5e35e350aded 12 days ago 203MB mongo latest 965553e202a4 3 weeks ago 363MB hello-world latest fce289e99eb9 10 months ago 1.84kB
仅需要简单几个命令,我们就拥有了MongoDB的最新镜像了,后续就可以使用了。
2 启动
完成MongoDB的镜像下载后,启动就非常简单了,一个命令即可:
$ docker run -itd --name mongo -p 27017:27017 mongo --auth 305ebd8236678905d16dd76e75dcf99fdd812be6b13c240acece7985d29b316c
(1)--name
后面的参数为docker容器名;
(2)-p
后面是端口映射,即宿主端口:容器端口
;
(3)--auth
是否开始鉴权,如果不想开启可以去掉;
成功启动MongoDB一个实例后,会返回容器ID,如305ebd8236678905d16dd76e75dcf99fdd812be6b13c240acece7985d29b316c
。
通过命令docker ps
可以查看正在运行的容器,经过检查,确实已经起来了。
注意:默认数据是存在容器系统的/data/db
目录下的,如果需要使用自定义的宿主机器目录,可以在启动命令加上参数:
-v /my/own/datadir:/data/db
3 创建用户与集合
3.1 进入容器
容器起来后,下一步是进入容器:
# 进入容器可以用以下两种方法 # 分别是通过容器名和容器ID $ docker exec -it mongo bash $ docker exec -it 305ebd823667 bash
上面进入容器后,其实是进入了容器的系统,并打开bash
。
3.2 通过客户端命令连接数据库
接着通过mongo
命令连接到MongoDB的数据库服务。
# 默认连接本地的27017端口的MongoDB $ mongo # 指定IP与端口进行连接 $ mongo 127.0.0.1:27017 # 指定用户名和密码连接到指定的MongoDB数据库 $ mongo 127.0.0.1:27017/admin -u user -p password
连接数据库成功后,会返回一些信息,如SeesionID和版本号等。
3.3 查看版本
(1)在linux命令通过mongo --version
查询;
(2)连接上数据库后,通过db.version()
查询。
root@305ebd823667:/# mongo --version MongoDB shell version v4.2.1 git version: edf6d45851c0b9ee15548f0f847df141764a317e OpenSSL version: OpenSSL 1.1.1 11 Sep 2018 root@305ebd823667:/# mongo > db.version() 4.2.1
3.4 创建admin管理用户
连上数据库后,我们先创建一个admin用户,用以管理其它用户:
> use admin switched to db admin > db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]}); Successfully added user: { "user" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] } >
3.5 创建具有读写权限的用户
根据业务需求,创建不用的用户,如下面创建拥有读写权限的用户user:
> db.auth('admin','123456'); 1 > db.createUser({ user:'user',pwd:'123456',roles:[ { role:'readWrite', db: 'testdb'}]}); Successfully added user: { "user" : "user", "roles" : [ { "role" : "readWrite", "db" : "testdb" } ] } >
3.6 认证用户并操作
> db.auth('user','123456') 1 > use testdb switched to db testdb > > db.person.insert({name:'Larry',age:18}) WriteResult({ "nInserted" : 1 }) > db.person.find({}) { "_id" : ObjectId("5ddaa14edbbac3c4f844366c"), "name" : "Larry", "age" : 18 } >
4 两款优秀的可视化工具
通过前面的操作,我们已经建立了用户,并尝试创建了数据库和集合。但通过命令行来操作总是不那么方便,我们需要可视化软件来进行操作。下面将介绍两款优秀的可视化软件,展示如何连接。如何进行CRUD等操作就不一一介绍了,还是比较友好的,容易使用。
4.1 Robo3T
官网
创建连接:
注意下面填的是鉴权数据库,而不是用户的数据库:
操作界面:
4.2 IDEA Mongo Plugin
GitHub官网
这个是支持JetBrains全系列软件的插件,IDEA当然也可以安装。
连接设置:
注意下面的User Database是该用户下的数据库,写错了会连不上。
注意下面Auth Database为鉴权的数据库,默认为admin。
操作界面:
总结
本文介绍了通过Docker安装最新版的MongoDB,并通过例子演示了如何运行和创建用户与集合,最后还介绍了两款非常友好的可视化工具,希望能带没有接触过的人入个门吧。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】