mLab 无法使用给我带来了困扰(问题已解决!)

把从本地到服务器上的公开转移是一件烦人的事情。
大致上确定会涉及到各种设置方面的困扰。
这次也是一样。最后总是会遇到麻烦。
上面写着“mLab是一个可以使用mongoDB的DaaS(?)很好”。尝试使用它,但似乎无法从cloud9连接上。
在heroku上部署似乎成功了,但无法连接到数据库,所以无法运行。
其实我只是想简单地从cloud9问一下mLab的数据库里是否有“集合”之类的东西。
从那里开始,感觉就已经无法连接了。
总而言之,但是,如果查看一下heroku上的日志之类的东西,应该就可以知道,写这句话时我有这样的信心。
应该是可以看到日志之类的东西,应该是没有(大概)的,所以得重新找一下,再试一试。
总觉得这样卡住不好玩啊。

补充:第二天

问题已经解决。

我曾经觉得这个题目非常困难,毫无头绪。但是最终我还是成功解决了。

听起来mLab的mongoDB版本和Cloud9的mongoDB版本应该(大致)是一致的。看来由于mongoDB本身的升级,出现了不能正常工作的情况。是的。

可以通过运行”monogo -version”来确认。

当把2.~.~系和3.~.~系一起使用时,好像会被批评说“你没有查看权限!”是的。

那很简单啊。只需要在Cloud9上升级MongoDB的版本就可以了吧。

嗯,唔,我记得在安装MongoDB的时候也遇到了很多困难,我尝试了很多方法。

# sudo apt-get install mongodb-org
你要执行这个命令就可以了。是的。
(参考:https://community.c9.io/t/solved-mongod-command-not-found/6517/2)
(云9这边的规定?或者是预先安装权利的问题?要重新安装一下才能使用MongoDB,之类的)

尽管安装起来很费劲,但升级可能比想象中简单!(真的挺麻烦的。是的)

首先卸载MongoDB,然后安装最新版本!

修正
→ sudo apt-get autoremove mongodb-org

另外,只需按照官方教程(https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/)依次进行。

在Cloud9的终端上,确认Cloud9的Ubuntu版本。
# lsb_release -a
(参考:http://ubulog.blogspot.jp/2007/06/ubuntu.html)

因为反复安装和卸载了多次MongoDB,所以当我启动Mongo时,被告知“mongo.lock还在,喂,伙计”,但是我也解决了这个问题。

在给定的链接中写着:“`”找到并删除 mongo.lock 文件,然后执行 mongo –repair,问题就解决了。”“`

总结(?):

我试着总结一下这次关于くはまりどはまり老师的原因。

1.我对mLab的规范理解不够深入。

→そんなもん、初めて触るんやからしょうがないやろ。と思いつつ、mLab自体はそんな複雑な仕様もなく、かなり簡単なつくりにはなっているようでしたが、「DBはいっこやで。コレクションはたくさんつくってもええけどな」的なつくり、っていうのは、すこしつまづきました。苦労して、バージョンアップを確認したのち、mLabで表示されているコードでやっとDBにつながったあと、DBにつながっているのかの確認で、
# [mongo] show dbs
って打ったら、「権限ないんじゃ、われぇ、でなおせ!」って叱られたからです。すこし焦りましたが、深呼吸一つ。
# [mongo] show collections
って打ったら、さーっと表示されました。
cloud9上にDBを置いてある場合はデータベースもコレクションも適当に作ったり、参照したりしていた身としては、「あーそうっかー」的な感じでした。まぁ、DBをたくさん扱って来た人にとってはDaaS(?)の仕様としては、当然なのかもしれませんが。
あとcollection毎にユーザーとかパスワードとか、設定してからじゃないと接続できない、ってこれは仕様というよりDBさわる人には常識(?)なのでしょうか。まぁ、どっちでもいいんですけど。

2. 对于Unix操作系统的处理

我之前觉得设置和环境构建很麻烦,也不明白(只是学习不够),于是我就说“就跳过环境构建吧,Cloud9太厉害了!”但是当然,如果UNIX、Linux或者Ubuntu出现的话,我一定会惊呼“呃!”。嗯,但现在稍微接触了一些,我就写下了这次学到的东西。

用类似的方式,可以通过“sudo apt-get ~~~(动词)~~~(宾语)”来实现什么什么的。而“yum ~~~~~”不能用,就是这样(笨蛋)。

其实以前稍微接触过一点Ubuntu(为什么会碰到已经记不得了),比如mkdir、rm、vim之类的(虽然打开了vim,但不熟悉,觉得超级麻烦就直接搜索了如何关闭)嗯,这些稍微有点用处吧,大概。

我的感觉

嗯,我本来就觉得这个可能会最麻烦,结果果然出现了麻烦。
我原本以为”mySQL、postgresSQL这些好像挺麻烦的,mongoDB在heroku上部署起来似乎更容易”,结果遇到了这个困境。唉。
嘛,我自己觉得可能克服了最大的难点。

追加说明:查看Heroku上的日志是地道但重要的事项。
# 使用 “heroku logs -t” 命令进行查看。
(参考:http://qiita.com/pugiemonn/items/c4077958b480eb29878d)
因为Cloud9的模拟本地环境与Heroku上的生产环境总会产生一些差异,如果不能捕捉到那里的日志,就无法解决这个问题。写完之后想到了一句话:“似乎并没有经历太多曲折”,但是能够查看Heroku的日志,虽然不起眼但却非常重要。重要。

bannerAds