Mongodb在Centos上的安装,配置,与外网访问
因为我觉得是在没必要在这种破环节浪费时间,所以把具体步骤和遇到的问题列一下。
免得mongodb新手+linux新手遇到这样的问题时浪费太多无意义的时间。
前言
对于一下的说明,如果有什么问题,欢迎反馈。
为了可以让自己有一个简单的排查思路,我 简述下常用到的几个文件:
1,/etc/mongod.conf
mongod的配置文件作用如:配置权限管理方式,配置db的位置,配置日志的位置等。
2,/usr/lib/systemd/system/mongod.service
mongod启动服务的配置文件,作用如:配置启动参数,运行的user和group等。可以用于创建开机自起的服务。
3,/var/log/mongodb/mongod.log
mongod的日志文件,一般错误都会在这里找到原因和解决方法。
1,安装Mongodb
1.1,去官网:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
1.2,对英文没自信,或者阅读应为超慢的,看如下操作
1.2.1,执行Linux命令:vim /etc/yum.repos.d/mongodb-org-3.6.repo。目的是创建文件 ,并编辑
1.2.2,执行Linux命令:yum install -y mongodb-org。目的是下载安装Mongodb
1.2.3,执行Linux命令:mongod -f /etc/mongod.conf。目的 ,直接运行mongod服务,验证Mongodb是否安装成功
1.2.4,执行Linux命令:vim /etc/mongod.conf。目的是编辑Mongod服务的配置文件,使得外网可以访问(vim不会的,直接百度)
1.2.4.1,修改bindId为0.0.0.0 (注意 ,冒号后面一定要有一个空格,否则会解析错误)
1.2.4.2,修改authorization为enabled (注意单词不要拼错)
1.2.4.3,执行命令ps -eaf | grep mongod,找到正在执行的Mongod服务,并用kill杀死。
1.2.4.4,执行mongod -f /etc/mongod.conf,重启mongod服务。
1.2.5,执行Linux命令:mongo localhost :27017,目的是登入mongodb的shell。
1.2.6,执行use databaseName,然后随便差一条记录,目的是创建一个你要用的数据库。
1.2.7,执行Linux命令:db.createUser({user:"userName",pwd:"password",roles:[{role:"dbAdmin",db:"databaseName"}]})。目的是创建一个用户
1.2.8,执行LInux命令:exit,目的是退出当前窗口,用新创建的账号登录。
1.2.9,执行Linux命令:mongo localhost:27017/databaseName -u userName -p password。注意将databaseName,userName,password替换成真实的数据。目的 是登录mongodb窗口。
1.2.10,如果登录成功,可以尝试远程登录,应该没问题。(前提是得有公网IP/域名)
(以上,一旦出现错误,第一时间查看错误,查看日志,多方面验证。不要被问题吓住。应为这种事情本身就没什么逻辑,没有想通的地方,也没必要纠结。)
查看日志脚本:cat /var/log/mongodb/mongod.log
遇到的坑
1,Address already in use linux
原因:端口占用
解决方法:ps命令,查看占用程序,kill掉
2,LoaderExceptions
原因:配置文件,冒号后面少了个空格
解决方法:到配置文件中,修改掉,重启服务就好了
3, Unable to lock the lock file: /var/lib/mongo/mongod.lock
原因:文件锁住了,无法复制
解决方法:直接删掉就好了