不论是mysql或者redis或者es,我们都会使用远程的客户端工具来连接数据库server,那么目前的linux上锁安装的MongoDB就是server端,我们需要有一个客户端来进行可视化的管理,常用的可以使用Navcat来操作,当然使用其他的GUI工具也都行。
GUI 连接 MongoDB
文章目录
- 一、无密码连接
- 1. 创建连接
- 2. 测试连接
- 3. 新建数据库
- 二、有权限连接
- 2.1. 启用权限
- 2.2. 重启mongodb
- 2.3. mongodb控制台
- 2.4. 操作日志
- 2.5. 远程连接
一、无密码连接
1. 创建连接
填入你的host所在ip,注意需要内网互通
无权限连接
2. 测试连接
3. 新建数据库
双击连接如果图标可以点亮,说明连接没问题
二、有权限连接
2.1. 启用权限
创建MongoDB用户账号权限
上述的创建连接是以匿名的方式去连接的,这样在公网环境下回很危险,和redis一样,都要创建用户和
密码,才能连接到MongoDB,否则暴露在公网环境在忘记关闭端口的情况下会被黑客攻击。
修改mongodb.conf,auth改为true就代表启用授权模式:
cd /usr/local/mongodb/
vim mongodb.conf
2.2. 重启mongodb
停止服务
ps -ef|grep mongod
ps -ef|grep mongod
kill -2 22994
cd /usr/local/mongodb
mongod -f mongodb.conf
2.3. mongodb控制台
进入到mongodb控制台:
mongo
在控制台输入如下命令:
使用admin库,账号再这里创建
use admin
创建用户,账号密码分布为root,root,roles为角色root,代表超级权限
db.createUser({user:"root",pwd:"root",roles:["root"]})
登录
db.auth("root","root")
查看角色列表
show users
2.4. 操作日志
[root@VM-8-5-centos mongodb]# cd /usr/local/mongodb/
[root@VM-8-5-centos mongodb]# vim mongodb.conf
[root@VM-8-5-centos mongodb]# ps -ef|grep mongod
root 22994 1 0 17:39 ? 00:00:03 mongod -f mongodb.conf
root 26725 21453 0 17:52 pts/0 00:00:00 grep --color=auto mongod
[root@VM-8-5-centos mongodb]# kill -2 22994
[root@VM-8-5-centos mongodb]# mongod -f mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 27271
child process started successfully, parent exiting
[root@VM-8-5-centos mongodb]#
[root@VM-8-5-centos mongodb]# mongo
MongoDB shell version v5.0.9
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("882de39d-86f1-4111-900e-2acf7b883898") }
MongoDB server version: 5.0.9
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
> use admin
switched to db admin
> db.createUser({user:"root",pwd:"root",roles:["root"]})
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
> db.auth("root","root")
1
> show users
{"_id" : "admin.root","userId" : UUID("51b69ec8-fc6d-47d8-8079-7f469b37941e"),"user" : "root","db" : "admin","roles" : [{"role" : "root","db" : "admin"}],"mechanisms" : ["SCRAM-SHA-1","SCRAM-SHA-256"]
}
>