---恢复内容开始---
在购买了腾讯云主机,部署了nodejs项目之后,发现没有mongo数据库,于是在官网上下载了最新版的mongo数据库。然后就有了下边的一系列问题。
1.先说说基础配置吧。
1)在mongoDB的安装目录下(与bin目录同级),新建文件夹logs(存放日志)、data(存放数据)和mongo.conf文件,文件目录如下:
mongo.conf文件内容如下:
#数据库路径 dbpath=C:\\software\\mongo\\data #日志输出文件路径 logpath=C:\\software\\mongo\\logs\\mongo.log #错误日志采用追加模式 logappend=true #启用日志文件,默认启用 journal=true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false quiet=false #端口号 默认为27017 port=27017
为了方便,写一个windows的bat文件,直接运行吧
bat文件如下:
echo C: cd C:\\software\\mongo\\bin // 到mongo的安装目录 mongod --config "C:\\software\\mongo\\mongo.conf"//刚写的mongo的conf
2. 双击bat运行,会产生如下错误(控制台上什么都没有,但logs文件夹下产生的Log有详细信息):
Remote systems will be unable to connect to this server.
Start the server with --bind_ip <address> to specify which IP
解决方案:
根据提示,在mongo.conf文件中修改为如下的:
#数据库路径 dbpath=C:\\software\\mongo\\data #日志输出文件路径 logpath=C:\\software\\mongo\\logs\\mongo.log #错误日志采用追加模式 logappend=true #启用日志文件,默认启用 journal=true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false quiet=false #绑定地址 bind_ip=10.105.50.13// 注意该地址,我一开始配置的是服务器的地址,也就是腾讯云给分配的地址,会报错 #端口号 默认为27017 port=27017
注意bind_ip, 不能配置为腾讯云给你的公网地址,应该为该服务器的私有地址,可通过ipconfig查看该服务器绑定的地址,当然,绑定127.0.0.1也可以的
3.远程连接数据库,会发现连接不上,这是因为,可参考:http://blog.csdn.net/huyangg/article/details/78772877
因此,需要设置登录权限:
1)按照上述步骤配置完成后,运行,然后,新开一个命令行窗口,运行mongo,然后添加用户,可参考https://docs.mongodb.com/manual/tutorial/change-own-password-and-custom-data/
然后修改配置mongo.conf
#数据库路径 dbpath=C:\\software\\mongo\\data #日志输出文件路径 logpath=C:\\software\\mongo\\logs\\mongo.log #错误日志采用追加模式 logappend=true #启用日志文件,默认启用 journal=true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false quiet=false #绑定地址 bind_ip=10.105.50.13 #添加权限认证 auth=true #端口号 默认为27017 port=27017
2)连接mongo:
mongo -u 用户名 -p 密码 --authenticationDatabase ‘数据库名‘
然后远程连接,我这里采用Robo连接,如图操作
4.nodejs中连接数据库
mongo_dburl:
mongo_dburl:‘mongodb://用户名:密码@mongo数据库地址:端口号/要连接的数据库‘,