MongoDB官网 https://www.mongodb.com/download-center/community?jmp=nav
注意:下linux版,tgz格式。
下载完成后上传到linux虚拟机。
用vi编辑器打开环境变量配置文件。
vi /etc/profile在文件最后面添加mongo环境变量
export MONGO_HOME=/root/mongodb-linux-x86_64-4.0.10 export PATH=$PATH:$MONGO_HOME/bin使配置的环境变量立即生效
source /etc/profile在mongo根目录下创建db、log两个文件夹,用以存放数据库数据;创建mongo.conf文件用来编写配置信息。
cd /root/mongodb-linux-x86_64-4.0.10 mkdir db mkdir log用vi编辑器打开配置monodb.conf文件
vi /root/mongodb-linux-x86_64-4.0.10/bin/mongodb.conf复制粘贴下面的信息:
注意:第二行和第三行为自己创建的db和log文件夹路径,只用改这两行。
提示:vi编辑器中按字母 i 进入编辑模式,按esc退出键,接着输入 :wq! 回车 保存退出。
port=27017 #端口 dbpath=/root/mongodb-linux-x86_64-4.0.10/db #数据库存文件存放目录 logpath=/root/mongodb-linux-x86_64-4.0.10/log/mongodb.log #日志文件存放路径 logappend=true #使用追加的方式写日志 fork=true #以守护进程的方式运行,创建服务器进程 maxConns=100 #最大同时连接数 #noauth=true #不启用验证 auth=true #启用用户登陆验证 journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。 #即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。 storageEngine=wiredTiger #存储引擎有mmapv1、wiretiger、mongorocks bind_ip = 0.0.0.0 #这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB提示:mongod --config是命令,后面是编写的mongobd.conf配置文件路径,路径和命令直接有个空格。
mongod --config /root/mongodb-linux-x86_64-4.0.10/bin/mongodb.conf创建mongodb.service文件:
vi /lib/systemd/system/mongodb.service //在system目录下打开编辑mongodb.service文件,没有会自动创建在打开的页面填写如下语句:
[Unit] Description=mongodb After=network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/root/mongodb-linux-x86_64-4.0.10/bin/mongod -f /root/mongodb-linux-x86_64-4.0.10/bin/mongodb.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/root/mongodb-linux-x86_64-4.0.10/bin/mongod --shutdown -f /root/mongodb-linux-x86_64-4.0.10/bin/mongodb.conf PrivateTmp=true [Install] WantedBy=multi-user.target提示:
这个文件中的ExecStop、ExecStart这两行是填写的自己mongod和mongodb.conf文件的路径。编辑完成后按 esc退出键 -> 输入 :wq! -> 回车 ,保存退出。注意:
路径一定要写对,我就是因为里面多了个字母d,启动服务是老是报如下错,最后按它报错提示输入 systemctl start mongodb.service 命令查看报错原因,发现是路径错了;而且这里貌似不能有汉字,我加了汉字注释就报这个错。
此外,报这个错有可能是mongodb.conf文件打错字了,应为我们运行启动停止命令其实是运行了mongodb.service文件,而我们在.service文件又指定了mongod文件和mongodb.conf文件路径,所以报这个错只有可能是.service的文件那两个路径不对(前提是service的内容是复制粘贴的,不是自己手打的,要是手打就要好好检查是否都输入正确)。因为mongod文件不是我们编写的,是mongo自带的文件,不可能出错,所以如果路径对那就是.conf文件输入有误。
重启服务器:
配置完服务后一定要重启服务上面配置的文件才会生效。
systemctl daemon-reload给权限:
chmod 754 /lib/systemd/system/mongodb.service启动服务:
systemctl start mongodb.service //启动服务 systemctl stop mongodb.service //关闭服务 systemctl enable mongodb.service //设置开机自启,以后不用手动开启查看mongo端口是否开启:
如果有返回结果就是已启动,如果什么都没有返回则是不启动。
netstat -nltp|grep 27017提示:如果报-bash: netstat: command not found的错,运行安装yum install net-tools即可解决。
因为我们在mongodb.conf文件配置了auth=true (启用用户登陆验证),所以需要创建用户用以登录验证。
use admin db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})这时在用mongo 192.168.0.xxxx:27017方式连接登录就会连接失败,必须要密码才能正常连接
密码连接如下:
mongo 192.168.0.xxx:27017/admin -u root -p 123456如果没有密码也可连接,但是操作数据库却会报错,则需要如下命令登录:
db.auth("root", "123456") //用户名和密码创建删除用户:https://blog.csdn.net/han_cui/article/details/54314728
-----------------------centos7安装mongoDB数据库完毕----------------
1、打开mongo命令窗口
cd /root/mongodb-linux-x86_64-4.0.10/bin/ 运行到mongo的bin目录下 ./mongo 启动运行mongo文件2、创建数据库
use mydb 打开mydb文档,没有会自动创建一个3、添加数据
db.mydb.insert({"name":"zhang","age":"21"})4、查询
db.mydb.find({"name":"zhang"})5、删除
db.mydb.deleteOne({"name":"zhang"})