Linux安装mongodb及mongodb的远程连接
本文主要介绍Linux系统 - centOS通过yum安装mongodb和mongodb的远程连接
配置仓库文件
- 针对MongoDB版本为3.6的:
# vim /etc/yum.repos.d/mongodb-org-3.6.repo
- 复制以下代码到文件中
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
- 其他版本使用以下配置,例如3.4版本(以此类推)
[mongodb-org-3.4]
name=MongoDB 3.4 Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=0
enabled=1
安装
# sudo yum install -y mongodb-org
稍等几秒钟,mongodb便安装完成。
注:此时mongodb默认配置:
存储数据文件目录为: /var/lib/mongo
存储日志文件目录:/var/log/mongodb
用户和启动
创建新的mongodb用户来启动mongod服务。(一般情况下,不建议使用root)
- 查看系统所有的用户信息
cat /etc/passwd
注:mongodb成功安装后,会看到类似如下信息:mongod:x:1000:1000::/home/mongod:/bin/bash
若这里显示为:mongod:x:1000:1000::/home/mongod:/bin/bash/false. 则说明该用户不能正常切换,需要先用usermod命令修改shell:usermod -s /bin/bash mongod
- 切换用户
su mongod
- 启动
# service mongod start
- 查看mongo是否已启动成功:
systemctl status mongod
注:状态中有active(绿色)则表示当前服务器连接成功
连接
- 连接mongoDB
mongo 127.0.0.1:27017 //默认连接的是test数据库
- mongoDB权限设置
第一步:创建mongoDB中的admin账户(详细配置见mongodb文档)
use admin
/switched to db admin/
db.createUser({user:"admin", pwd: "123456", roles: ["root"]})
/Successfully added user: { "user" : "admin", "roles" : [ "root" ] }/
第二步:认证创建的用户
db.auth('admin', '123456') //1代表成功 0代表失败
第三步:使用自己的数据库,并为数据库创建用户(重复上述步骤,完成后退出)
use xxx
db.createUser(...)
db,auth(...) //每个mongo数据库均有对应的用户,使用该用户去连接数据库即可
第四步:修改配置文件,使得再次连接数据库需要输入密码
vim /etc/mongod.conf
修改如下几行:
port: 27017
#bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
bindIpAll: true
security:
authorization: enabled
注:修改配置后,再次连接数据库需要输入密码,例如:
mongo 127.0.0.1:27017/admin -u root -p 123456
第五步:重启服务
sudo service mongod restart
远程访问
- 方式一:
mongoose.connect('mongodb://username:password@host:port/database?options...',{useMongoClient: true},function(err){
if(err){
console.log(err);
}else{
console.log('数据库连接成功');
//监听http请求
app.listen(8081);
}
});
**注意:username、password为所选数据库database对应的用户名和密码,host为ip地址,port为端口号,options可选。关于mongodb数据库的配置可见NodeJS搭建项目的简单配置与数据库连接
- 方式二
若使用可视化工具,如Robo 3T。则步骤如下:
①创建连接,输入远程地址(数据库的端口号默认为27017)
②选择对应的数据库(admin)
③输入刚刚创建的用户名和密码(例:root 123456)
④测试连接是否成功。
注:阿里云用户需要先开启防火墙,找到 云服务器 ECS 》实例 》管理 》本实例安全组 》配置规则,添加对应的端口号即可。