1、创建文件:
cd /usr/local/ mkdir mongodb cd ./mongodb/ mkdir data mkdir log cd ./data/ mkdir db2、cd /usr/local/下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.2.tgz3、解压:
tar -zxvf mongodb-linux-x86_64-4.0.2.tgz4、在/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/profile6、启动mongodb
cd /usr/local/mongodb/bin/ mongod --config mongodb.conf7、添加端口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.service9、建立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() --插入成功