下載mongoDB的安裝文件
地址:https://www.mongodb.org/downloads#production?
選擇Linux 64-bit legacy 版本,下載到目標(biāo)服務(wù)器上。
解壓文件
tar -zxvf mongodb-linux-x86_64-3.0.2.tgz
進入解壓后的目錄,把bin文件夾內(nèi)的文件都置為可執(zhí)行權(quán)限
chmod -R 755 bin
這里,我希望把數(shù)據(jù)文件和日志文件都放在data目錄下,在任意位置創(chuàng)建data目錄
mkdir data
進入data,創(chuàng)建數(shù)據(jù)文件目錄
mkdir db
給data目錄賦可寫權(quán)限
我這里粗暴一些,直接777了
chmod -R 777 data
為了便于我們啟動mongoDB,先編寫一個配置文件
我這里把配置文件直接放入了bin目錄下
[plain]view plaincopy
vi?mongodb.conf??
內(nèi)容如下:
[plain]view plaincopy
port=27017??
dbpath=/usr/appdata/mongodb/data/db??
logappend=true??
fork=true??
logpath=/usr/appdata/mongodb/data/logs??
注意,開啟守護進程模式 fork 的時候,一定要設(shè)置log日志;
設(shè)置log日志要注意,logpath的路徑一定要是文件路徑,而不是文件夾路徑。
進入bin目錄,輸入命令
[plain]view plaincopy
./mongod?-f?./mongodb.conf??
這時候會顯示數(shù)據(jù)庫啟動成功
在服務(wù)器本地測試一下,使用命令
[plain]view plaincopy
./mongo?127.0.0.1??
MongoDB?shell?version:?2.6.4??
connecting?to:?127.0.0.1/test??
這標(biāo)識數(shù)據(jù)庫啟動成功
在局域網(wǎng)內(nèi)的其它機器使用工具連接測試一下。
有的小伙伴可能會發(fā)現(xiàn)無法連接,通常這都是防火墻的端口沒有打開造成的
使用命令打開端口
[plain]view plaincopy
開啟端口??
firewall-cmd?--zone=public?--add-port=27017/tcp?--permanent??
查看端口??
firewall-cmd?--permanent?--query-port=27017/tcp??
重啟防火墻??
firewall-cmd?--reload??
注意事項:
a,要加上 ?--permanent 才能保證重啟后也能打開
b,這里最好重啟一下防火墻,有時候開啟端口并不能立即生效,什么原因我也不清楚
好了,現(xiàn)在局域網(wǎng)內(nèi)其它機器也可以連接到數(shù)據(jù)庫了。
centos 7的開機啟動跟之前版本的centos有很大不同?,F(xiàn)在用 systemctl命令代替了之前的chkconfig 和 service 命令
注冊到開機啟動的方法如下:
在系統(tǒng)服務(wù)目錄下新建mongodb的啟動服務(wù),并給與754的權(quán)限
[plain]view plaincopy
cd?/lib/systemd/system??
vi?mongodb.service??
[plain]view plaincopy
chmod?754?mongodb.service??
內(nèi)容如下
[plain]view plaincopy
[Unit]??
Description=mongodb??
After=network.target?remote-fs.target?nss-lookup.target??
[Service]??
Type=forking??
ExecStart=/usr/appdata/mongodb/bin/mongod?-f?/usr/appdata/mongodb/bin/mongodb.conf??
ExecReload=/bin/kill?-s?HUP?$MAINPID??
ExecStop=/usr/appdata/mongodb/bin/mongod?--shutdown?-f?/usr/appdata/mongodb/bin/mongodb.conf??
PrivateTmp=true??
[Install]??
WantedBy=multi-user.target??
路徑必須要寫絕對路徑
[plain]view plaincopy
啟動??
systemctl?start?mongodb.service??
關(guān)閉??
systemctl?stop?mongodb.service??
注冊到開機啟動??
systemctl?enable?mongodb.service??
reboot?
7設(shè)置密碼
mongo 127.0.0.1:27017或者直接./mongo
use admindb.createUser({user:"admin",pwd:"admin1,./",roles:[{role:"readWriteAnyDatabase",db:"admin"}]})