1、创建文件:
cd /usr/local/
mkdir mongodb
cd ./mongodb/
mkdir data
mkdir log
cd ./data/
mkdir db
2、cd /usr/local/下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.2.tgz
3、解压:
tar -zxvf mongodb-linux-x86_64-4.0.2.tgz
4、在/usr/local/mongodb/bin/目录下创建mongodb.conf
cd ./mongodb/bin/
vi mongodb.conf
内容如下:
dbpath=/usr/local/mongodb/mongodb-linux-x86_64-4.0.2/data/db #数据文件存放目录
logpath=/usr/local/mongodb/mongodb-linux-x86_64-4.0.2/log/mongodb.log #日志文件存放目录
port=27017 #端口,默认27017,可以自定义
logappend=true #开启日志追加添加日志
fork=true #以守护程序的方式启用,即在后台运行
bind_ip=0.0.0.0 #默认是127.0.0.1,开启远程访问
#auth=true(这项暂时不动,因为涉及到auth认证,调试好所有的mongodb的问题后在来弄权限)
5、添加mongodb环境:
cd /etc/profile
在文件最后一行添加:
export MONGODB_HOME=/usr/local/mongodb/mongodb-linux-x86_64-4.0.2
export PATH=$PATH:$MONGODB_HOME/bin
source /etc/profile
6、启动mongodb
cd /usr/local/mongodb/bin/
mongod --config mongodb.conf
7、添加端口27017
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
注意:-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT要加在-A INPUT -j REJECT --reject-with icmp-host-prohibited之前,不然启动无效.
8、mongodb开机启动
设置mongodb.service启动服务
cd /lib/systemd/system
vi mongodb.service
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
RuntimeDirectory=mongodb
RuntimeDirectoryMode=0751
PIDFile=/var/run/mongodb/mongod.pid
ExecStart=/usr/local/mongodb/mongodb-linux-x86_64-4.0.2/bin/mongod --config /usr/local/mongodb/mongodb-linux-x86_64-4.0.2/bin/mongodb.conf
ExecStop=/usr/local/mongodb/mongodb-linux-x86_64-4.0.2/bin/mongod --shutdown --config /usr/local/mongodb/bin/mongodb.conf
PrivateTmp=false
[Install]
WantedBy=multi-user.target
设置mongodb.service权限
chmod 754 mongodb.service
systemctl daemon-reload
系统mongodb.service操作命令
启动服务
systemctl start mongodb.service
关闭服务
systemctl stop mongodb.service
开机启动
systemctl enable mongodb.service
9、建立root账号
mongo 默认谁都可以访问修改 但只有本地 所以我们要配置下
use 哪个就是用哪个数据库 没有就新建 mongo默认会生成一些数据库 如 admin ,config
show dbs -- 看看有哪些数据库
use admin
db.auth("root","123456") -- 注意引号 他是个字符串
返回1 说明身份通过你的身份就是root
use nana -- 以root的身份建立个nana数据库
db.createUser({user:'admin',pwd:'123456', roles: [ "readWrite", "dbAdmin" ]}) -- 为nana创建个管理员用户admin
show users -- 看用户
db.logout() -- 登出root 或者exit
db.websize.insert({title:'哈哈',Tags:['anime','game']}); -- 没权限
db.auth("admin","123456") -- 用nana的admin
db.websize.insert({title:'dorodoroLab',Tags:['dorodro','lab']}); -- 这次有权限
db.websize.find() --插入成功